Christian Pellegrin | e000016 | 2009-11-02 23:07:00 +0000 | [diff] [blame] | 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 |
Enric Balletbo i Serra | 34206f2 | 2011-04-05 07:08:41 +0000 | [diff] [blame] | 15 | * @irq_flags: - IRQF configuration flags |
Christian Pellegrin | e000016 | 2009-11-02 23:07:00 +0000 | [diff] [blame] | 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; |
Enric Balletbo i Serra | 34206f2 | 2011-04-05 07:08:41 +0000 | [diff] [blame] | 28 | unsigned long irq_flags; |
Christian Pellegrin | e000016 | 2009-11-02 23:07:00 +0000 | [diff] [blame] | 29 | int (*board_specific_setup)(struct spi_device *spi); |
| 30 | int (*transceiver_enable)(int enable); |
| 31 | int (*power_enable) (int enable); |
| 32 | }; |
| 33 | |
| 34 | #endif /* __CAN_PLATFORM_MCP251X_H__ */ |