ARM: dts: cm-t3x: add NAND support
authorDmitry Lifshitz <lifshitz@compulab.co.il>
Sun, 28 Dec 2014 14:30:49 +0000 (16:30 +0200)
committerTony Lindgren <tony@atomide.com>
Tue, 13 Jan 2015 16:00:10 +0000 (08:00 -0800)
CM-T3517, CM-T3530 and CM-T3730 features NAND storage chip connected to
GPMC bus.

Add GPMC DT entry into the root DT file omap3-cm-t3x.dtsi, common for
all three modules.

NAND timings are calculated to be safe for CM-T3x devices as it works
now in non DT boot (in this case the timings are updated by U-Boot).

Update GPMC ranges in boards DT files to include all connected devices.

Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap3-cm-t3x.dtsi
arch/arm/boot/dts/omap3-cm-t3x30.dtsi
arch/arm/boot/dts/omap3-sbc-t3517.dts
arch/arm/boot/dts/omap3-sbc-t3530.dts
arch/arm/boot/dts/omap3-sbc-t3730.dts

index 6ea6d460db3090de2e891828bc8366933e003a56..4d091ca43e259c938be3d4973edff15789a27c37 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&mcbsp2_pins>;
 };
+
+&gpmc {
+       ranges = <0 0 0x00000000 0x01000000>;
+
+       nand@0,0 {
+               reg = <0 0 4>;  /* CS0, offset 0, IO size 4 */
+               nand-bus-width = <8>;
+               gpmc,device-width = <1>;
+               ti,nand-ecc-opt = "sw";
+
+               gpmc,cs-on-ns = <0>;
+               gpmc,cs-rd-off-ns = <120>;
+               gpmc,cs-wr-off-ns = <120>;
+
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <120>;
+               gpmc,adv-wr-off-ns = <120>;
+
+               gpmc,we-on-ns = <6>;
+               gpmc,we-off-ns = <90>;
+
+               gpmc,oe-on-ns = <6>;
+               gpmc,oe-off-ns = <90>;
+
+               gpmc,page-burst-access-ns = <6>;
+               gpmc,access-ns = <72>;
+               gpmc,cycle2cycle-delay-ns = <60>;
+
+               gpmc,rd-cycle-ns = <120>;
+               gpmc,wr-cycle-ns = <120>;
+               gpmc,wr-access-ns = <186>;
+               gpmc,wr-data-mux-bus-ns = <90>;
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "xloader";
+                       reg = <0 0x80000>;
+               };
+               partition@0x80000 {
+                       label = "uboot";
+                       reg = <0x80000 0x1e0000>;
+               };
+               partition@0x260000 {
+                       label = "uboot environment";
+                       reg = <0x260000 0x40000>;
+               };
+               partition@0x2a0000 {
+                       label = "linux";
+                       reg = <0x2a0000 0x400000>;
+               };
+               partition@0x6a0000 {
+                       label = "rootfs";
+                       reg = <0x6a0000 0x1f880000>;
+               };
+       };
+};
index 9a4a3ab9af78707a03097832a34ff5722ab2c794..d9e92b654f851e879fe8fb4d74bfdf66c4cd7af9 100644 (file)
@@ -50,7 +50,8 @@
 #include "omap-gpmc-smsc911x.dtsi"
 
 &gpmc {
-       ranges = <5 0 0x2c000000 0x01000000>;
+       ranges = <5 0 0x2c000000 0x01000000>, /* CM-T3x30 SMSC9x Eth */
+                <0 0 0x00000000 0x01000000>; /* CM-T3x NAND */
 
        smsc1: ethernet@gpmc {
                compatible = "smsc,lan9221", "smsc,lan9115";
index 17986536c61f93665201c5a488673f92e5ad0472..c2d5c28a1a70b05bed2d3aa8382452cb5dfbbe7b 100644 (file)
@@ -69,3 +69,7 @@
        };
 };
 
+&gpmc {
+       ranges = <4 0 0x2d000000 0x01000000>,   /* SB-T35 SMSC9x Eth */
+                <0 0 0x00000000 0x01000000>;   /* CM-T3x NAND */
+};
index c994f0f7e38a120e6aa51eace3e384d91cc9a5e6..834bc786cd123184a83891e5ff6e30bfb449008d 100644 (file)
        };
 };
 
-/*
- * The following ranges correspond to SMSC9x eth chips on CM-T3530 CoM and
- * SB-T35 baseboard respectively.
- * This setting includes both chips in SBC-T3530 board device tree.
- */
 &gpmc {
-       ranges = <5 0 0x2c000000 0x01000000>,
-                <4 0 0x2d000000 0x01000000>;
+       ranges = <5 0 0x2c000000 0x01000000>,   /* CM-T3x30 SMSC9x Eth */
+                <4 0 0x2d000000 0x01000000>,   /* SB-T35 SMSC9x Eth */
+                <0 0 0x00000000 0x01000000>;   /* CM-T3x NAND */
 };
 
 &mmc1 {
index 5bdddf29341d936449cb6979a24ef0035800d962..73c7bf4a4a087664a1a049356f492e8cdc39cb1a 100644 (file)
@@ -27,8 +27,9 @@
 };
 
 &gpmc {
-       ranges = <5 0 0x2c000000 0x01000000>,
-                <4 0 0x2d000000 0x01000000>;
+       ranges = <5 0 0x2c000000 0x01000000>,   /* CM-T3x30 SMSC9x Eth */
+                <4 0 0x2d000000 0x01000000>,   /* SB-T35 SMSC9x Eth */
+                <0 0 0x00000000 0x01000000>;   /* CM-T3x NAND */
 };
 
 &dss {