0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Copyright (C) 2014-18 H. Nikolaus Schaller <hns@goldelico.com>
0004 */
0005
0006 #include "omap3-gta04a5.dts"
0007
0008 &omap3_pmx_core {
0009 model = "Goldelico GTA04A5/Letux 2804 with OneNAND";
0010
0011 gpmc_pins: pinmux_gpmc_pins {
0012 pinctrl-single,pins = <
0013
0014 /* address lines */
0015 OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */
0016 OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */
0017 OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */
0018
0019 /* data lines, gpmc_d0..d7 not muxable according to TRM */
0020 OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */
0021 OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */
0022 OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */
0023 OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */
0024 OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */
0025 OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */
0026 OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */
0027 OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */
0028
0029 /*
0030 * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable
0031 * according to TRM. OneNAND seems to require PIN_INPUT on clock.
0032 */
0033 OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */
0034 OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */
0035 >;
0036 };
0037 };
0038
0039 &gpmc {
0040 /* switch inherited setup to OneNAND */
0041
0042 ranges = <0 0 0x04000000 0x1000000>; /* CS0: 16MB for OneNAND */
0043 pinctrl-names = "default";
0044 pinctrl-0 = <&gpmc_pins>;
0045
0046 /delete-node/ nand@0,0;
0047
0048 onenand@0,0 {
0049
0050 #address-cells = <1>;
0051 #size-cells = <1>;
0052 compatible = "ti,omap2-onenand";
0053 reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */
0054
0055 gpmc,sync-read;
0056 gpmc,sync-write;
0057 gpmc,burst-length = <16>;
0058 gpmc,burst-read;
0059 gpmc,burst-wrap;
0060 gpmc,burst-write;
0061 gpmc,device-width = <2>;
0062 gpmc,mux-add-data = <2>;
0063 gpmc,cs-on-ns = <0>;
0064 gpmc,cs-rd-off-ns = <87>;
0065 gpmc,cs-wr-off-ns = <87>;
0066 gpmc,adv-on-ns = <0>;
0067 gpmc,adv-rd-off-ns = <10>;
0068 gpmc,adv-wr-off-ns = <10>;
0069 gpmc,oe-on-ns = <15>;
0070 gpmc,oe-off-ns = <87>;
0071 gpmc,we-on-ns = <0>;
0072 gpmc,we-off-ns = <87>;
0073 gpmc,rd-cycle-ns = <112>;
0074 gpmc,wr-cycle-ns = <112>;
0075 gpmc,access-ns = <81>;
0076 gpmc,page-burst-access-ns = <15>;
0077 gpmc,bus-turnaround-ns = <0>;
0078 gpmc,cycle2cycle-delay-ns = <0>;
0079 gpmc,wait-monitoring-ns = <0>;
0080 gpmc,clk-activation-ns = <5>;
0081 gpmc,wr-data-mux-bus-ns = <30>;
0082 gpmc,wr-access-ns = <81>;
0083 gpmc,sync-clk-ps = <15000>;
0084
0085 x-loader@0 {
0086 label = "X-Loader";
0087 reg = <0 0x80000>;
0088 };
0089
0090 bootloaders@80000 {
0091 label = "U-Boot";
0092 reg = <0x80000 0x1c0000>;
0093 };
0094
0095 bootloaders_env@240000 {
0096 label = "U-Boot Env";
0097 reg = <0x240000 0x40000>;
0098 };
0099
0100 kernel@280000 {
0101 label = "Kernel";
0102 reg = <0x280000 0x600000>;
0103 };
0104
0105 filesystem@880000 {
0106 label = "File System";
0107 reg = <0x880000 0>; /* 0 = MTDPART_SIZ_FULL */
0108 };
0109
0110 };
0111 };