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: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Roger Quadros 2016-02-23 18:37:25 +02:00 committed by Tony Lindgren
parent 6607fac8f4
commit 44e4716499
17 changed files with 75 additions and 17 deletions

View file

@ -93,7 +93,8 @@
}; };
&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";

View file

@ -35,11 +35,15 @@
}; };
&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>;

View file

@ -384,8 +384,11 @@
/* 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>;

View file

@ -261,10 +261,14 @@
}; };
&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";

View file

@ -204,7 +204,11 @@
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";

View file

@ -154,12 +154,16 @@
}; };
&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";

View file

@ -492,7 +492,11 @@
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";

View file

@ -95,8 +95,12 @@
&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";

View file

@ -210,8 +210,8 @@
}; };
&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";

View file

@ -58,3 +58,7 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>; pinctrl-0 = <&uart2_pins>;
}; };
&gpmc {
ranges = <0 0 0x30000000 0x01000000>; /* CS0: 16MB for NAND */
};

View file

@ -97,12 +97,16 @@
}; };
&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";

View file

@ -362,7 +362,11 @@
<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 */

View file

@ -226,8 +226,12 @@
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";

View file

@ -546,7 +546,11 @@
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";

View file

@ -275,10 +275,14 @@
}; };
&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";

View file

@ -723,6 +723,8 @@
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 {

View file

@ -103,10 +103,14 @@
}; };
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>;