aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts118
-rw-r--r--arch/arm/boot/dts/dra7.dtsi20
2 files changed, 138 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index ec779072a0a3..4adc28039c30 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -120,6 +120,37 @@
120 0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */ 120 0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
121 >; 121 >;
122 }; 122 };
123
124 nand_flash_x16: nand_flash_x16 {
125 /* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
126 * So NAND flash requires following switch settings:
127 * SW5.9 (GPMC_WPN) = LOW
128 * SW5.1 (NAND_BOOTn) = HIGH */
129 pinctrl-single,pins = <
130 0x0 (PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
131 0x4 (PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
132 0x8 (PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
133 0xc (PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
134 0x10 (PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
135 0x14 (PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
136 0x18 (PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
137 0x1c (PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
138 0x20 (PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
139 0x24 (PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
140 0x28 (PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
141 0x2c (PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
142 0x30 (PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
143 0x34 (PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
144 0x38 (PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
145 0x3c (PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
146 0xd8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
147 0xcc (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
148 0xb4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
149 0xc4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
150 0xc8 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
151 0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
152 >;
153 };
123}; 154};
124 155
125&i2c1 { 156&i2c1 {
@@ -377,3 +408,90 @@
377 pinctrl-names = "default"; 408 pinctrl-names = "default";
378 pinctrl-0 = <&usb2_pins>; 409 pinctrl-0 = <&usb2_pins>;
379}; 410};
411
412&elm {
413 status = "okay";
414};
415
416&gpmc {
417 status = "okay";
418 pinctrl-names = "default";
419 pinctrl-0 = <&nand_flash_x16>;
420 ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */
421 nand@0,0 {
422 reg = <0 0 4>; /* device IO registers */
423 ti,nand-ecc-opt = "bch8";
424 ti,elm-id = <&elm>;
425 nand-bus-width = <16>;
426 gpmc,device-width = <2>;
427 gpmc,sync-clk-ps = <0>;
428 gpmc,cs-on-ns = <0>;
429 gpmc,cs-rd-off-ns = <40>;
430 gpmc,cs-wr-off-ns = <40>;
431 gpmc,adv-on-ns = <0>;
432 gpmc,adv-rd-off-ns = <30>;
433 gpmc,adv-wr-off-ns = <30>;
434 gpmc,we-on-ns = <5>;
435 gpmc,we-off-ns = <25>;
436 gpmc,oe-on-ns = <2>;
437 gpmc,oe-off-ns = <20>;
438 gpmc,access-ns = <20>;
439 gpmc,wr-access-ns = <40>;
440 gpmc,rd-cycle-ns = <40>;
441 gpmc,wr-cycle-ns = <40>;
442 gpmc,wait-pin = <0>;
443 gpmc,wait-on-read;
444 gpmc,wait-on-write;
445 gpmc,bus-turnaround-ns = <0>;
446 gpmc,cycle2cycle-delay-ns = <0>;
447 gpmc,clk-activation-ns = <0>;
448 gpmc,wait-monitoring-ns = <0>;
449 gpmc,wr-data-mux-bus-ns = <0>;
450 /* MTD partition table */
451 /* All SPL-* partitions are sized to minimal length
452 * which can be independently programmable. For
453 * NAND flash this is equal to size of erase-block */
454 #address-cells = <1>;
455 #size-cells = <1>;
456 partition@0 {
457 label = "NAND.SPL";
458 reg = <0x00000000 0x000020000>;
459 };
460 partition@1 {
461 label = "NAND.SPL.backup1";
462 reg = <0x00020000 0x00020000>;
463 };
464 partition@2 {
465 label = "NAND.SPL.backup2";
466 reg = <0x00040000 0x00020000>;
467 };
468 partition@3 {
469 label = "NAND.SPL.backup3";
470 reg = <0x00060000 0x00020000>;
471 };
472 partition@4 {
473 label = "NAND.u-boot-spl-os";
474 reg = <0x00080000 0x00040000>;
475 };
476 partition@5 {
477 label = "NAND.u-boot";
478 reg = <0x000c0000 0x00100000>;
479 };
480 partition@6 {
481 label = "NAND.u-boot-env";
482 reg = <0x001c0000 0x00020000>;
483 };
484 partition@7 {
485 label = "NAND.u-boot-env";
486 reg = <0x001e0000 0x00020000>;
487 };
488 partition@8 {
489 label = "NAND.kernel";
490 reg = <0x00200000 0x00800000>;
491 };
492 partition@9 {
493 label = "NAND.file-system";
494 reg = <0x00a00000 0x0f600000>;
495 };
496 };
497};
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index 6af8b080ea6d..a8a0ceec6775 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -964,6 +964,26 @@
964 dr_mode = "otg"; 964 dr_mode = "otg";
965 }; 965 };
966 }; 966 };
967
968 elm: elm@48078000 {
969 compatible = "ti,am3352-elm";
970 reg = <0x48078000 0xfc0>; /* device IO registers */
971 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
972 ti,hwmods = "elm";
973 status = "disabled";
974 };
975
976 gpmc: gpmc@50000000 {
977 compatible = "ti,am3352-gpmc";
978 ti,hwmods = "gpmc";
979 reg = <0x50000000 0x37c>; /* device IO registers */
980 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
981 gpmc,num-cs = <8>;
982 gpmc,num-waitpins = <2>;
983 #address-cells = <2>;
984 #size-cells = <1>;
985 status = "disabled";
986 };
967 }; 987 };
968}; 988};
969 989