mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-04-27 08:33:48 +00:00
When an interrupt occurs, the INT pin is driven low by the MCP251x controller (falling edge) but in some cases the INT pin can be connected to the MPU through a transistor or level translator which inverts this signal. In this case interrupt should be configured in rising edge. This patch adds support to pass the IRQ flags via mcp251x_platform_data. Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
34 lines
1 KiB
C
34 lines
1 KiB
C
#ifndef __CAN_PLATFORM_MCP251X_H__
|
|
#define __CAN_PLATFORM_MCP251X_H__
|
|
|
|
/*
|
|
*
|
|
* CAN bus driver for Microchip 251x CAN Controller with SPI Interface
|
|
*
|
|
*/
|
|
|
|
#include <linux/spi/spi.h>
|
|
|
|
/**
|
|
* struct mcp251x_platform_data - MCP251X SPI CAN controller platform data
|
|
* @oscillator_frequency: - oscillator frequency in Hz
|
|
* @irq_flags: - IRQF configuration flags
|
|
* @board_specific_setup: - called before probing the chip (power,reset)
|
|
* @transceiver_enable: - called to power on/off the transceiver
|
|
* @power_enable: - called to power on/off the mcp *and* the
|
|
* transceiver
|
|
*
|
|
* Please note that you should define power_enable or transceiver_enable or
|
|
* none of them. Defining both of them is no use.
|
|
*
|
|
*/
|
|
|
|
struct mcp251x_platform_data {
|
|
unsigned long oscillator_frequency;
|
|
unsigned long irq_flags;
|
|
int (*board_specific_setup)(struct spi_device *spi);
|
|
int (*transceiver_enable)(int enable);
|
|
int (*power_enable) (int enable);
|
|
};
|
|
|
|
#endif /* __CAN_PLATFORM_MCP251X_H__ */
|