blob: 089fe43211a492ec8258256b63a07a90ca2660b7 [file] [log] [blame]
Christian Pellegrine0000162009-11-02 23:07:00 +00001#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 Serra34206f22011-04-05 07:08:41 +000015 * @irq_flags: - IRQF configuration flags
Christian Pellegrine0000162009-11-02 23:07:00 +000016 * @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
26struct mcp251x_platform_data {
27 unsigned long oscillator_frequency;
Enric Balletbo i Serra34206f22011-04-05 07:08:41 +000028 unsigned long irq_flags;
Christian Pellegrine0000162009-11-02 23:07:00 +000029 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__ */