diff options
author | Dmitry Lifshitz <lifshitz@compulab.co.il> | 2014-01-12 17:22:54 +0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2014-03-01 02:09:14 +0400 |
commit | fb45105a838f8806f908a9fdf1269355b5daac56 (patch) | |
tree | f9c2e5c428d7ea9723dfd84ecc08c9c4006a952c /arch/arm/mach-omap2/pdata-quirks.c | |
parent | 40ecc02e571c78de8fadc4a0d4ba9a92f4ed8fad (diff) | |
download | linux-fb45105a838f8806f908a9fdf1269355b5daac56.tar.xz |
ARM: dts: sbc-t3517: add support for sbc-t3517
Add support for CM-T3517 CoM and SBC-T3517 board.
reused common support for sbc-t3x boards
(omap3-cm-t3x.dtsi, omap3-sb-t35.dtsi):
* SB-T35 baseboard eth
* MMC1, UART3
* HS USB Port 1/2
* I2C1/3
* Heartbit led
Added basic support for:
* MMC1 wp/cd signals
* CM-T3517 Usb Hub
* WL12xx WiFi chip
* Davinci EMAC
* AM35X OTG
Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/pdata-quirks.c')
-rw-r--r-- | arch/arm/mach-omap2/pdata-quirks.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c index 4f2591eaa17c..1ee831fc5d0e 100644 --- a/arch/arm/mach-omap2/pdata-quirks.c +++ b/arch/arm/mach-omap2/pdata-quirks.c @@ -165,7 +165,7 @@ static struct emac_platform_data am35xx_emac_pdata = { .interrupt_disable = am35xx_disable_emac_int, }; -static void __init am3517_evm_legacy_init(void) +static void __init am35xx_emac_reset(void) { u32 v; @@ -174,6 +174,41 @@ static void __init am3517_evm_legacy_init(void) omap_ctrl_writel(v, AM35XX_CONTROL_IP_SW_RESET); omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); /* OCP barrier */ } + +static struct gpio cm_t3517_wlan_gpios[] __initdata = { + { 56, GPIOF_OUT_INIT_HIGH, "wlan pwr" }, + { 4, GPIOF_OUT_INIT_HIGH, "xcvr noe" }, +}; + +static void __init omap3_sbc_t3517_wifi_init(void) +{ + int err = gpio_request_array(cm_t3517_wlan_gpios, + ARRAY_SIZE(cm_t3517_wlan_gpios)); + if (err) { + pr_err("SBC-T3517: wl12xx gpios request failed: %d\n", err); + return; + } + + gpio_export(cm_t3517_wlan_gpios[0].gpio, 0); + gpio_export(cm_t3517_wlan_gpios[1].gpio, 0); + + msleep(100); + gpio_set_value(cm_t3517_wlan_gpios[1].gpio, 0); +} + +static void __init omap3_sbc_t3517_legacy_init(void) +{ + am35xx_emac_reset(); + hsmmc2_internal_input_clk(); + omap3_sbc_t3517_wifi_init(); + legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145); + omap_ads7846_init(1, 57, 0, NULL); +} + +static void __init am3517_evm_legacy_init(void) +{ + am35xx_emac_reset(); +} #endif /* CONFIG_ARCH_OMAP3 */ #ifdef CONFIG_ARCH_OMAP4 @@ -263,6 +298,7 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { */ static struct pdata_init pdata_quirks[] __initdata = { #ifdef CONFIG_ARCH_OMAP3 + { "compulab,omap3-sbc-t3517", omap3_sbc_t3517_legacy_init, }, { "compulab,omap3-sbc-t3530", omap3_sbc_t3530_legacy_init, }, { "compulab,omap3-sbc-t3730", omap3_sbc_t3730_legacy_init, }, { "nokia,omap3-n900", hsmmc2_internal_input_clk, }, |