]> rtime.felk.cvut.cz Git - lincan.git/blob - lincan/include/ns_dev_can.h
Merge: Correction for 2.6.23-git kernel - unregister_chrdev() does not return value.
[lincan.git] / lincan / include / ns_dev_can.h
1 /* ns_dev_can.h - FPGA version of C_CAN ARM device specific code
2  * Linux CAN-bus device driver.
3  * Written by Sebastian Stolzenberg email:stolzi@sebastian-stolzenberg.de
4  * Based on code from Arnaud Westenberg email:arnaud@wanadoo.nl
5  * and Ake Hedman, eurosource, akhe@eurosource.se
6  * Rewritten for new CAN queues by Pavel Pisa - OCERA team member
7  * Ported to FS Forth-Systeme GmbH A9M9750DEVx development boards
8  * email:nbryan@embebidos.com
9  * This software is released under the GPL-License.
10  * Version lincan-0.3  17 Jun 2004
11  * This port 19 May 2005
12  *
13  */
14
15 #ifndef __NS_DEV_CAN__
16 #define __NS_DEV_CAN__
17
18 int ns_dev_init_hw_data(struct candevice_t *candev);
19 int ns_dev_init_chip_data(struct candevice_t *candev, int chipnr);
20 int ns_dev_request_io(struct candevice_t *candev);
21 int ns_dev_release_io(struct candevice_t *candev);
22 int ns_dev_reset(struct candevice_t *candev);
23 void ns_dev_write_register(unsigned data, can_ioptr_t address);
24 unsigned ns_dev_read_register(can_ioptr_t address);
25
26 int ns_dev_init_obj_data(struct canchip_t *chip, int objnr);
27 int ns_dev_program_irq(struct candevice_t *candev);
28
29 #define NS9750_PERIPHERAL_BASE_ADDRESS    0xA0700000
30 #define NS9750_PERIPHERAL_MAP_SIZE        0x400
31 #define NS9750_SYSTEM_CONTROLLER_OFFSET   0x240
32
33 #define BUS_WIDTH_16BIT                   1
34 #define ACTIVE_LOW_CHIP_SELECT            (1<<7)
35
36 #define C_CAN_CLOCK_INPUT_FREQUENCY       20000000
37
38 #endif /* __NS_DEV_CAN__ */