ARM: dts: armada-370-xp: update NAND node with new bindings
authorMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 25 Apr 2018 14:47:59 +0000 (16:47 +0200)
committerGregory CLEMENT <gregory.clement@bootlin.com>
Fri, 18 May 2018 16:36:57 +0000 (18:36 +0200)
Use the new bindings of the Marvell NAND controller driver. Also adapt
the NAND controller node organization to distinguish which property is
relevant for the controller, and which one is NAND chip specific. Expose
the partitions as a subnode of the NAND chip.

Remove the 'marvell,nand-enable-arbiter' property, not needed anymore
as the new driver activates the arbiter by default for all boards which
is either needed or harmless.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
15 files changed:
arch/arm/boot/dts/armada-370-db.dts
arch/arm/boot/dts/armada-370-dlink-dns327l.dts
arch/arm/boot/dts/armada-370-mirabox.dts
arch/arm/boot/dts/armada-370-netgear-rn102.dts
arch/arm/boot/dts/armada-370-netgear-rn104.dts
arch/arm/boot/dts/armada-370-rd.dts
arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi
arch/arm/boot/dts/armada-370-xp.dtsi
arch/arm/boot/dts/armada-xp-db-dxbc2.dts
arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts
arch/arm/boot/dts/armada-xp-db.dts
arch/arm/boot/dts/armada-xp-gp.dts
arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
arch/arm/boot/dts/armada-xp-linksys-mamba.dts
arch/arm/boot/dts/armada-xp-netgear-rn2120.dts

index afe4609..77261a2 100644 (file)
                        usb@51000 {
                                status = "okay";
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               partitions {
-                                       compatible = "fixed-partitions";
-                                       #address-cells = <1>;
-                                       #size-cells = <1>;
-
-                                       partition@0 {
-                                               label = "U-Boot";
-                                               reg = <0 0x800000>;
-                                       };
-                                       partition@800000 {
-                                               label = "Linux";
-                                               reg = <0x800000 0x800000>;
-                                       };
-                                       partition@1000000 {
-                                               label = "Filesystem";
-                                               reg = <0x1000000 0x3f000000>;
-                                       };
-                               };
-                       };
                };
        };
 
        };
 };
 
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "U-Boot";
+                               reg = <0 0x800000>;
+                       };
+                       partition@800000 {
+                               label = "Linux";
+                               reg = <0x800000 0x800000>;
+                       };
+                       partition@1000000 {
+                               label = "Filesystem";
+                               reg = <0x1000000 0x3f000000>;
+                       };
+               };
+       };
+};
index 8e46f63..baa459d 100644 (file)
                        usb@50000 {
                                status = "okay";
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       /* 1.0 MiB */
-                                       reg = <0x0000000 0x100000>;
-                                       read-only;
-                               };
-
-                               partition@100000 {
-                                       label = "u-boot-env";
-                                       /* 128 KiB */
-                                       reg = <0x100000 0x20000>;
-                                       read-only;
-                               };
-
-                               partition@120000 {
-                                       label = "uImage";
-                                       /* 7 MiB */
-                                       reg = <0x120000 0x700000>;
-                               };
-
-                               partition@820000 {
-                                       label = "ubifs";
-                                       /* ~ 84 MiB */
-                                       reg = <0x820000 0x54e0000>;
-                               };
-
-                               /* Hardcoded into stock bootloader */
-                               partition@5d00000 {
-                                       label = "failsafe-uImage";
-                                       /* 5 MiB */
-                                       reg = <0x5d00000 0x500000>;
-                               };
-
-                               partition@6200000 {
-                                       label = "failsafe-fs";
-                                       /* 29 MiB */
-                                       reg = <0x6200000 0x1d00000>;
-                               };
-
-                               partition@7f00000 {
-                                       label = "bbt";
-                                       /* 1 MiB for BBT */
-                                       reg = <0x7f00000 0x100000>;
-                               };
-                       };
                };
        };
 
        clock-frequency = <100000>;
        status = "okay";
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               /* 1.0 MiB */
+                               reg = <0x0000000 0x100000>;
+                               read-only;
+                       };
+
+                       partition@100000 {
+                               label = "u-boot-env";
+                               /* 128 KiB */
+                               reg = <0x100000 0x20000>;
+                               read-only;
+                       };
+
+                       partition@120000 {
+                               label = "uImage";
+                               /* 7 MiB */
+                               reg = <0x120000 0x700000>;
+                       };
+
+                       partition@820000 {
+                               label = "ubifs";
+                               /* ~ 84 MiB */
+                               reg = <0x820000 0x54e0000>;
+                       };
+
+                       /* Hardcoded into stock bootloader */
+                       partition@5d00000 {
+                               label = "failsafe-uImage";
+                               /* 5 MiB */
+                               reg = <0x5d00000 0x500000>;
+                       };
+
+                       partition@6200000 {
+                               label = "failsafe-fs";
+                               /* 29 MiB */
+                               reg = <0x6200000 0x1d00000>;
+                       };
+
+                       partition@7f00000 {
+                               label = "bbt";
+                               /* 1 MiB for BBT */
+                               reg = <0x7f00000 0x100000>;
+                       };
+               };
+       };
+};
index 996f31b..7c2f5a7 100644 (file)
                                        reg = <0x25>;
                                };
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               partition@0 {
-                                       label = "U-Boot";
-                                       reg = <0 0x400000>;
-                               };
-                               partition@400000 {
-                                       label = "Linux";
-                                       reg = <0x400000 0x400000>;
-                               };
-                               partition@800000 {
-                                       label = "Filesystem";
-                                       reg = <0x800000 0x3f800000>;
-                               };
-                       };
                };
        };
 };
        };
 };
 
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "U-Boot";
+                               reg = <0 0x400000>;
+                       };
+                       partition@400000 {
+                               label = "Linux";
+                               reg = <0x400000 0x400000>;
+                       };
+                       partition@800000 {
+                               label = "Filesystem";
+                               reg = <0x800000 0x3f800000>;
+                       };
+               };
+       };
+};
index 5663480..b0b640b 100644 (file)
                                        pwm_polarity = <0>;
                                };
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               /* Use Hardware BCH ECC */
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       reg = <0x0000000 0x180000>;  /* 1.5MB */
-                                       read-only;
-                               };
-
-                               partition@180000 {
-                                       label = "u-boot-env";
-                                       reg = <0x180000 0x20000>;    /* 128KB */
-                                       read-only;
-                               };
-
-                               partition@200000 {
-                                       label = "uImage";
-                                       reg = <0x0200000 0x600000>;    /* 6MB */
-                               };
-
-                               partition@800000 {
-                                       label = "minirootfs";
-                                       reg = <0x0800000 0x400000>;    /* 4MB */
-                               };
-
-                               /* Last MB is for the BBT, i.e. not writable */
-                               partition@c00000 {
-                                       label = "ubifs";
-                                       reg = <0x0c00000 0x7400000>; /* 116MB */
-                               };
-                       };
                };
        };
 
                marvell,function = "gpio";
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               /* Use Hardware BCH ECC */
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0000000 0x180000>;  /* 1.5MB */
+                               read-only;
+                       };
+
+                       partition@180000 {
+                               label = "u-boot-env";
+                               reg = <0x180000 0x20000>;    /* 128KB */
+                               read-only;
+                       };
+
+                       partition@200000 {
+                               label = "uImage";
+                               reg = <0x0200000 0x600000>;    /* 6MB */
+                       };
+
+                       partition@800000 {
+                               label = "minirootfs";
+                               reg = <0x0800000 0x400000>;    /* 4MB */
+                       };
+
+                       /* Last MB is for the BBT, i.e. not writable */
+                       partition@c00000 {
+                               label = "ubifs";
+                               reg = <0x0c00000 0x7400000>; /* 116MB */
+                       };
+               };
+       };
+};
index 16d0307..9fd1cb9 100644 (file)
                                        reg = <0x23>;
                                };
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               /* Use Hardware BCH ECC */
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       reg = <0x0000000 0x180000>;  /* 1.5MB */
-                                       read-only;
-                               };
-
-                               partition@180000 {
-                                       label = "u-boot-env";
-                                       reg = <0x180000 0x20000>;    /* 128KB */
-                                       read-only;
-                               };
-
-                               partition@200000 {
-                                       label = "uImage";
-                                       reg = <0x0200000 0x600000>;    /* 6MB */
-                               };
-
-                               partition@800000 {
-                                       label = "minirootfs";
-                                       reg = <0x0800000 0x400000>;    /* 4MB */
-                               };
-
-                               /* Last MB is for the BBT, i.e. not writable */
-                               partition@c00000 {
-                                       label = "ubifs";
-                                       reg = <0x0c00000 0x7400000>; /* 116MB */
-                               };
-                       };
                };
        };
 
                marvell,function = "gpio";
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               /* Use Hardware BCH ECC */
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0000000 0x180000>;  /* 1.5MB */
+                               read-only;
+                       };
+
+                       partition@180000 {
+                               label = "u-boot-env";
+                               reg = <0x180000 0x20000>;    /* 128KB */
+                               read-only;
+                       };
+
+                       partition@200000 {
+                               label = "uImage";
+                               reg = <0x0200000 0x600000>;    /* 6MB */
+                       };
+
+                       partition@800000 {
+                               label = "minirootfs";
+                               reg = <0x0800000 0x400000>;    /* 4MB */
+                       };
+
+                       /* Last MB is for the BBT, i.e. not writable */
+                       partition@c00000 {
+                               label = "ubifs";
+                               reg = <0x0c00000 0x7400000>; /* 116MB */
+                       };
+               };
+       };
+};
index cc2f774..2bfb310 100644 (file)
                                        default-state = "keep";
                                };
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               partition@0 {
-                                       label = "U-Boot";
-                                       reg = <0 0x800000>;
-                               };
-                               partition@800000 {
-                                       label = "Linux";
-                                       reg = <0x800000 0x800000>;
-                               };
-                               partition@1000000 {
-                                       label = "Filesystem";
-                                       reg = <0x1000000 0x3f000000>;
-                               };
-                       };
                };
        };
 
                marvell,function = "gpio";
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "U-Boot";
+                               reg = <0 0x800000>;
+                       };
+                       partition@800000 {
+                               label = "Linux";
+                               reg = <0x800000 0x800000>;
+                       };
+                       partition@1000000 {
+                               label = "Filesystem";
+                               reg = <0x1000000 0x3f000000>;
+                       };
+               };
+       };
+};
index a5206db..b52634e 100644 (file)
                                        interrupts = <110>;
                                };
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       reg = <0x0 0x300000>;
-                               };
-                               partition@300000 {
-                                       label = "device-tree";
-                                       reg = <0x300000 0x20000>;
-                               };
-                               partition@320000 {
-                                       label = "linux";
-                                       reg = <0x320000 0x2000000>;
-                               };
-                               partition@2320000 {
-                                       label = "rootfs";
-                                       reg = <0x2320000 0xdce0000>;
-                               };
-                       };
                };
 
        };
                marvell,function = "gpio";
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0 0x300000>;
+                       };
+                       partition@300000 {
+                               label = "device-tree";
+                               reg = <0x300000 0x20000>;
+                       };
+                       partition@320000 {
+                               label = "linux";
+                               reg = <0x320000 0x2000000>;
+                       };
+                       partition@2320000 {
+                               label = "rootfs";
+                               reg = <0x2320000 0xdce0000>;
+                       };
+               };
+       };
+};
index 11fc327..c15f5e9 100644 (file)
                                status = "disabled";
                        };
 
-                       nand: nand@d0000 {
-                               compatible = "marvell,armada370-nand";
+                       nand_controller: nand-controller@d0000 {
+                               compatible = "marvell,armada370-nand-controller";
                                reg = <0xd0000 0x54>;
                                #address-cells = <1>;
-                               #size-cells = <1>;
+                               #size-cells = <0>;
                                interrupts = <113>;
                                clocks = <&coredivclk 0>;
                                status = "disabled";
index 4c64923..f42fc61 100644 (file)
@@ -70,9 +70,9 @@
 
 &nand {
        status = "okay";
+       label = "pxa3xx_nand-0";
        num-cs = <1>;
        marvell,nand-keep-config;
-       marvell,nand-enable-arbiter;
        nand-on-flash-bbt;
        nand-ecc-strength = <4>;
        nand-ecc-step-size = <512>;
index a0ebb52..8432f51 100644 (file)
@@ -69,9 +69,9 @@
 
 &nand {
        status = "okay";
+       label = "pxa3xx_nand-0";
        num-cs = <1>;
        marvell,nand-keep-config;
-       marvell,nand-enable-arbiter;
        nand-on-flash-bbt;
        nand-ecc-strength = <4>;
        nand-ecc-step-size = <512>;
index 73d3f5c..f3ac748 100644 (file)
 
                        nand@d0000 {
                                status = "okay";
+                               label = "pxa3xx_nand-0";
                                num-cs = <1>;
                                marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
                                nand-on-flash-bbt;
 
                                partitions {
index c143556..1139e94 100644 (file)
 
                        nand@d0000 {
                                status = "okay";
+                               label = "pxa3xx_nand-0";
                                num-cs = <1>;
                                marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
                                nand-on-flash-bbt;
                        };
                };
index def62e9..bbbb388 100644 (file)
@@ -83,9 +83,9 @@
 
                        nand@d0000 {
                                status = "okay";
+                               label = "pxa3xx_nand-0";
                                num-cs = <1>;
                                marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
                                nand-on-flash-bbt;
 
                                partitions {
index f8b60d9..7a2606c 100644 (file)
                        bm@c8000 {
                                status = "okay";
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       reg = <0x0000000 0x100000>;  /* 1MB */
-                                       read-only;
-                               };
-
-                               partition@100000 {
-                                       label = "u_env";
-                                       reg = <0x100000 0x40000>;    /* 256KB */
-                               };
-
-                               partition@140000 {
-                                       label = "s_env";
-                                       reg = <0x140000 0x40000>;    /* 256KB */
-                               };
-
-                               partition@900000 {
-                                       label = "devinfo";
-                                       reg = <0x900000 0x100000>;   /* 1MB */
-                                       read-only;
-                               };
-
-                               /* kernel1 overlaps with rootfs1 by design */
-                               partition@a00000 {
-                                       label = "kernel1";
-                                       reg = <0xa00000 0x2800000>;  /* 40MB */
-                               };
-
-                               partition@d00000 {
-                                       label = "rootfs1";
-                                       reg = <0xd00000 0x2500000>;  /* 37MB */
-                               };
-
-                               /* kernel2 overlaps with rootfs2 by design */
-                               partition@3200000 {
-                                       label = "kernel2";
-                                       reg = <0x3200000 0x2800000>; /* 40MB */
-                               };
-
-                               partition@3500000 {
-                                       label = "rootfs2";
-                                       reg = <0x3500000 0x2500000>; /* 37MB */
-                               };
-
-                               /*
-                                * 38MB, last MB is for the BBT, not writable
-                                */
-                               partition@5a00000 {
-                                       label = "syscfg";
-                                       reg = <0x5a00000 0x2600000>;
-                               };
-
-                               /*
-                                * Unused area between "s_env" and "devinfo".
-                                * Moved here because otherwise the renumbered
-                                * partitions would break the bootloader
-                                * supplied bootargs
-                                */
-                               partition@180000 {
-                                       label = "unused_area";
-                                       reg = <0x180000 0x780000>;   /* 7.5MB */
-                               };
-                       };
                };
 
                bm-bppi {
                };
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0000000 0x100000>;  /* 1MB */
+                               read-only;
+                       };
+
+                       partition@100000 {
+                               label = "u_env";
+                               reg = <0x100000 0x40000>;    /* 256KB */
+                       };
+
+                       partition@140000 {
+                               label = "s_env";
+                               reg = <0x140000 0x40000>;    /* 256KB */
+                       };
+
+                       partition@900000 {
+                               label = "devinfo";
+                               reg = <0x900000 0x100000>;   /* 1MB */
+                               read-only;
+                       };
+
+                       /* kernel1 overlaps with rootfs1 by design */
+                       partition@a00000 {
+                               label = "kernel1";
+                               reg = <0xa00000 0x2800000>;  /* 40MB */
+                       };
+
+                       partition@d00000 {
+                               label = "rootfs1";
+                               reg = <0xd00000 0x2500000>;  /* 37MB */
+                       };
+
+                       /* kernel2 overlaps with rootfs2 by design */
+                       partition@3200000 {
+                               label = "kernel2";
+                               reg = <0x3200000 0x2800000>; /* 40MB */
+                       };
+
+                       partition@3500000 {
+                               label = "rootfs2";
+                               reg = <0x3500000 0x2500000>; /* 37MB */
+                       };
+
+                       /*
+                        * 38MB, last MB is for the BBT, not writable
+                        */
+                       partition@5a00000 {
+                               label = "syscfg";
+                               reg = <0x5a00000 0x2600000>;
+                       };
+
+                       /*
+                        * Unused area between "s_env" and "devinfo".
+                        * Moved here because otherwise the renumbered
+                        * partitions would break the bootloader
+                        * supplied bootargs
+                        */
+                       partition@180000 {
+                               label = "unused_area";
+                               reg = <0x180000 0x780000>;   /* 7.5MB */
+                       };
+               };
+       };
+};
index c350b1c..8ea7358 100644 (file)
                                nr-ports = <2>;
                                status = "okay";
                        };
-
-                       nand@d0000 {
-                               status = "okay";
-                               num-cs = <1>;
-                               marvell,nand-keep-config;
-                               marvell,nand-enable-arbiter;
-                               nand-on-flash-bbt;
-
-                               /* Use Hardware BCH ECC */
-                               nand-ecc-strength = <4>;
-                               nand-ecc-step-size = <512>;
-
-                               partition@0 {
-                                       label = "u-boot";
-                                       reg = <0x0000000 0x180000>;  /* 1.5MB */
-                                       read-only;
-                               };
-
-                               partition@180000 {
-                                       label = "u-boot-env";
-                                       reg = <0x180000 0x20000>;    /* 128KB */
-                                       read-only;
-                               };
-
-                               partition@200000 {
-                                       label = "uImage";
-                                       reg = <0x0200000 0x600000>;    /* 6MB */
-                               };
-
-                               partition@800000 {
-                                       label = "minirootfs";
-                                       reg = <0x0800000 0x400000>;    /* 4MB */
-                               };
-
-                               /* Last MB is for the BBT, i.e. not writable */
-                               partition@c00000 {
-                                       label = "ubifs";
-                                       reg = <0x0c00000 0x7400000>; /* 116MB */
-                               };
-                       };
                };
        };
 
                marvell,function = "gpio";
        };
 };
+
+&nand_controller {
+       status = "okay";
+
+       nand@0 {
+               reg = <0>;
+               label = "pxa3xx_nand-0";
+               nand-rb = <0>;
+               marvell,nand-keep-config;
+               nand-on-flash-bbt;
+
+               /* Use Hardware BCH ECC */
+               nand-ecc-strength = <4>;
+               nand-ecc-step-size = <512>;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       partition@0 {
+                               label = "u-boot";
+                               reg = <0x0000000 0x180000>;  /* 1.5MB */
+                               read-only;
+                       };
+
+                       partition@180000 {
+                               label = "u-boot-env";
+                               reg = <0x180000 0x20000>;    /* 128KB */
+                               read-only;
+                       };
+
+                       partition@200000 {
+                               label = "uImage";
+                               reg = <0x0200000 0x600000>;    /* 6MB */
+                       };
+
+                       partition@800000 {
+                               label = "minirootfs";
+                               reg = <0x0800000 0x400000>;    /* 4MB */
+                       };
+
+                       /* Last MB is for the BBT, i.e. not writable */
+                       partition@c00000 {
+                               label = "ubifs";
+                               reg = <0x0c00000 0x7400000>; /* 116MB */
+                       };
+               };
+       };
+};