2 * Header file for the Linux CAN-bus driver.
3 * Written by Arnaud Westenberg email:arnaud@wanadoo.nl
4 * Rewritten for new CAN queues by Pavel Pisa - OCERA team member
5 * email:pisa@cmp.felk.cvut.cz
6 * This software is released under the GPL-License.
7 * Version lincan-0.3 17 Jun 2004
11 #define TS7KV_ID0 0x41
12 #define TS7KV_ID1 0x20
15 #if defined(CONFIG_TS7800_PLATFORM)
16 #define TSXXX_BASE_IO 0xee000000
17 #elif defined(CONFIG_MACH_TS72XX)
18 #define TSXXX_BASE_IO 0x01E00000
19 #elif defined(CONFIG_X86)
20 #define TSXXX_BASE_IO 0x0
24 #if defined(CONFIG_TS7800_PLATFORM)
25 #define TSXXX_IRQ5 64+5
26 #define TSXXX_IRQ6 64+6
27 #define TSXXX_IRQ7 64+7
28 #elif defined(CONFIG_MACH_TS72XX)
32 #elif defined(CONFIG_X86)
38 #define TS7KV_BASE_IO 0xE0
39 #define TS7KV_IO_RANGE 0x8
40 #define TS7KV_CAN_RANGE 0x20
42 #define TS7KV_ID0_REG 0x0
43 #define TS7KV_ID1_REG 0x1
44 #define TS7KV_PLD_REG 0x2
46 #define TS7KV_CTR1_REG 0x4
47 #define TS7KV_CTR2_REG 0x5
48 #define TS7KV_FPGA_REG 0x6
49 #define TS7KV_JMP_REG 0x7
50 #define TS7KV_WIN_REG 0x1E
52 int ts7kv_request_io(struct candevice_t *candev);
53 int ts7kv_release_io(struct candevice_t *candev);
54 int ts7kv_reset(struct candevice_t *candev);
55 int ts7kv_init_hw_data(struct candevice_t *candev);
56 int ts7kv_init_chip_data(struct candevice_t *candev, int chipnr);
57 int ts7kv_init_obj_data(struct canchip_t *chip, int objnr);
58 void ts7kv_write_register(unsigned data, can_ioptr_t address);
59 unsigned ts7kv_read_register(can_ioptr_t address);
60 int ts7kv_program_irq(struct candevice_t *candev);