aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-10-04 09:14:16 -0400
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2012-11-15 08:37:47 -0500
commit6d7b42a447f92eb3e7e410bbf62042693eb040f7 (patch)
tree1bb6fa643268d1eb408616cb29bf4fba7830a429 /arch/arm
parentfc05d5a30dc19dd4c6d161e551719a8c597c7890 (diff)
mtd: fsmc_nand: pass the ale and cmd resource via resource
Do not use the platform_data to pass resource and be smart in the drivers. Just pass it via resource Switch to devm_request_and_ioremap at the sametime Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-By: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/spear13xx.dtsi10
-rw-r--r--arch/arm/boot/dts/spear300.dtsi8
-rw-r--r--arch/arm/boot/dts/spear310.dtsi8
-rw-r--r--arch/arm/boot/dts/spear320.dtsi8
-rw-r--r--arch/arm/boot/dts/spear600.dtsi8
-rw-r--r--arch/arm/mach-u300/core.c14
6 files changed, 33 insertions, 23 deletions
diff --git a/arch/arm/boot/dts/spear13xx.dtsi b/arch/arm/boot/dts/spear13xx.dtsi
index f7b84aced654..14a6d15c2a81 100644
--- a/arch/arm/boot/dts/spear13xx.dtsi
+++ b/arch/arm/boot/dts/spear13xx.dtsi
@@ -104,15 +104,15 @@
104 compatible = "st,spear600-fsmc-nand"; 104 compatible = "st,spear600-fsmc-nand";
105 #address-cells = <1>; 105 #address-cells = <1>;
106 #size-cells = <1>; 106 #size-cells = <1>;
107 reg = <0xb0000000 0x1000 /* FSMC Register */ 107 reg = <0xb0000000 0x1000 /* FSMC Register*/
108 0xb0800000 0x0010>; /* NAND Base */ 108 0xb0800000 0x0010 /* NAND Base DATA */
109 reg-names = "fsmc_regs", "nand_data"; 109 0xb0820000 0x0010 /* NAND Base ADDR */
110 0xb0810000 0x0010>; /* NAND Base CMD */
111 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
110 interrupts = <0 20 0x4 112 interrupts = <0 20 0x4
111 0 21 0x4 113 0 21 0x4
112 0 22 0x4 114 0 22 0x4
113 0 23 0x4>; 115 0 23 0x4>;
114 st,ale-off = <0x20000>;
115 st,cle-off = <0x10000>;
116 status = "disabled"; 116 status = "disabled";
117 }; 117 };
118 118
diff --git a/arch/arm/boot/dts/spear300.dtsi b/arch/arm/boot/dts/spear300.dtsi
index ed3627c116cc..bc436387d7f9 100644
--- a/arch/arm/boot/dts/spear300.dtsi
+++ b/arch/arm/boot/dts/spear300.dtsi
@@ -38,10 +38,10 @@
38 #address-cells = <1>; 38 #address-cells = <1>;
39 #size-cells = <1>; 39 #size-cells = <1>;
40 reg = <0x94000000 0x1000 /* FSMC Register */ 40 reg = <0x94000000 0x1000 /* FSMC Register */
41 0x80000000 0x0010>; /* NAND Base */ 41 0x80000000 0x0010 /* NAND Base DATA */
42 reg-names = "fsmc_regs", "nand_data"; 42 0x80020000 0x0010 /* NAND Base ADDR */
43 st,ale-off = <0x20000>; 43 0x80010000 0x0010>; /* NAND Base CMD */
44 st,cle-off = <0x10000>; 44 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
45 status = "disabled"; 45 status = "disabled";
46 }; 46 };
47 47
diff --git a/arch/arm/boot/dts/spear310.dtsi b/arch/arm/boot/dts/spear310.dtsi
index 62fc4fb3e5f9..7840e529aba2 100644
--- a/arch/arm/boot/dts/spear310.dtsi
+++ b/arch/arm/boot/dts/spear310.dtsi
@@ -32,10 +32,10 @@
32 #address-cells = <1>; 32 #address-cells = <1>;
33 #size-cells = <1>; 33 #size-cells = <1>;
34 reg = <0x44000000 0x1000 /* FSMC Register */ 34 reg = <0x44000000 0x1000 /* FSMC Register */
35 0x40000000 0x0010>; /* NAND Base */ 35 0x40000000 0x0010 /* NAND Base DATA */
36 reg-names = "fsmc_regs", "nand_data"; 36 0x40020000 0x0010 /* NAND Base ADDR */
37 st,ale-off = <0x10000>; 37 0x40010000 0x0010>; /* NAND Base CMD */
38 st,cle-off = <0x20000>; 38 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
39 status = "disabled"; 39 status = "disabled";
40 }; 40 };
41 41
diff --git a/arch/arm/boot/dts/spear320.dtsi b/arch/arm/boot/dts/spear320.dtsi
index 1f49d69595a0..5ad820641ac0 100644
--- a/arch/arm/boot/dts/spear320.dtsi
+++ b/arch/arm/boot/dts/spear320.dtsi
@@ -38,10 +38,10 @@
38 #address-cells = <1>; 38 #address-cells = <1>;
39 #size-cells = <1>; 39 #size-cells = <1>;
40 reg = <0x4c000000 0x1000 /* FSMC Register */ 40 reg = <0x4c000000 0x1000 /* FSMC Register */
41 0x50000000 0x0010>; /* NAND Base */ 41 0x50000000 0x0010 /* NAND Base DATA */
42 reg-names = "fsmc_regs", "nand_data"; 42 0x50020000 0x0010 /* NAND Base ADDR */
43 st,ale-off = <0x20000>; 43 0x50010000 0x0010>; /* NAND Base CMD */
44 st,cle-off = <0x10000>; 44 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
45 status = "disabled"; 45 status = "disabled";
46 }; 46 };
47 47
diff --git a/arch/arm/boot/dts/spear600.dtsi b/arch/arm/boot/dts/spear600.dtsi
index a3c36e47d7ef..4ecc66f5ac88 100644
--- a/arch/arm/boot/dts/spear600.dtsi
+++ b/arch/arm/boot/dts/spear600.dtsi
@@ -67,10 +67,10 @@
67 #address-cells = <1>; 67 #address-cells = <1>;
68 #size-cells = <1>; 68 #size-cells = <1>;
69 reg = <0xd1800000 0x1000 /* FSMC Register */ 69 reg = <0xd1800000 0x1000 /* FSMC Register */
70 0xd2000000 0x4000>; /* NAND Base */ 70 0xd2000000 0x0010 /* NAND Base DATA */
71 reg-names = "fsmc_regs", "nand_data"; 71 0xd2020000 0x0010 /* NAND Base ADDR */
72 st,ale-off = <0x20000>; 72 0xd2010000 0x0010>; /* NAND Base CMD */
73 st,cle-off = <0x10000>; 73 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
74 status = "disabled"; 74 status = "disabled";
75 }; 75 };
76 76
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c
index b8efac4daed8..f642a1552346 100644
--- a/arch/arm/mach-u300/core.c
+++ b/arch/arm/mach-u300/core.c
@@ -252,6 +252,18 @@ static struct resource rtc_resources[] = {
252 */ 252 */
253static struct resource fsmc_resources[] = { 253static struct resource fsmc_resources[] = {
254 { 254 {
255 .name = "nand_addr",
256 .start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE,
257 .end = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE + SZ_16K - 1,
258 .flags = IORESOURCE_MEM,
259 },
260 {
261 .name = "nand_cmd",
262 .start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE,
263 .end = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE + SZ_16K - 1,
264 .flags = IORESOURCE_MEM,
265 },
266 {
255 .name = "nand_data", 267 .name = "nand_data",
256 .start = U300_NAND_CS0_PHYS_BASE, 268 .start = U300_NAND_CS0_PHYS_BASE,
257 .end = U300_NAND_CS0_PHYS_BASE + SZ_16K - 1, 269 .end = U300_NAND_CS0_PHYS_BASE + SZ_16K - 1,
@@ -1496,8 +1508,6 @@ static struct fsmc_nand_platform_data nand_platform_data = {
1496 .nr_partitions = ARRAY_SIZE(u300_partitions), 1508 .nr_partitions = ARRAY_SIZE(u300_partitions),
1497 .options = NAND_SKIP_BBTSCAN, 1509 .options = NAND_SKIP_BBTSCAN,
1498 .width = FSMC_NAND_BW8, 1510 .width = FSMC_NAND_BW8,
1499 .ale_off = PLAT_NAND_ALE,
1500 .cle_off = PLAT_NAND_CLE,
1501}; 1511};
1502 1512
1503static struct platform_device nand_device = { 1513static struct platform_device nand_device = {