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