Commit 44e47164 authored by Roger Quadros's avatar Roger Quadros Committed by Tony Lindgren

ARM: dts: omap3: Fix NAND device nodes

Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.
Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 6607fac8
...@@ -93,7 +93,8 @@ &charger { ...@@ -93,7 +93,8 @@ &charger {
}; };
&gpmc { &gpmc {
ranges = <1 0 0x08000000 0x1000000>; /* CS1: 16MB for LAN9221 */ ranges = <0 0 0x30000000 0x1000000 /* CS0: 16MB for NAND */
1 0 0x2c000000 0x1000000>; /* CS1: 16MB for LAN9221 */
ethernet@gpmc { ethernet@gpmc {
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -35,11 +35,15 @@ wl12xx_vmmc: wl12xx_vmmc { ...@@ -35,11 +35,15 @@ wl12xx_vmmc: wl12xx_vmmc {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x1000000>; /* CS0: 16MB for NAND */ ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
linux,mtd-name = "micron,mt29f4g16abbda3w"; compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
linux,mtd-name = "micron,mt29f4g16abbda3w";
nand-bus-width = <16>; nand-bus-width = <16>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
gpmc,sync-clk-ps = <0>; gpmc,sync-clk-ps = <0>;
......
...@@ -384,8 +384,11 @@ &gpmc { ...@@ -384,8 +384,11 @@ &gpmc {
/* Chip select 0 */ /* Chip select 0 */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* NAND I/O window, 4 bytes */ reg = <0 0 4>; /* NAND I/O window, 4 bytes */
interrupts = <20>; interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
ti,nand-ecc-opt = "ham1"; ti,nand-ecc-opt = "ham1";
nand-bus-width = <16>; nand-bus-width = <16>;
#address-cells = <1>; #address-cells = <1>;
......
...@@ -261,10 +261,14 @@ &mcbsp2 { ...@@ -261,10 +261,14 @@ &mcbsp2 {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x01000000>; ranges = <0 0 0x30000000 0x01000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <8>; nand-bus-width = <8>;
gpmc,device-width = <1>; gpmc,device-width = <1>;
ti,nand-ecc-opt = "sw"; ti,nand-ecc-opt = "sw";
......
...@@ -204,7 +204,11 @@ &gpmc { ...@@ -204,7 +204,11 @@ &gpmc {
ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; gpmc,device-width = <2>;
ti,nand-ecc-opt = "sw"; ti,nand-ecc-opt = "sw";
......
...@@ -154,12 +154,16 @@ &uart3 { ...@@ -154,12 +154,16 @@ &uart3 {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x1000000>, /* CS0: 16MB for NAND */ ranges = <0 0 0x30000000 0x1000000>, /* CS0: 16MB for NAND */
<5 0 0x2c000000 0x01000000>; <5 0 0x2c000000 0x01000000>;
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
linux,mtd-name= "hynix,h8kds0un0mer-4em"; linux,mtd-name= "hynix,h8kds0un0mer-4em";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; gpmc,device-width = <2>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
......
...@@ -492,7 +492,11 @@ &gpmc { ...@@ -492,7 +492,11 @@ &gpmc {
ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
......
...@@ -95,8 +95,12 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */ ...@@ -95,8 +95,12 @@ OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */
&gpmc { &gpmc {
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
linux,mtd-name= "micron,mt29c4g96maz"; linux,mtd-name= "micron,mt29c4g96maz";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; gpmc,device-width = <2>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
......
...@@ -210,8 +210,8 @@ eeprom@50 { ...@@ -210,8 +210,8 @@ eeprom@50 {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x20000000>, ranges = <0 0 0x30000000 0x01000000>, /* CS0: 16MB for NAND */
<5 0 0x2c000000 0x01000000>; <5 0 0x2c000000 0x01000000>; /* CS5: 16MB for ethernet */
ethernet@gpmc { ethernet@gpmc {
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -58,3 +58,7 @@ &uart2 { ...@@ -58,3 +58,7 @@ &uart2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>; pinctrl-0 = <&uart2_pins>;
}; };
&gpmc {
ranges = <0 0 0x30000000 0x01000000>; /* CS0: 16MB for NAND */
};
...@@ -97,12 +97,16 @@ key_down { ...@@ -97,12 +97,16 @@ key_down {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x01000000>, ranges = <0 0 0x30000000 0x1000000>, /* CS0 space, 16MB */
<1 0 0x08000000 0x01000000>; <1 0 0x08000000 0x1000000>; /* CS1 space, 16MB */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
linux,mtd-name= "micron,nand"; linux,mtd-name= "micron,nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; gpmc,device-width = <2>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
......
...@@ -362,7 +362,11 @@ &gpmc { ...@@ -362,7 +362,11 @@ &gpmc {
<7 0 0x15000000 0x01000000>; <7 0 0x15000000 0x01000000>;
nand@0,0 { nand@0,0 {
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
/* no elm on omap3 */ /* no elm on omap3 */
......
...@@ -226,8 +226,12 @@ &gpmc { ...@@ -226,8 +226,12 @@ &gpmc {
ranges = <0 0 0x00000000 0x20000000>; ranges = <0 0 0x00000000 0x20000000>;
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
linux,mtd-name= "micron,mt29c4g96maz"; linux,mtd-name= "micron,mt29c4g96maz";
reg = <0 0 0>; reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; gpmc,device-width = <2>;
ti,nand-ecc-opt = "bch8"; ti,nand-ecc-opt = "bch8";
......
...@@ -546,7 +546,11 @@ &gpmc { ...@@ -546,7 +546,11 @@ &gpmc {
ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
ti,nand-ecc-opt = "sw"; ti,nand-ecc-opt = "sw";
......
...@@ -275,10 +275,14 @@ &mcbsp3 { ...@@ -275,10 +275,14 @@ &mcbsp3 {
}; };
&gpmc { &gpmc {
ranges = <0 0 0x00000000 0x01000000>; ranges = <0 0 0x30000000 0x01000000>; /* CS0: 16MB for NAND */
nand@0,0 { nand@0,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
nand-bus-width = <16>; nand-bus-width = <16>;
gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
ti,nand-ecc-opt = "sw"; ti,nand-ecc-opt = "sw";
......
...@@ -723,6 +723,8 @@ gpmc: gpmc@6e000000 { ...@@ -723,6 +723,8 @@ gpmc: gpmc@6e000000 {
gpmc,num-waitpins = <4>; gpmc,num-waitpins = <4>;
#address-cells = <2>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <1>;
interrupt-controller;
#interrupt-cells = <2>;
}; };
usb_otg_hs: usb_otg_hs@480ab000 { usb_otg_hs: usb_otg_hs@480ab000 {
......
...@@ -103,10 +103,14 @@ partition@280000 { ...@@ -103,10 +103,14 @@ partition@280000 {
}; };
nand@1,0 { nand@1,0 {
compatible = "ti,omap2-nand";
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
interrupt-parent = <&gpmc>;
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
<1 IRQ_TYPE_NONE>; /* termcount */
linux,mtd-name= "micron,mt29f1g08abb"; linux,mtd-name= "micron,mt29f1g08abb";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
reg = <1 0 4>; /* CS1, offset 0, IO size 4 */
ti,nand-ecc-opt = "sw"; ti,nand-ecc-opt = "sw";
nand-bus-width = <8>; nand-bus-width = <8>;
gpmc,cs-on-ns = <0>; gpmc,cs-on-ns = <0>;
......
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