mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 00:46:55 +07:00
34206f2671
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>
35 lines
1.0 KiB
C
35 lines
1.0 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__ */
|