diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:38:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:38:49 -0500 |
commit | a8f3740feb12928be1aad19659bf3527ea8d6d96 (patch) | |
tree | f455479d5b9edd38ed2ca2ab878d2217025960db /arch/arm/mach-davinci | |
parent | 6c5096e5538b455bc3bea2b02588c380f070d8c6 (diff) | |
parent | 89dfe564b5926297ee29b973fe75e25c83c5e615 (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/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/da8xx-dt.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-davinci/devices-da8xx.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/da8xx.h | 1 |
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 | ||
40 | struct 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 | ||
42 | static void __init da850_init_machine(void) | 48 | static 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 | ||
362 | struct platform_device da8xx_wdt_device = { | 362 | static 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 | ||
369 | void da8xx_restart(char mode, const char *cmd) | 369 | void 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 | ||
374 | int __init da8xx_register_watchdog(void) | 382 | int __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; | |||
110 | extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata; | 110 | extern struct da8xx_lcdc_platform_data sharp_lcd035q3dg01_pdata; |
111 | extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata; | 111 | extern struct da8xx_lcdc_platform_data sharp_lk043t1dg01_pdata; |
112 | 112 | ||
113 | extern struct platform_device da8xx_wdt_device; | ||
114 | 113 | ||
115 | extern const short da830_emif25_pins[]; | 114 | extern const short da830_emif25_pins[]; |
116 | extern const short da830_spi0_pins[]; | 115 | extern const short da830_spi0_pins[]; |