ARM: dts: AM33XX: Add NAND flash device tree data to am335x-evm
authorPhilip Avinash <avinashphilip@ti.com>
Fri, 31 May 2013 07:49:05 +0000 (13:19 +0530)
committerBenoit Cousson <benoit.cousson@linaro.org>
Tue, 18 Jun 2013 23:53:37 +0000 (18:53 -0500)
GPMC controller on AM335x-EVM has a NAND flash connected to it.
This patch updates following in am335x-evm.dts:
- adds nandflash specific pin-mux configs
- adds nand node as child of GPMC contoller, with information about
  NAND flash interface, NAND partition table, ECC scheme, elm handle id.
- updates GPMC node for newer GPMC DT properties added in linux-3.10.

Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Signed-off-by: Gupta, Pekon <pekon@ti.com>
Signed-off-by: Benoit Cousson <benoit.cousson@linaro.org>
arch/arm/boot/dts/am335x-evm.dts

index 896d392dc14d12d4fbae948c3491a56fadf2e5c5..4dc46fa7ce1c52fef72b52fb4f17cfccab9af615 100644 (file)
                                0x1b4 0x03      /* xdma_event_intr1.clkout2 OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
                        >;
                };
+
+               nandflash_pins_s0: nandflash_pins_s0 {
+                       pinctrl-single,pins = <
+                               0x0 0x30        /* gpmc_ad0.gpmc_ad0, INPUT | PULLUP | MODE0 */
+                               0x4 0x30        /* gpmc_ad1.gpmc_ad1, INPUT | PULLUP | MODE0 */
+                               0x8 0x30        /* gpmc_ad2.gpmc_ad2, INPUT | PULLUP | MODE0 */
+                               0xc 0x30        /* gpmc_ad3.gpmc_ad3, INPUT | PULLUP | MODE0 */
+                               0x10 0x30       /* gpmc_ad4.gpmc_ad4, INPUT | PULLUP | MODE0 */
+                               0x14 0x30       /* gpmc_ad5.gpmc_ad5, INPUT | PULLUP | MODE0 */
+                               0x18 0x30       /* gpmc_ad6.gpmc_ad6, INPUT | PULLUP | MODE0 */
+                               0x1c 0x30       /* gpmc_ad7.gpmc_ad7, INPUT | PULLUP | MODE0 */
+                               0x70 0x30       /* gpmc_wait0.gpmc_wait0, INPUT | PULLUP | MODE0 */
+                               0x74 0x37       /* gpmc_wpn.gpio0_30, INPUT | PULLUP | MODE7 */
+                               0x7c 0x8        /* gpmc_csn0.gpmc_csn0,  PULL DISA */
+                               0x90 0x8        /* gpmc_advn_ale.gpmc_advn_ale, PULL DISA */
+                               0x94 0x8        /* gpmc_oen_ren.gpmc_oen_ren, PULL DISA */
+                               0x98 0x8        /* gpmc_wen.gpmc_wen, PULL DISA */
+                               0x9c 0x8        /* gpmc_be0n_cle.gpmc_be0n_cle, PULL DISA */
+                       >;
+               };
        };
 
        ocp {
                                reg = <0x48>;
                        };
                };
+
+               elm: elm@48080000 {
+                       status = "okay";
+               };
+
+               gpmc: gpmc@50000000 {
+                       status = "okay";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&nandflash_pins_s0>;
+                       ranges = <0 0 0x08000000 0x10000000>;   /* CS0: NAND */
+                       nand@0,0 {
+                               reg = <0 0 0>; /* CS0, offset 0 */
+                               nand-bus-width = <8>;
+                               ti,nand-ecc-opt = "bch8";
+                               gpmc,device-nand = "true";
+                               gpmc,device-width = <1>;
+                               gpmc,sync-clk-ps = <0>;
+                               gpmc,cs-on-ns = <0>;
+                               gpmc,cs-rd-off-ns = <44>;
+                               gpmc,cs-wr-off-ns = <44>;
+                               gpmc,adv-on-ns = <6>;
+                               gpmc,adv-rd-off-ns = <34>;
+                               gpmc,adv-wr-off-ns = <44>;
+                               gpmc,we-on-ns = <0>;
+                               gpmc,we-off-ns = <40>;
+                               gpmc,oe-on-ns = <0>;
+                               gpmc,oe-off-ns = <54>;
+                               gpmc,access-ns = <64>;
+                               gpmc,rd-cycle-ns = <82>;
+                               gpmc,wr-cycle-ns = <82>;
+                               gpmc,wait-on-read = "true";
+                               gpmc,wait-on-write = "true";
+                               gpmc,bus-turnaround-ns = <0>;
+                               gpmc,cycle2cycle-delay-ns = <0>;
+                               gpmc,clk-activation-ns = <0>;
+                               gpmc,wait-monitoring-ns = <0>;
+                               gpmc,wr-access-ns = <40>;
+                               gpmc,wr-data-mux-bus-ns = <0>;
+
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               elm_id = <&elm>;
+
+                               /* MTD partition table */
+                               partition@0 {
+                                       label = "SPL1";
+                                       reg = <0x00000000 0x000020000>;
+                               };
+
+                               partition@1 {
+                                       label = "SPL2";
+                                       reg = <0x00020000 0x00020000>;
+                               };
+
+                               partition@2 {
+                                       label = "SPL3";
+                                       reg = <0x00040000 0x00020000>;
+                               };
+
+                               partition@3 {
+                                       label = "SPL4";
+                                       reg = <0x00060000 0x00020000>;
+                               };
+
+                               partition@4 {
+                                       label = "U-boot";
+                                       reg = <0x00080000 0x001e0000>;
+                               };
+
+                               partition@5 {
+                                       label = "environment";
+                                       reg = <0x00260000 0x00020000>;
+                               };
+
+                               partition@6 {
+                                       label = "Kernel";
+                                       reg = <0x00280000 0x00500000>;
+                               };
+
+                               partition@7 {
+                                       label = "File-System";
+                                       reg = <0x00780000 0x0F880000>;
+                               };
+                       };
+               };
        };
 
        vbat: fixedregulator@0 {