summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-apalis_t30.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/board-apalis_t30.c')
-rw-r--r--arch/arm/mach-tegra/board-apalis_t30.c36
1 files changed, 26 insertions, 10 deletions
diff --git a/arch/arm/mach-tegra/board-apalis_t30.c b/arch/arm/mach-tegra/board-apalis_t30.c
index d7e5396220e9..a10064ae73ca 100644
--- a/arch/arm/mach-tegra/board-apalis_t30.c
+++ b/arch/arm/mach-tegra/board-apalis_t30.c
@@ -278,6 +278,12 @@ static struct platform_device soc_camera_as0260soc = {
/* CAN */
#if defined(CONFIG_CAN_MCP251X) || defined(CONFIG_CAN_MCP251X_MODULE)
+static struct tegra_spi_device_controller_data mcp251x_controller_data = {
+ .cs_hold_clk_count = 1, /* at least 50 ns */
+ .cs_setup_clk_count = 1, /* at least 50 ns */
+ .is_hw_based_cs = 1,
+};
+
static struct mcp251x_platform_data can_pdata = {
.oscillator_frequency = 16000000,
.power_enable = NULL,
@@ -286,18 +292,20 @@ static struct mcp251x_platform_data can_pdata = {
static struct spi_board_info can_board_info[] = {
{
- .bus_num = 1, /* SPI2: CAN1 */
- .chip_select = 0,
- .max_speed_hz = 10000000,
- .modalias = "mcp2515",
- .platform_data = &can_pdata,
+ .bus_num = 1, /* SPI2: CAN1 */
+ .chip_select = 0,
+ .controller_data = &mcp251x_controller_data,
+ .max_speed_hz = 10000000,
+ .modalias = "mcp2515",
+ .platform_data = &can_pdata,
},
{
- .bus_num = 3, /* SPI4: CAN2 */
- .chip_select = 1,
- .max_speed_hz = 10000000,
- .modalias = "mcp2515",
- .platform_data = &can_pdata,
+ .bus_num = 3, /* SPI4: CAN2 */
+ .chip_select = 1,
+ .controller_data = &mcp251x_controller_data,
+ .max_speed_hz = 10000000,
+ .modalias = "mcp2515",
+ .platform_data = &can_pdata,
},
};
@@ -803,10 +811,17 @@ static void apalis_t30_sata_init(void) { }
/* SPI */
#if defined(CONFIG_SPI_TEGRA) && defined(CONFIG_SPI_SPIDEV)
+static struct tegra_spi_device_controller_data spidev_controller_data = {
+ .cs_hold_clk_count = 1,
+ .cs_setup_clk_count = 1,
+ .is_hw_based_cs = 1,
+};
+
static struct spi_board_info tegra_spi_devices[] __initdata = {
{
.bus_num = 0, /* SPI1: Apalis SPI1 */
.chip_select = 0,
+ .controller_data = &spidev_controller_data,
.irq = 0,
.max_speed_hz = 50000000,
.modalias = "spidev",
@@ -816,6 +831,7 @@ static struct spi_board_info tegra_spi_devices[] __initdata = {
{
.bus_num = 4, /* SPI5: Apalis SPI2 */
.chip_select = 2,
+ .controller_data = &spidev_controller_data,
.irq = 0,
.max_speed_hz = 50000000,
.modalias = "spidev",