1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Common device tree for IGEP boards based on AM/DM37x 4 * 5 * Copyright (C) 2012 Javier Martinez Canillas <javier@dowhile0.org> 6 * Copyright (C) 2012 Enric Balletbo i Serra <eballetbo@gmail.com> 7 */ 8/dts-v1/; 9 10#include "omap36xx.dtsi" 11 12/ { 13 memory@80000000 { 14 device_type = "memory"; 15 reg = <0x80000000 0x20000000>; /* 512 MB */ 16 }; 17 18 chosen { 19 stdout-path = &uart3; 20 }; 21 22 sound { 23 compatible = "ti,omap-twl4030"; 24 ti,model = "igep2"; 25 ti,mcbsp = <&mcbsp2>; 26 }; 27 28 vdd33: regulator-vdd33 { 29 compatible = "regulator-fixed"; 30 regulator-name = "vdd33"; 31 regulator-always-on; 32 }; 33 34}; 35 36&omap3_pmx_core { 37 gpmc_pins: gpmc-pins { 38 pinctrl-single,pins = < 39 /* OneNAND seems to require PIN_INPUT on clock. */ 40 OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ 41 >; 42 }; 43 44 uart1_pins: uart1-pins { 45 pinctrl-single,pins = < 46 OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ 47 OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ 48 >; 49 }; 50 51 uart3_pins: uart3-pins { 52 pinctrl-single,pins = < 53 OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx.uart3_rx */ 54 OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx.uart3_tx */ 55 >; 56 }; 57 58 mcbsp2_pins: mcbsp2-pins { 59 pinctrl-single,pins = < 60 OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx.mcbsp2_fsx */ 61 OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx.mcbsp2_clkx */ 62 OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr.mcbsp2.dr */ 63 OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx.mcbsp2_dx */ 64 >; 65 }; 66 67 mmc1_pins: mmc1-pins { 68 pinctrl-single,pins = < 69 OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 70 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 71 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 72 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 73 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 74 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 75 >; 76 }; 77 78 mmc2_pins: mmc2-pins { 79 pinctrl-single,pins = < 80 OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 81 OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 82 OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 83 OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 84 OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 85 OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 86 >; 87 }; 88 89 i2c1_pins: i2c1-pins { 90 pinctrl-single,pins = < 91 OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl.i2c1_scl */ 92 OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */ 93 >; 94 }; 95 96 i2c3_pins: i2c3-pins { 97 pinctrl-single,pins = < 98 OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl.i2c3_scl */ 99 OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */ 100 >; 101 }; 102}; 103 104&gpmc { 105 pinctrl-names = "default"; 106 pinctrl-0 = <&gpmc_pins>; 107 108 nand@0,0 { 109 compatible = "ti,omap2-nand"; 110 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 111 interrupt-parent = <&gpmc>; 112 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 113 <1 IRQ_TYPE_NONE>; /* termcount */ 114 nand-bus-width = <16>; 115 gpmc,device-width = <2>; 116 ti,nand-ecc-opt = "bch8"; 117 118 gpmc,sync-clk-ps = <0>; 119 gpmc,cs-on-ns = <0>; 120 gpmc,cs-rd-off-ns = <44>; 121 gpmc,cs-wr-off-ns = <44>; 122 gpmc,adv-on-ns = <6>; 123 gpmc,adv-rd-off-ns = <34>; 124 gpmc,adv-wr-off-ns = <44>; 125 gpmc,we-off-ns = <40>; 126 gpmc,oe-off-ns = <54>; 127 gpmc,access-ns = <64>; 128 gpmc,rd-cycle-ns = <82>; 129 gpmc,wr-cycle-ns = <82>; 130 gpmc,wr-access-ns = <40>; 131 gpmc,wr-data-mux-bus-ns = <0>; 132 133 #address-cells = <1>; 134 #size-cells = <1>; 135 136 status = "okay"; 137 }; 138 139 onenand@0,0 { 140 compatible = "ti,omap2-onenand"; 141 reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */ 142 143 gpmc,sync-read; 144 gpmc,sync-write; 145 gpmc,burst-length = <16>; 146 gpmc,burst-wrap; 147 gpmc,burst-read; 148 gpmc,burst-write; 149 gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */ 150 gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */ 151 gpmc,cs-on-ns = <0>; 152 gpmc,cs-rd-off-ns = <96>; 153 gpmc,cs-wr-off-ns = <96>; 154 gpmc,adv-on-ns = <0>; 155 gpmc,adv-rd-off-ns = <12>; 156 gpmc,adv-wr-off-ns = <12>; 157 gpmc,oe-on-ns = <18>; 158 gpmc,oe-off-ns = <96>; 159 gpmc,we-on-ns = <0>; 160 gpmc,we-off-ns = <96>; 161 gpmc,rd-cycle-ns = <114>; 162 gpmc,wr-cycle-ns = <114>; 163 gpmc,access-ns = <90>; 164 gpmc,page-burst-access-ns = <12>; 165 gpmc,bus-turnaround-ns = <0>; 166 gpmc,cycle2cycle-delay-ns = <0>; 167 gpmc,wait-monitoring-ns = <0>; 168 gpmc,clk-activation-ns = <6>; 169 gpmc,wr-data-mux-bus-ns = <30>; 170 gpmc,wr-access-ns = <90>; 171 gpmc,sync-clk-ps = <12000>; 172 173 #address-cells = <1>; 174 #size-cells = <1>; 175 176 status = "disabled"; 177 }; 178}; 179 180&i2c1 { 181 pinctrl-names = "default"; 182 pinctrl-0 = <&i2c1_pins>; 183 clock-frequency = <2600000>; 184 185 twl: twl@48 { 186 reg = <0x48>; 187 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 188 interrupt-parent = <&intc>; 189 190 twl_audio: audio { 191 compatible = "ti,twl4030-audio"; 192 codec { 193 }; 194 }; 195 }; 196}; 197 198#include "twl4030.dtsi" 199#include "twl4030_omap3.dtsi" 200 201&i2c3 { 202 pinctrl-names = "default"; 203 pinctrl-0 = <&i2c3_pins>; 204}; 205 206&mcbsp2 { 207 pinctrl-names = "default"; 208 pinctrl-0 = <&mcbsp2_pins>; 209 status = "okay"; 210}; 211 212&mmc1 { 213 pinctrl-names = "default"; 214 pinctrl-0 = <&mmc1_pins>; 215 vmmc-supply = <&vmmc1>; 216 vmmc_aux-supply = <&vsim>; 217 bus-width = <4>; 218 cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; 219}; 220 221&mmc3 { 222 status = "disabled"; 223}; 224 225&uart1 { 226 pinctrl-names = "default"; 227 pinctrl-0 = <&uart1_pins>; 228}; 229 230&uart3 { 231 pinctrl-names = "default"; 232 pinctrl-0 = <&uart3_pins>; 233}; 234 235&twl_gpio { 236 ti,use-leds; 237}; 238 239&usb_otg_hs { 240 interface-type = <0>; 241 usb-phy = <&usb2_phy>; 242 phys = <&usb2_phy>; 243 phy-names = "usb2-phy"; 244 mode = <3>; 245 power = <50>; 246}; 247