diff options
author | Olof Johansson <olof@lixom.net> | 2013-09-26 08:21:38 +0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-09-26 08:21:38 +0400 |
commit | f7df257a2cb0856aa3375316e8cc6d40c2c9cbe4 (patch) | |
tree | da41ff80ee2a444e1e8666d9a87079a4006a673e | |
parent | 4a10c2ac2f368583138b774ca41fac4207911983 (diff) | |
parent | 2c5a7424dae5e34b977716f9f0ab8a99d00cc7bc (diff) | |
download | linux-f7df257a2cb0856aa3375316e8cc6d40c2c9cbe4.tar.xz |
Merge tag 'for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/cleanup
From Linus Walleij:
These three patches tear out the remaining AUXDATA in the
Nomadik platform and replace it with device tree.
Corresponding driver changes are coming from respective
subsystem tree and there are no build dependencies.
- Update device tree for VMMC regulator data
- Supply SD/MMC voltage from the VMMC regulator
- Delete auxdata for SD/MMC card and rely on DT only
- Update device tree for FSMC NAND merged for v3.12-rc1
- Delete auxdata for FSMC NAND
* tag 'for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: nomadik: delete FSMC platform data
ARM: nomadik: delete MMCI platform data
ARM: nomadik: register VMMC regulator
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | 12 | ||||
-rw-r--r-- | arch/arm/mach-nomadik/cpu-8815.c | 35 |
2 files changed, 11 insertions, 36 deletions
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi index 9169d3025f39..79425e3836ce 100644 --- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi @@ -653,6 +653,7 @@ reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; clocks = <&hclksmc>; status = "okay"; + timings = /bits/ 8 <0 0 0 0x10 0x0a 0>; partition@0 { label = "X-Loader(NAND)"; @@ -707,8 +708,14 @@ pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>; stw4811@2d { - compatible = "st,stw4811"; - reg = <0x2d>; + compatible = "st,stw4811"; + reg = <0x2d>; + vmmc_regulator: vmmc { + compatible = "st,stw481x-vmmc"; + regulator-name = "VMMC"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + }; }; }; @@ -839,6 +846,7 @@ cd-inverted; pinctrl-names = "default"; pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; + vmmc-supply = <&vmmc_regulator>; }; }; }; diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c index 13e0df9c11ce..c6c156e5570e 100644 --- a/arch/arm/mach-nomadik/cpu-8815.c +++ b/arch/arm/mach-nomadik/cpu-8815.c @@ -31,9 +31,7 @@ #include <linux/of_gpio.h> #include <linux/of_address.h> #include <linux/of_platform.h> -#include <linux/mtd/fsmc.h> #include <linux/gpio.h> -#include <linux/amba/mmci.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> @@ -146,17 +144,6 @@ static void __init cpu8815_timer_init_of(void) clocksource_of_init(); } -static struct fsmc_nand_timings cpu8815_nand_timings = { - .thiz = 0, - .thold = 0x10, - .twait = 0x0A, - .tset = 0, -}; - -static struct fsmc_nand_platform_data cpu8815_nand_data = { - .nand_timings = &cpu8815_nand_timings, -}; - /* * The SMSC911x IRQ is connected to a GPIO pin, but the driver expects * to simply request an IRQ passed as a resource. So the GPIO pin needs @@ -190,15 +177,6 @@ static int __init cpu8815_eth_init(void) device_initcall(cpu8815_eth_init); /* - * TODO: - * cannot be set from device tree, convert to a proper DT - * binding. - */ -static struct mmci_platform_data mmcsd_plat_data = { - .ocr_mask = MMC_VDD_29_30, -}; - -/* * This GPIO pin turns on a line that is used to detect card insertion * on this board. */ @@ -232,24 +210,13 @@ static int __init cpu8815_mmcsd_init(void) } device_initcall(cpu8815_mmcsd_init); - -/* These are mostly to get the right device names for the clock lookups */ -static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { - OF_DEV_AUXDATA("stericsson,fsmc-nand", NOMADIK_FSMC_BASE, - NULL, &cpu8815_nand_data), - OF_DEV_AUXDATA("arm,primecell", NOMADIK_SDI_BASE, - NULL, &mmcsd_plat_data), - { /* sentinel */ }, -}; - static void __init cpu8815_init_of(void) { #ifdef CONFIG_CACHE_L2X0 /* At full speed latency must be >=2, so 0x249 in low bits */ l2x0_of_init(0x00730249, 0xfe000fff); #endif - of_platform_populate(NULL, of_default_bus_match_table, - cpu8815_auxdata_lookup, NULL); + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); } static const char * cpu8815_board_compat[] = { |