Commit f7df257a authored by Olof Johansson's avatar Olof Johansson

Merge tag 'for-arm-soc' of...

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: default avatarOlof Johansson <olof@lixom.net>
parents 4a10c2ac 2c5a7424
...@@ -653,6 +653,7 @@ fsmc: flash@40000000 { ...@@ -653,6 +653,7 @@ fsmc: flash@40000000 {
reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
clocks = <&hclksmc>; clocks = <&hclksmc>;
status = "okay"; status = "okay";
timings = /bits/ 8 <0 0 0 0x10 0x0a 0>;
partition@0 { partition@0 {
label = "X-Loader(NAND)"; label = "X-Loader(NAND)";
...@@ -707,8 +708,14 @@ i2c0 { ...@@ -707,8 +708,14 @@ i2c0 {
pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>; pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>;
stw4811@2d { stw4811@2d {
compatible = "st,stw4811"; compatible = "st,stw4811";
reg = <0x2d>; reg = <0x2d>;
vmmc_regulator: vmmc {
compatible = "st,stw481x-vmmc";
regulator-name = "VMMC";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
};
}; };
}; };
...@@ -839,6 +846,7 @@ mmcsd: sdi@101f6000 { ...@@ -839,6 +846,7 @@ mmcsd: sdi@101f6000 {
cd-inverted; cd-inverted;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>; pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
vmmc-supply = <&vmmc_regulator>;
}; };
}; };
}; };
...@@ -31,9 +31,7 @@ ...@@ -31,9 +31,7 @@
#include <linux/of_gpio.h> #include <linux/of_gpio.h>
#include <linux/of_address.h> #include <linux/of_address.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/mtd/fsmc.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/amba/mmci.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
...@@ -146,17 +144,6 @@ static void __init cpu8815_timer_init_of(void) ...@@ -146,17 +144,6 @@ static void __init cpu8815_timer_init_of(void)
clocksource_of_init(); 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 * 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 * to simply request an IRQ passed as a resource. So the GPIO pin needs
...@@ -189,15 +176,6 @@ static int __init cpu8815_eth_init(void) ...@@ -189,15 +176,6 @@ static int __init cpu8815_eth_init(void)
} }
device_initcall(cpu8815_eth_init); 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 * This GPIO pin turns on a line that is used to detect card insertion
* on this board. * on this board.
...@@ -232,24 +210,13 @@ static int __init cpu8815_mmcsd_init(void) ...@@ -232,24 +210,13 @@ static int __init cpu8815_mmcsd_init(void)
} }
device_initcall(cpu8815_mmcsd_init); 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) static void __init cpu8815_init_of(void)
{ {
#ifdef CONFIG_CACHE_L2X0 #ifdef CONFIG_CACHE_L2X0
/* At full speed latency must be >=2, so 0x249 in low bits */ /* At full speed latency must be >=2, so 0x249 in low bits */
l2x0_of_init(0x00730249, 0xfe000fff); l2x0_of_init(0x00730249, 0xfe000fff);
#endif #endif
of_platform_populate(NULL, of_default_bus_match_table, of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
cpu8815_auxdata_lookup, NULL);
} }
static const char * cpu8815_board_compat[] = { static const char * cpu8815_board_compat[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment