]> git.karo-electronics.de Git - mv-sheeva.git/blob - include/linux/can/platform/mcp251x.h
dba28268e651931d8b3094438158d15c10d3ca2c
[mv-sheeva.git] / include / linux / can / platform / mcp251x.h
1 #ifndef __CAN_PLATFORM_MCP251X_H__
2 #define __CAN_PLATFORM_MCP251X_H__
3
4 /*
5  *
6  * CAN bus driver for Microchip 251x CAN Controller with SPI Interface
7  *
8  */
9
10 #include <linux/spi/spi.h>
11
12 /**
13  * struct mcp251x_platform_data - MCP251X SPI CAN controller platform data
14  * @oscillator_frequency:       - oscillator frequency in Hz
15  * @model:                      - actual type of chip
16  * @board_specific_setup:       - called before probing the chip (power,reset)
17  * @transceiver_enable:         - called to power on/off the transceiver
18  * @power_enable:               - called to power on/off the mcp *and* the
19  *                                transceiver
20  *
21  * Please note that you should define power_enable or transceiver_enable or
22  * none of them. Defining both of them is no use.
23  *
24  */
25
26 struct mcp251x_platform_data {
27         unsigned long oscillator_frequency;
28         int model;
29 #define CAN_MCP251X_MCP2510 0x2510
30 #define CAN_MCP251X_MCP2515 0x2515
31         int (*board_specific_setup)(struct spi_device *spi);
32         int (*transceiver_enable)(int enable);
33         int (*power_enable) (int enable);
34 };
35
36 #endif /* __CAN_PLATFORM_MCP251X_H__ */