From 9b547f7736be2c3874a0430159d838f6d39eaf0a Mon Sep 17 00:00:00 2001 From: Rebecca Schultz Zavin Date: Mon, 21 Jun 2010 15:39:58 -0700 Subject: [PATCH] [ARM] tegra: Add w1 support to stingray board files Change-Id: I422d70ce5875dda11a29a5d30fa39c37776ca9e4 Signed-off-by: Andrei Warkentin --- arch/arm/mach-tegra/board-stingray-pinmux.c | 4 +-- arch/arm/mach-tegra/board-stingray.c | 29 +++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-tegra/board-stingray-pinmux.c b/arch/arm/mach-tegra/board-stingray-pinmux.c index 7c8c1c6be5ee..fcea39e8496a 100644 --- a/arch/arm/mach-tegra/board-stingray-pinmux.c +++ b/arch/arm/mach-tegra/board-stingray-pinmux.c @@ -102,7 +102,7 @@ static __initdata struct tegra_pingroup_config stingray_pinmux[] = { {TEGRA_PINGROUP_LVP0, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_LVP1, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_LVS, TEGRA_MUX_DISPLAYA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, - {TEGRA_PINGROUP_OWC, TEGRA_MUX_OWR, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_OWC, TEGRA_MUX_OWR, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_PMC, TEGRA_MUX_PWR_ON, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_PTA, TEGRA_MUX_RSVD4, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_RM, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, @@ -126,7 +126,7 @@ static __initdata struct tegra_pingroup_config stingray_pinmux[] = { {TEGRA_PINGROUP_SPIH, TEGRA_MUX_SPI2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_UAA, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, {TEGRA_PINGROUP_UAB, TEGRA_MUX_ULPI, TEGRA_PUPD_PULL_UP, TEGRA_TRI_TRISTATE}, - {TEGRA_PINGROUP_UAC, TEGRA_MUX_OWR, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_UAC, TEGRA_MUX_RSVD2, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_UAD, TEGRA_MUX_IRDA, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_UCA, TEGRA_MUX_UARTC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_UCB, TEGRA_MUX_UARTC, TEGRA_PUPD_PULL_UP, TEGRA_TRI_NORMAL}, diff --git a/arch/arm/mach-tegra/board-stingray.c b/arch/arm/mach-tegra/board-stingray.c index c9d44eca8380..3483faa74aa8 100644 --- a/arch/arm/mach-tegra/board-stingray.c +++ b/arch/arm/mach-tegra/board-stingray.c @@ -35,6 +35,7 @@ #include #include +#include #include #include #include @@ -317,6 +318,28 @@ static struct platform_device bcm4329_rfkill = { .id = -1, }; +static struct tegra_w1_timings tegra_w1_platform_timings = { + .tsu = 0x1, + .trelease = 0xf, + .trdv = 0xf, + .tlow0 = 0x3c, + .tlow1 = 0x1, + .tslot = 0x77, + + .tpdl = 0x78, + .tpdh = 0x1e, + .trstl = 0x1df, + .trsth = 0x1df, + + .rdsclk = 0x7, + .psclk = 0x50, +}; + +static struct tegra_w1_platform_data tegra_w1_pdata = { + .clk_id = NULL, + .timings = &tegra_w1_platform_timings, +}; + static struct platform_device *stingray_devices[] __initdata = { &debug_uart, &tegra_otg, @@ -412,6 +435,11 @@ static int __init parse_tag_bdaddr(const struct tag *tag) __tagtable(ATAG_BDADDR, parse_tag_bdaddr); +static void stingray_w1_init(void) +{ + tegra_w1_device.dev.platform_data = &tegra_w1_pdata; + platform_device_register(&tegra_w1_device); +} static void __init tegra_stingray_fixup(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) @@ -521,6 +549,7 @@ static void __init tegra_stingray_init(void) stingray_spi_init(); stingray_panel_init(); stingray_sdhci_init(); + stingray_w1_init(); stingray_sensors_init(); stingray_wlan_init(); } -- 2.34.1