aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 18:38:49 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 18:38:49 -0500
commita8f3740feb12928be1aad19659bf3527ea8d6d96 (patch)
treef455479d5b9edd38ed2ca2ab878d2217025960db /arch/arm/mach-davinci
parent6c5096e5538b455bc3bea2b02588c380f070d8c6 (diff)
parent89dfe564b5926297ee29b973fe75e25c83c5e615 (diff)
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device tree conversions from Arnd Bergmann: "These are device tree conversions for a number of platforms, with the intention of turning code from board files into device tree descriptions. Notable changes are: - davinci bindings for pinctrl, MTD, RTC, watchdog and i2c - nomadik bindings for all devices, removing the board files - bcm2835 bindings for mmc and i2c - tegra bindings for hdmi, keyboard, audio, as well as some updates - at91 bindings for hardware ecc and for devices on RM9200 - mxs bindings for cfa100xx - sunxi support for Miniand Hackberry board" * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (72 commits) Revert "sunxi: a10-cubieboard: Add user LEDs to the device tree" Revert "sunxi: a13-olinuxino: Add user LED to the device tree" clk: tegra: initialise parent of uart clocks ARM: tegra: remove clock-frequency properties from serial nodes clk: tegra: fix driver to match DT binding clk: tegra: local arrays should be static clk: tegra: Add missing spinlock for hclk and pclk clk: tegra: Implement locking for super clock clk: tegra: fix wrong clock index between se to sata_cold sunxi: a13-olinuxino: Add user LED to the device tree ARM: davinci: da850 DT: add support for machine reboot ARM: davinci: da850: add wdt DT node ARM: davinci: da850: add DT node for I2C0 ARM: at91: at91sam9n12: add DT parameters to enable PMECC ARM: at91: at91sam9x5: add DT parameters to enable PMECC ARM: at91: add EMAC bindings to RM9200 DT ARM: at91: add SSC bindings to RM9200 DT ARM: at91: add MMC bindings to RM9200 DT ARM: at91: Animeo IP: enable watchdog support ARM: nomadik: fix OF compilation regression ...
Diffstat (limited to 'arch/arm/mach-davinci')
-rw-r--r--arch/arm/mach-davinci/Kconfig1
-rw-r--r--arch/arm/mach-davinci/da8xx-dt.c9
-rw-r--r--arch/arm/mach-davinci/devices-da8xx.c12
-rw-r--r--arch/arm/mach-davinci/include/mach/da8xx.h1
4 files changed, 19 insertions, 4 deletions
diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index 0153950f6068..a075b3e0c5c7 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -62,6 +62,7 @@ config MACH_DA8XX_DT
62 bool "Support DA8XX platforms using device tree" 62 bool "Support DA8XX platforms using device tree"
63 default y 63 default y
64 depends on ARCH_DAVINCI_DA8XX 64 depends on ARCH_DAVINCI_DA8XX
65 select PINCTRL
65 help 66 help
66 Say y here to include support for TI DaVinci DA850 based using 67 Say y here to include support for TI DaVinci DA850 based using
67 Flattened Device Tree. More information at Documentation/devicetree 68 Flattened Device Tree. More information at Documentation/devicetree
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index 9a7c76efc8f8..6b7a0a27fbd1 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -37,11 +37,18 @@ static void __init da8xx_init_irq(void)
37 of_irq_init(da8xx_irq_match); 37 of_irq_init(da8xx_irq_match);
38} 38}
39 39
40struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
41 OF_DEV_AUXDATA("ti,davinci-i2c", 0x01c22000, "i2c_davinci.1", NULL),
42 OF_DEV_AUXDATA("ti,davinci-wdt", 0x01c21000, "watchdog", NULL),
43 {}
44};
45
40#ifdef CONFIG_ARCH_DAVINCI_DA850 46#ifdef CONFIG_ARCH_DAVINCI_DA850
41 47
42static void __init da850_init_machine(void) 48static void __init da850_init_machine(void)
43{ 49{
44 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 50 of_platform_populate(NULL, of_default_bus_match_table,
51 da850_auxdata_lookup, NULL);
45 52
46 da8xx_uart_clk_enable(); 53 da8xx_uart_clk_enable();
47} 54}
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c
index aa402bc160c8..fc50243b1481 100644
--- a/arch/arm/mach-davinci/devices-da8xx.c
+++ b/arch/arm/mach-davinci/devices-da8xx.c
@@ -359,7 +359,7 @@ static struct resource da8xx_watchdog_resources[] = {
359 }, 359 },
360}; 360};
361 361
362struct platform_device da8xx_wdt_device = { 362static struct platform_device da8xx_wdt_device = {
363 .name = "watchdog", 363 .name = "watchdog",
364 .id = -1, 364 .id = -1,
365 .num_resources = ARRAY_SIZE(da8xx_watchdog_resources), 365 .num_resources = ARRAY_SIZE(da8xx_watchdog_resources),
@@ -368,7 +368,15 @@ struct platform_device da8xx_wdt_device = {
368 368
369void da8xx_restart(char mode, const char *cmd) 369void da8xx_restart(char mode, const char *cmd)
370{ 370{
371 davinci_watchdog_reset(&da8xx_wdt_device); 371 struct device *dev;
372
373 dev = bus_find_device_by_name(&platform_bus_type, NULL, "watchdog");
374 if (!dev) {
375 pr_err("%s: failed to find watchdog device\n", __func__);
376 return;
377 }
378
379 davinci_watchdog_reset(to_platform_device(dev));
372} 380}
373 381
374int __init da8xx_register_watchdog(void) 382int __init da8xx_register_watchdog(void)
diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h
index 1b14aea40310..de439b7b9af1 100644
--- a/arch/arm/mach-davinci/include/mach/da8xx.h
+++ b/arch/arm/mach-davinci/include/mach/da8xx.h
@@ -110,7 +110,6 @@ extern struct emac_platform_data da8xx_emac_pdata;
110extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata; 110extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata;
111extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata; 111extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata;
112 112
113extern struct platform_device da8xx_wdt_device;
114 113
115extern const short da830_emif25_pins[]; 114extern const short da830_emif25_pins[];
116extern const short da830_spi0_pins[]; 115extern const short da830_spi0_pins[];