From d4be58791a6358e85fa1bf139d46f7e80c65eec4 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Tue, 12 Mar 2013 08:56:29 +0100 Subject: colibri_t20/30: can: integrate mcp251x and sja1000 support Integrate CAN support for the Colibri Evaluation Board V3.1a with built-in MCP2515 SPI CAN controller resp. the Colibri Evaluation Board V2.1c with its built-in SJA1000 CAN controller connected to the GMI bus. The following kernel configuration needs to be enabled as well: CONFIG_CAN CONFIG_CAN_RAW CONFIG_CAN_BCM CONFIG_CAN_DEV Plus depending on the Evaluation Board revision: CONFIG_CAN_MCP251X or CONFIG_CAN_SJA1000 CONFIG_CAN_SJA1000_PLATFORM Optional support for 32-bit GMI as well as xPOD CAN on MECS Tellurium for Colibri T20 is provided via commented defines in arch/arm/mach-tegra/board-colibri_t20.h. --- arch/arm/mach-tegra/board-colibri_t30-pinmux.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'arch/arm/mach-tegra/board-colibri_t30-pinmux.c') diff --git a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c index 87692bfa31ff..f02060c3d535 100644 --- a/arch/arm/mach-tegra/board-colibri_t30-pinmux.c +++ b/arch/arm/mach-tegra/board-colibri_t30-pinmux.c @@ -275,6 +275,7 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { DEFAULT_PINMUX(GMI_WAIT, GMI, NORMAL, TRISTATE, OUTPUT), //GPIO PU6: MMC_CD DEFAULT_PINMUX(GMI_WP_N, RSVD1, NORMAL, NORMAL, INPUT), +//gated, multiplexed LCD_CS1_N or LCD_WR_N DEFAULT_PINMUX(GMI_WR_N, GMI, NORMAL, NORMAL, INPUT), #endif /* COLIBRI_T30_V10 */ @@ -430,7 +431,11 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { DEFAULT_PINMUX(LCD_SDOUT, DISPLAYA, NORMAL, NORMAL, INPUT), DEFAULT_PINMUX(LCD_VSYNC, DISPLAYA, NORMAL, NORMAL, INPUT), //multiplexed with SDMMC3_DAT4 gated GMI_WR_N +#if !defined(CONFIG_CAN_SJA1000) && !defined(CONFIG_CAN_SJA1000_MODULE) DEFAULT_PINMUX(LCD_WR_N, RSVD, NORMAL, NORMAL, INPUT), +#else /* CONFIG_CAN_SJA1000 & CONFIG_CAN_SJA1000_MODULE */ + DEFAULT_PINMUX(LCD_WR_N, RSVD, NORMAL, TRISTATE, INPUT), +#endif /* CONFIG_CAN_SJA1000 & CONFIG_CAN_SJA1000_MODULE */ //multiplexed GMI_CLK DEFAULT_PINMUX(OWR, OWR, NORMAL, NORMAL, INPUT), //GPIO DD2: LAN_VBUS @@ -502,8 +507,13 @@ static __initdata struct tegra_pingroup_config colibri_t30_pinmux[] = { #else DEFAULT_PINMUX(SDMMC3_DAT3, PWM0, NORMAL, NORMAL, INPUT), #endif +#if defined(CONFIG_CAN_SJA1000) || defined(CONFIG_CAN_SJA1000_MODULE) +//not tri-stating GMI_WR_N on nPWE SODIMM pin 99 + DEFAULT_PINMUX(SDMMC3_DAT4, SDMMC3, PULL_DOWN, TRISTATE, OUTPUT), +#else /* CONFIG_CAN_SJA1000) | CONFIG_CAN_SJA1000_MODULE */ //tri-stating GMI_WR_N on nPWE SODIMM pin 99 DEFAULT_PINMUX(SDMMC3_DAT4, SDMMC3, PULL_UP, TRISTATE, OUTPUT), +#endif /* CONFIG_CAN_SJA1000) | CONFIG_CAN_SJA1000_MODULE */ //not tri-stating GMI_WR_N on RDnWR SODIMM pin 93 DEFAULT_PINMUX(SDMMC3_DAT5, SDMMC3, PULL_DOWN, TRISTATE, OUTPUT), //multiplexed ULPI_STP used as SSPFRM -- cgit v1.2.3