1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun/dts-v1/; 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include "dra74x.dtsi" 8*4882a593Smuzhiyun#include "dra7-evm-common.dtsi" 9*4882a593Smuzhiyun#include "dra74x-mmc-iodelay.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun model = "TI DRA742"; 13*4882a593Smuzhiyun compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun memory@0 { 16*4882a593Smuzhiyun device_type = "memory"; 17*4882a593Smuzhiyun reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */ 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun evm_12v0: fixedregulator-evm_12v0 { 21*4882a593Smuzhiyun /* main supply */ 22*4882a593Smuzhiyun compatible = "regulator-fixed"; 23*4882a593Smuzhiyun regulator-name = "evm_12v0"; 24*4882a593Smuzhiyun regulator-min-microvolt = <12000000>; 25*4882a593Smuzhiyun regulator-max-microvolt = <12000000>; 26*4882a593Smuzhiyun regulator-always-on; 27*4882a593Smuzhiyun regulator-boot-on; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun evm_1v8_sw: fixedregulator-evm_1v8 { 31*4882a593Smuzhiyun compatible = "regulator-fixed"; 32*4882a593Smuzhiyun regulator-name = "evm_1v8"; 33*4882a593Smuzhiyun vin-supply = <&smps9_reg>; 34*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 35*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun reserved-memory { 39*4882a593Smuzhiyun #address-cells = <2>; 40*4882a593Smuzhiyun #size-cells = <2>; 41*4882a593Smuzhiyun ranges; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun ipu2_memory_region: ipu2-memory@95800000 { 44*4882a593Smuzhiyun compatible = "shared-dma-pool"; 45*4882a593Smuzhiyun reg = <0x0 0x95800000 0x0 0x3800000>; 46*4882a593Smuzhiyun reusable; 47*4882a593Smuzhiyun status = "okay"; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun dsp1_memory_region: dsp1-memory@99000000 { 51*4882a593Smuzhiyun compatible = "shared-dma-pool"; 52*4882a593Smuzhiyun reg = <0x0 0x99000000 0x0 0x4000000>; 53*4882a593Smuzhiyun reusable; 54*4882a593Smuzhiyun status = "okay"; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun ipu1_memory_region: ipu1-memory@9d000000 { 58*4882a593Smuzhiyun compatible = "shared-dma-pool"; 59*4882a593Smuzhiyun reg = <0x0 0x9d000000 0x0 0x2000000>; 60*4882a593Smuzhiyun reusable; 61*4882a593Smuzhiyun status = "okay"; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun dsp2_memory_region: dsp2-memory@9f000000 { 65*4882a593Smuzhiyun compatible = "shared-dma-pool"; 66*4882a593Smuzhiyun reg = <0x0 0x9f000000 0x0 0x800000>; 67*4882a593Smuzhiyun reusable; 68*4882a593Smuzhiyun status = "okay"; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun evm_3v3_sd: fixedregulator-sd { 73*4882a593Smuzhiyun compatible = "regulator-fixed"; 74*4882a593Smuzhiyun regulator-name = "evm_3v3_sd"; 75*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 76*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 77*4882a593Smuzhiyun enable-active-high; 78*4882a593Smuzhiyun gpio = <&pcf_gpio_21 5 GPIO_ACTIVE_HIGH>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun evm_3v3_sw: fixedregulator-evm_3v3_sw { 82*4882a593Smuzhiyun compatible = "regulator-fixed"; 83*4882a593Smuzhiyun regulator-name = "evm_3v3_sw"; 84*4882a593Smuzhiyun vin-supply = <&sysen1>; 85*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 86*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun aic_dvdd: fixedregulator-aic_dvdd { 90*4882a593Smuzhiyun /* TPS77018DBVT */ 91*4882a593Smuzhiyun compatible = "regulator-fixed"; 92*4882a593Smuzhiyun regulator-name = "aic_dvdd"; 93*4882a593Smuzhiyun vin-supply = <&evm_3v3_sw>; 94*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 95*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun vsys_3v3: fixedregulator-vsys3v3 { 99*4882a593Smuzhiyun /* Output of Cntlr A of TPS43351-Q1 on dra7-evm */ 100*4882a593Smuzhiyun compatible = "regulator-fixed"; 101*4882a593Smuzhiyun regulator-name = "vsys_3v3"; 102*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 103*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 104*4882a593Smuzhiyun vin-supply = <&evm_12v0>; 105*4882a593Smuzhiyun regulator-always-on; 106*4882a593Smuzhiyun regulator-boot-on; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun evm_5v0: fixedregulator-evm_5v0 { 110*4882a593Smuzhiyun /* Output of Cntlr B of TPS43351-Q1 on dra7-evm */ 111*4882a593Smuzhiyun compatible = "regulator-fixed"; 112*4882a593Smuzhiyun regulator-name = "evm_5v0"; 113*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 114*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 115*4882a593Smuzhiyun vin-supply = <&evm_12v0>; 116*4882a593Smuzhiyun regulator-always-on; 117*4882a593Smuzhiyun regulator-boot-on; 118*4882a593Smuzhiyun }; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun evm_3v6: fixedregulator-evm_3v6 { 121*4882a593Smuzhiyun compatible = "regulator-fixed"; 122*4882a593Smuzhiyun regulator-name = "evm_3v6"; 123*4882a593Smuzhiyun regulator-min-microvolt = <3600000>; 124*4882a593Smuzhiyun regulator-max-microvolt = <3600000>; 125*4882a593Smuzhiyun vin-supply = <&evm_5v0>; 126*4882a593Smuzhiyun regulator-always-on; 127*4882a593Smuzhiyun regulator-boot-on; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun vmmcwl_fixed: fixedregulator-mmcwl { 131*4882a593Smuzhiyun compatible = "regulator-fixed"; 132*4882a593Smuzhiyun regulator-name = "vmmcwl_fixed"; 133*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 134*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 135*4882a593Smuzhiyun gpio = <&gpio5 8 0>; 136*4882a593Smuzhiyun startup-delay-us = <70000>; 137*4882a593Smuzhiyun enable-active-high; 138*4882a593Smuzhiyun }; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun vtt_fixed: fixedregulator-vtt { 141*4882a593Smuzhiyun compatible = "regulator-fixed"; 142*4882a593Smuzhiyun regulator-name = "vtt_fixed"; 143*4882a593Smuzhiyun regulator-min-microvolt = <1350000>; 144*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 145*4882a593Smuzhiyun regulator-always-on; 146*4882a593Smuzhiyun regulator-boot-on; 147*4882a593Smuzhiyun enable-active-high; 148*4882a593Smuzhiyun vin-supply = <&sysen2>; 149*4882a593Smuzhiyun gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun}; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun&dra7_pmx_core { 155*4882a593Smuzhiyun dcan1_pins_default: dcan1_pins_default { 156*4882a593Smuzhiyun pinctrl-single,pins = < 157*4882a593Smuzhiyun DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */ 158*4882a593Smuzhiyun DRA7XX_CORE_IOPAD(0x3818, PULL_UP | MUX_MODE1) /* wakeup0.dcan1_rx */ 159*4882a593Smuzhiyun >; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun dcan1_pins_sleep: dcan1_pins_sleep { 163*4882a593Smuzhiyun pinctrl-single,pins = < 164*4882a593Smuzhiyun DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */ 165*4882a593Smuzhiyun DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */ 166*4882a593Smuzhiyun >; 167*4882a593Smuzhiyun }; 168*4882a593Smuzhiyun}; 169*4882a593Smuzhiyun 170*4882a593Smuzhiyun&i2c1 { 171*4882a593Smuzhiyun status = "okay"; 172*4882a593Smuzhiyun clock-frequency = <400000>; 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun tps659038: tps659038@58 { 175*4882a593Smuzhiyun compatible = "ti,tps659038"; 176*4882a593Smuzhiyun reg = <0x58>; 177*4882a593Smuzhiyun ti,palmas-override-powerhold; 178*4882a593Smuzhiyun ti,system-power-controller; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun tps659038_pmic { 181*4882a593Smuzhiyun compatible = "ti,tps659038-pmic"; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun regulators { 184*4882a593Smuzhiyun smps123_reg: smps123 { 185*4882a593Smuzhiyun /* VDD_MPU */ 186*4882a593Smuzhiyun regulator-name = "smps123"; 187*4882a593Smuzhiyun regulator-min-microvolt = < 850000>; 188*4882a593Smuzhiyun regulator-max-microvolt = <1250000>; 189*4882a593Smuzhiyun regulator-always-on; 190*4882a593Smuzhiyun regulator-boot-on; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun smps45_reg: smps45 { 194*4882a593Smuzhiyun /* VDD_DSPEVE */ 195*4882a593Smuzhiyun regulator-name = "smps45"; 196*4882a593Smuzhiyun regulator-min-microvolt = < 850000>; 197*4882a593Smuzhiyun regulator-max-microvolt = <1250000>; 198*4882a593Smuzhiyun regulator-always-on; 199*4882a593Smuzhiyun regulator-boot-on; 200*4882a593Smuzhiyun }; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun smps6_reg: smps6 { 203*4882a593Smuzhiyun /* VDD_GPU - over VDD_SMPS6 */ 204*4882a593Smuzhiyun regulator-name = "smps6"; 205*4882a593Smuzhiyun regulator-min-microvolt = <850000>; 206*4882a593Smuzhiyun regulator-max-microvolt = <1250000>; 207*4882a593Smuzhiyun regulator-always-on; 208*4882a593Smuzhiyun regulator-boot-on; 209*4882a593Smuzhiyun }; 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun smps7_reg: smps7 { 212*4882a593Smuzhiyun /* CORE_VDD */ 213*4882a593Smuzhiyun regulator-name = "smps7"; 214*4882a593Smuzhiyun regulator-min-microvolt = <850000>; 215*4882a593Smuzhiyun regulator-max-microvolt = <1150000>; 216*4882a593Smuzhiyun regulator-always-on; 217*4882a593Smuzhiyun regulator-boot-on; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun smps8_reg: smps8 { 221*4882a593Smuzhiyun /* VDD_IVAHD */ 222*4882a593Smuzhiyun regulator-name = "smps8"; 223*4882a593Smuzhiyun regulator-min-microvolt = < 850000>; 224*4882a593Smuzhiyun regulator-max-microvolt = <1250000>; 225*4882a593Smuzhiyun regulator-always-on; 226*4882a593Smuzhiyun regulator-boot-on; 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun smps9_reg: smps9 { 230*4882a593Smuzhiyun /* VDDS1V8 */ 231*4882a593Smuzhiyun regulator-name = "smps9"; 232*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 233*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 234*4882a593Smuzhiyun regulator-always-on; 235*4882a593Smuzhiyun regulator-boot-on; 236*4882a593Smuzhiyun }; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun ldo1_reg: ldo1 { 239*4882a593Smuzhiyun /* LDO1_OUT --> SDIO */ 240*4882a593Smuzhiyun regulator-name = "ldo1"; 241*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 242*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 243*4882a593Smuzhiyun regulator-always-on; 244*4882a593Smuzhiyun regulator-boot-on; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun ldo2_reg: ldo2 { 248*4882a593Smuzhiyun /* VDD_RTCIO */ 249*4882a593Smuzhiyun /* LDO2 -> VDDSHV5, LDO2 also goes to CAN_PHY_3V3 */ 250*4882a593Smuzhiyun regulator-name = "ldo2"; 251*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 252*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 253*4882a593Smuzhiyun regulator-always-on; 254*4882a593Smuzhiyun regulator-boot-on; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun ldo3_reg: ldo3 { 258*4882a593Smuzhiyun /* VDDA_1V8_PHY */ 259*4882a593Smuzhiyun regulator-name = "ldo3"; 260*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 261*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 262*4882a593Smuzhiyun regulator-always-on; 263*4882a593Smuzhiyun regulator-boot-on; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun ldo9_reg: ldo9 { 267*4882a593Smuzhiyun /* VDD_RTC */ 268*4882a593Smuzhiyun regulator-name = "ldo9"; 269*4882a593Smuzhiyun regulator-min-microvolt = <1050000>; 270*4882a593Smuzhiyun regulator-max-microvolt = <1050000>; 271*4882a593Smuzhiyun regulator-always-on; 272*4882a593Smuzhiyun regulator-boot-on; 273*4882a593Smuzhiyun regulator-allow-bypass; 274*4882a593Smuzhiyun }; 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun ldoln_reg: ldoln { 277*4882a593Smuzhiyun /* VDDA_1V8_PLL */ 278*4882a593Smuzhiyun regulator-name = "ldoln"; 279*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 280*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 281*4882a593Smuzhiyun regulator-always-on; 282*4882a593Smuzhiyun regulator-boot-on; 283*4882a593Smuzhiyun }; 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun ldousb_reg: ldousb { 286*4882a593Smuzhiyun /* VDDA_3V_USB: VDDA_USBHS33 */ 287*4882a593Smuzhiyun regulator-name = "ldousb"; 288*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 289*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 290*4882a593Smuzhiyun regulator-boot-on; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun /* REGEN1 is unused */ 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun regen2: regen2 { 296*4882a593Smuzhiyun /* Needed for PMIC internal resources */ 297*4882a593Smuzhiyun regulator-name = "regen2"; 298*4882a593Smuzhiyun regulator-boot-on; 299*4882a593Smuzhiyun regulator-always-on; 300*4882a593Smuzhiyun }; 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun /* REGEN3 is unused */ 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun sysen1: sysen1 { 305*4882a593Smuzhiyun /* PMIC_REGEN_3V3 */ 306*4882a593Smuzhiyun regulator-name = "sysen1"; 307*4882a593Smuzhiyun regulator-boot-on; 308*4882a593Smuzhiyun regulator-always-on; 309*4882a593Smuzhiyun }; 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun sysen2: sysen2 { 312*4882a593Smuzhiyun /* PMIC_REGEN_DDR */ 313*4882a593Smuzhiyun regulator-name = "sysen2"; 314*4882a593Smuzhiyun regulator-boot-on; 315*4882a593Smuzhiyun regulator-always-on; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun }; 318*4882a593Smuzhiyun }; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun pcf_lcd: gpio@20 { 322*4882a593Smuzhiyun compatible = "ti,pcf8575", "nxp,pcf8575"; 323*4882a593Smuzhiyun reg = <0x20>; 324*4882a593Smuzhiyun gpio-controller; 325*4882a593Smuzhiyun #gpio-cells = <2>; 326*4882a593Smuzhiyun interrupt-parent = <&gpio6>; 327*4882a593Smuzhiyun interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 328*4882a593Smuzhiyun interrupt-controller; 329*4882a593Smuzhiyun #interrupt-cells = <2>; 330*4882a593Smuzhiyun }; 331*4882a593Smuzhiyun 332*4882a593Smuzhiyun pcf_gpio_21: gpio@21 { 333*4882a593Smuzhiyun compatible = "ti,pcf8575", "nxp,pcf8575"; 334*4882a593Smuzhiyun reg = <0x21>; 335*4882a593Smuzhiyun lines-initial-states = <0x1408>; 336*4882a593Smuzhiyun gpio-controller; 337*4882a593Smuzhiyun #gpio-cells = <2>; 338*4882a593Smuzhiyun interrupt-parent = <&gpio6>; 339*4882a593Smuzhiyun interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 340*4882a593Smuzhiyun interrupt-controller; 341*4882a593Smuzhiyun #interrupt-cells = <2>; 342*4882a593Smuzhiyun }; 343*4882a593Smuzhiyun 344*4882a593Smuzhiyun tlv320aic3106: tlv320aic3106@19 { 345*4882a593Smuzhiyun #sound-dai-cells = <0>; 346*4882a593Smuzhiyun compatible = "ti,tlv320aic3106"; 347*4882a593Smuzhiyun reg = <0x19>; 348*4882a593Smuzhiyun adc-settle-ms = <40>; 349*4882a593Smuzhiyun ai3x-micbias-vg = <1>; /* 2.0V */ 350*4882a593Smuzhiyun status = "okay"; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun /* Regulators */ 353*4882a593Smuzhiyun AVDD-supply = <&evm_3v3_sw>; 354*4882a593Smuzhiyun IOVDD-supply = <&evm_3v3_sw>; 355*4882a593Smuzhiyun DRVDD-supply = <&evm_3v3_sw>; 356*4882a593Smuzhiyun DVDD-supply = <&aic_dvdd>; 357*4882a593Smuzhiyun }; 358*4882a593Smuzhiyun}; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun&i2c2 { 361*4882a593Smuzhiyun status = "okay"; 362*4882a593Smuzhiyun clock-frequency = <400000>; 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun pcf_hdmi: gpio@26 { 365*4882a593Smuzhiyun compatible = "ti,pcf8575", "nxp,pcf8575"; 366*4882a593Smuzhiyun reg = <0x26>; 367*4882a593Smuzhiyun gpio-controller; 368*4882a593Smuzhiyun #gpio-cells = <2>; 369*4882a593Smuzhiyun p1 { 370*4882a593Smuzhiyun /* vin6_sel_s0: high: VIN6, low: audio */ 371*4882a593Smuzhiyun gpio-hog; 372*4882a593Smuzhiyun gpios = <1 GPIO_ACTIVE_HIGH>; 373*4882a593Smuzhiyun output-low; 374*4882a593Smuzhiyun line-name = "vin6_sel_s0"; 375*4882a593Smuzhiyun }; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun}; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun&mmc1 { 380*4882a593Smuzhiyun status = "okay"; 381*4882a593Smuzhiyun vmmc-supply = <&evm_3v3_sd>; 382*4882a593Smuzhiyun vqmmc-supply = <&ldo1_reg>; 383*4882a593Smuzhiyun bus-width = <4>; 384*4882a593Smuzhiyun /* 385*4882a593Smuzhiyun * SDCD signal is not being used here - using the fact that GPIO mode 386*4882a593Smuzhiyun * is always hardwired. 387*4882a593Smuzhiyun */ 388*4882a593Smuzhiyun cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; 389*4882a593Smuzhiyun pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104"; 390*4882a593Smuzhiyun pinctrl-0 = <&mmc1_pins_default>; 391*4882a593Smuzhiyun pinctrl-1 = <&mmc1_pins_hs>; 392*4882a593Smuzhiyun pinctrl-2 = <&mmc1_pins_sdr12>; 393*4882a593Smuzhiyun pinctrl-3 = <&mmc1_pins_sdr25>; 394*4882a593Smuzhiyun pinctrl-4 = <&mmc1_pins_sdr50>; 395*4882a593Smuzhiyun pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>; 396*4882a593Smuzhiyun pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>; 397*4882a593Smuzhiyun pinctrl-7 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>; 398*4882a593Smuzhiyun pinctrl-8 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>; 399*4882a593Smuzhiyun}; 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun&mmc2 { 402*4882a593Smuzhiyun status = "okay"; 403*4882a593Smuzhiyun vmmc-supply = <&evm_1v8_sw>; 404*4882a593Smuzhiyun vqmmc-supply = <&evm_1v8_sw>; 405*4882a593Smuzhiyun bus-width = <8>; 406*4882a593Smuzhiyun non-removable; 407*4882a593Smuzhiyun pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v"; 408*4882a593Smuzhiyun pinctrl-0 = <&mmc2_pins_default>; 409*4882a593Smuzhiyun pinctrl-1 = <&mmc2_pins_hs>; 410*4882a593Smuzhiyun pinctrl-2 = <&mmc2_pins_ddr_1_8v_rev11 &mmc2_iodelay_ddr_1_8v_rev11_conf>; 411*4882a593Smuzhiyun pinctrl-3 = <&mmc2_pins_ddr_rev20>; 412*4882a593Smuzhiyun pinctrl-4 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev11_conf>; 413*4882a593Smuzhiyun pinctrl-5 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>; 414*4882a593Smuzhiyun}; 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun&mmc4 { 417*4882a593Smuzhiyun status = "okay"; 418*4882a593Smuzhiyun vmmc-supply = <&evm_3v6>; 419*4882a593Smuzhiyun vqmmc-supply = <&vmmcwl_fixed>; 420*4882a593Smuzhiyun pinctrl-names = "default-rev11", "default", "hs-rev11", "hs", "sdr12-rev11", "sdr12", "sdr25-rev11", "sdr25"; 421*4882a593Smuzhiyun pinctrl-0 = <&mmc4_pins_default &mmc4_iodelay_ds_rev11_conf>; 422*4882a593Smuzhiyun pinctrl-1 = <&mmc4_pins_default &mmc4_iodelay_ds_rev20_conf>; 423*4882a593Smuzhiyun pinctrl-2 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>; 424*4882a593Smuzhiyun pinctrl-3 = <&mmc4_pins_hs &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>; 425*4882a593Smuzhiyun pinctrl-4 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>; 426*4882a593Smuzhiyun pinctrl-5 = <&mmc4_pins_sdr12 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>; 427*4882a593Smuzhiyun pinctrl-6 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev11_conf>; 428*4882a593Smuzhiyun pinctrl-7 = <&mmc4_pins_sdr25 &mmc4_iodelay_sdr12_hs_sdr25_rev20_conf>; 429*4882a593Smuzhiyun}; 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun&cpu0 { 432*4882a593Smuzhiyun vdd-supply = <&smps123_reg>; 433*4882a593Smuzhiyun}; 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun&elm { 436*4882a593Smuzhiyun status = "okay"; 437*4882a593Smuzhiyun}; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun&gpmc { 440*4882a593Smuzhiyun /* 441*4882a593Smuzhiyun * For the existing IOdelay configuration via U-Boot we don't 442*4882a593Smuzhiyun * support NAND on dra7-evm. Keep it disabled. Enabling it 443*4882a593Smuzhiyun * requires a different configuration by U-Boot. 444*4882a593Smuzhiyun */ 445*4882a593Smuzhiyun status = "disabled"; 446*4882a593Smuzhiyun ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */ 447*4882a593Smuzhiyun nand@0,0 { 448*4882a593Smuzhiyun compatible = "ti,omap2-nand"; 449*4882a593Smuzhiyun reg = <0 0 4>; /* device IO registers */ 450*4882a593Smuzhiyun interrupt-parent = <&gpmc>; 451*4882a593Smuzhiyun interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 452*4882a593Smuzhiyun <1 IRQ_TYPE_NONE>; /* termcount */ 453*4882a593Smuzhiyun rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */ 454*4882a593Smuzhiyun ti,nand-xfer-type = "prefetch-dma"; 455*4882a593Smuzhiyun ti,nand-ecc-opt = "bch8"; 456*4882a593Smuzhiyun ti,elm-id = <&elm>; 457*4882a593Smuzhiyun nand-bus-width = <16>; 458*4882a593Smuzhiyun gpmc,device-width = <2>; 459*4882a593Smuzhiyun gpmc,sync-clk-ps = <0>; 460*4882a593Smuzhiyun gpmc,cs-on-ns = <0>; 461*4882a593Smuzhiyun gpmc,cs-rd-off-ns = <80>; 462*4882a593Smuzhiyun gpmc,cs-wr-off-ns = <80>; 463*4882a593Smuzhiyun gpmc,adv-on-ns = <0>; 464*4882a593Smuzhiyun gpmc,adv-rd-off-ns = <60>; 465*4882a593Smuzhiyun gpmc,adv-wr-off-ns = <60>; 466*4882a593Smuzhiyun gpmc,we-on-ns = <10>; 467*4882a593Smuzhiyun gpmc,we-off-ns = <50>; 468*4882a593Smuzhiyun gpmc,oe-on-ns = <4>; 469*4882a593Smuzhiyun gpmc,oe-off-ns = <40>; 470*4882a593Smuzhiyun gpmc,access-ns = <40>; 471*4882a593Smuzhiyun gpmc,wr-access-ns = <80>; 472*4882a593Smuzhiyun gpmc,rd-cycle-ns = <80>; 473*4882a593Smuzhiyun gpmc,wr-cycle-ns = <80>; 474*4882a593Smuzhiyun gpmc,bus-turnaround-ns = <0>; 475*4882a593Smuzhiyun gpmc,cycle2cycle-delay-ns = <0>; 476*4882a593Smuzhiyun gpmc,clk-activation-ns = <0>; 477*4882a593Smuzhiyun gpmc,wr-data-mux-bus-ns = <0>; 478*4882a593Smuzhiyun /* MTD partition table */ 479*4882a593Smuzhiyun /* All SPL-* partitions are sized to minimal length 480*4882a593Smuzhiyun * which can be independently programmable. For 481*4882a593Smuzhiyun * NAND flash this is equal to size of erase-block */ 482*4882a593Smuzhiyun #address-cells = <1>; 483*4882a593Smuzhiyun #size-cells = <1>; 484*4882a593Smuzhiyun partition@0 { 485*4882a593Smuzhiyun label = "NAND.SPL"; 486*4882a593Smuzhiyun reg = <0x00000000 0x000020000>; 487*4882a593Smuzhiyun }; 488*4882a593Smuzhiyun partition@1 { 489*4882a593Smuzhiyun label = "NAND.SPL.backup1"; 490*4882a593Smuzhiyun reg = <0x00020000 0x00020000>; 491*4882a593Smuzhiyun }; 492*4882a593Smuzhiyun partition@2 { 493*4882a593Smuzhiyun label = "NAND.SPL.backup2"; 494*4882a593Smuzhiyun reg = <0x00040000 0x00020000>; 495*4882a593Smuzhiyun }; 496*4882a593Smuzhiyun partition@3 { 497*4882a593Smuzhiyun label = "NAND.SPL.backup3"; 498*4882a593Smuzhiyun reg = <0x00060000 0x00020000>; 499*4882a593Smuzhiyun }; 500*4882a593Smuzhiyun partition@4 { 501*4882a593Smuzhiyun label = "NAND.u-boot-spl-os"; 502*4882a593Smuzhiyun reg = <0x00080000 0x00040000>; 503*4882a593Smuzhiyun }; 504*4882a593Smuzhiyun partition@5 { 505*4882a593Smuzhiyun label = "NAND.u-boot"; 506*4882a593Smuzhiyun reg = <0x000c0000 0x00100000>; 507*4882a593Smuzhiyun }; 508*4882a593Smuzhiyun partition@6 { 509*4882a593Smuzhiyun label = "NAND.u-boot-env"; 510*4882a593Smuzhiyun reg = <0x001c0000 0x00020000>; 511*4882a593Smuzhiyun }; 512*4882a593Smuzhiyun partition@7 { 513*4882a593Smuzhiyun label = "NAND.u-boot-env.backup1"; 514*4882a593Smuzhiyun reg = <0x001e0000 0x00020000>; 515*4882a593Smuzhiyun }; 516*4882a593Smuzhiyun partition@8 { 517*4882a593Smuzhiyun label = "NAND.kernel"; 518*4882a593Smuzhiyun reg = <0x00200000 0x00800000>; 519*4882a593Smuzhiyun }; 520*4882a593Smuzhiyun partition@9 { 521*4882a593Smuzhiyun label = "NAND.file-system"; 522*4882a593Smuzhiyun reg = <0x00a00000 0x0f600000>; 523*4882a593Smuzhiyun }; 524*4882a593Smuzhiyun }; 525*4882a593Smuzhiyun}; 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun&usb2_phy1 { 528*4882a593Smuzhiyun phy-supply = <&ldousb_reg>; 529*4882a593Smuzhiyun}; 530*4882a593Smuzhiyun 531*4882a593Smuzhiyun&usb2_phy2 { 532*4882a593Smuzhiyun phy-supply = <&ldousb_reg>; 533*4882a593Smuzhiyun}; 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun&gpio7_target { 536*4882a593Smuzhiyun ti,no-reset-on-init; 537*4882a593Smuzhiyun ti,no-idle-on-init; 538*4882a593Smuzhiyun}; 539*4882a593Smuzhiyun 540*4882a593Smuzhiyun&mac_sw { 541*4882a593Smuzhiyun status = "okay"; 542*4882a593Smuzhiyun}; 543*4882a593Smuzhiyun 544*4882a593Smuzhiyun&cpsw_port1 { 545*4882a593Smuzhiyun phy-handle = <ðphy0>; 546*4882a593Smuzhiyun phy-mode = "rgmii"; 547*4882a593Smuzhiyun ti,dual-emac-pvid = <1>; 548*4882a593Smuzhiyun}; 549*4882a593Smuzhiyun 550*4882a593Smuzhiyun&cpsw_port2 { 551*4882a593Smuzhiyun phy-handle = <ðphy1>; 552*4882a593Smuzhiyun phy-mode = "rgmii"; 553*4882a593Smuzhiyun ti,dual-emac-pvid = <2>; 554*4882a593Smuzhiyun}; 555*4882a593Smuzhiyun 556*4882a593Smuzhiyun&davinci_mdio_sw { 557*4882a593Smuzhiyun ethphy0: ethernet-phy@2 { 558*4882a593Smuzhiyun reg = <2>; 559*4882a593Smuzhiyun }; 560*4882a593Smuzhiyun 561*4882a593Smuzhiyun ethphy1: ethernet-phy@3 { 562*4882a593Smuzhiyun reg = <3>; 563*4882a593Smuzhiyun }; 564*4882a593Smuzhiyun}; 565*4882a593Smuzhiyun 566*4882a593Smuzhiyun&dcan1 { 567*4882a593Smuzhiyun status = "okay"; 568*4882a593Smuzhiyun pinctrl-names = "default", "sleep", "active"; 569*4882a593Smuzhiyun pinctrl-0 = <&dcan1_pins_sleep>; 570*4882a593Smuzhiyun pinctrl-1 = <&dcan1_pins_sleep>; 571*4882a593Smuzhiyun pinctrl-2 = <&dcan1_pins_default>; 572*4882a593Smuzhiyun}; 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun&ipu2 { 575*4882a593Smuzhiyun status = "okay"; 576*4882a593Smuzhiyun memory-region = <&ipu2_memory_region>; 577*4882a593Smuzhiyun}; 578*4882a593Smuzhiyun 579*4882a593Smuzhiyun&ipu1 { 580*4882a593Smuzhiyun status = "okay"; 581*4882a593Smuzhiyun memory-region = <&ipu1_memory_region>; 582*4882a593Smuzhiyun}; 583*4882a593Smuzhiyun 584*4882a593Smuzhiyun&dsp1 { 585*4882a593Smuzhiyun status = "okay"; 586*4882a593Smuzhiyun memory-region = <&dsp1_memory_region>; 587*4882a593Smuzhiyun}; 588*4882a593Smuzhiyun 589*4882a593Smuzhiyun&dsp2 { 590*4882a593Smuzhiyun status = "okay"; 591*4882a593Smuzhiyun memory-region = <&dsp2_memory_region>; 592*4882a593Smuzhiyun}; 593