1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring#include "tegra20.dtsi" 3*724ba675SRob Herring 4*724ba675SRob Herring/* 5*724ba675SRob Herring * Toradex Colibri T20 Module Device Tree 6*724ba675SRob Herring * Compatible for Revisions Colibri T20 256MB V1.1B, V1.2A; 7*724ba675SRob Herring * Colibri T20 256MB IT V1.2A; Colibri T20 512MB V1.1C, V1.2A; 8*724ba675SRob Herring * Colibri T20 512MB IT V1.2A 9*724ba675SRob Herring */ 10*724ba675SRob Herring/ { 11*724ba675SRob Herring memory@0 { 12*724ba675SRob Herring /* 13*724ba675SRob Herring * Set memory to 256 MB to be safe as this could be used on 14*724ba675SRob Herring * 256 or 512 MB module. It is expected from bootloader 15*724ba675SRob Herring * to fix this up for 512 MB version. 16*724ba675SRob Herring */ 17*724ba675SRob Herring reg = <0x00000000 0x10000000>; 18*724ba675SRob Herring }; 19*724ba675SRob Herring 20*724ba675SRob Herring host1x@50000000 { 21*724ba675SRob Herring hdmi@54280000 { 22*724ba675SRob Herring nvidia,ddc-i2c-bus = <&hdmi_ddc>; 23*724ba675SRob Herring nvidia,hpd-gpio = 24*724ba675SRob Herring <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 25*724ba675SRob Herring pll-supply = <®_1v8_avdd_hdmi_pll>; 26*724ba675SRob Herring vdd-supply = <®_3v3_avdd_hdmi>; 27*724ba675SRob Herring }; 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring gpio@6000d000 { 31*724ba675SRob Herring lan-reset-n-hog { 32*724ba675SRob Herring gpio-hog; 33*724ba675SRob Herring gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>; 34*724ba675SRob Herring output-high; 35*724ba675SRob Herring line-name = "LAN_RESET#"; 36*724ba675SRob Herring }; 37*724ba675SRob Herring 38*724ba675SRob Herring /* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */ 39*724ba675SRob Herring npwe-hog { 40*724ba675SRob Herring gpio-hog; 41*724ba675SRob Herring gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>; 42*724ba675SRob Herring output-high; 43*724ba675SRob Herring line-name = "Tri-state nPWE"; 44*724ba675SRob Herring }; 45*724ba675SRob Herring 46*724ba675SRob Herring /* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */ 47*724ba675SRob Herring rdnwr-hog { 48*724ba675SRob Herring gpio-hog; 49*724ba675SRob Herring gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>; 50*724ba675SRob Herring output-low; 51*724ba675SRob Herring line-name = "Not tri-state RDnWR"; 52*724ba675SRob Herring }; 53*724ba675SRob Herring }; 54*724ba675SRob Herring 55*724ba675SRob Herring pinmux@70000014 { 56*724ba675SRob Herring pinctrl-names = "default"; 57*724ba675SRob Herring pinctrl-0 = <&state_default>; 58*724ba675SRob Herring 59*724ba675SRob Herring state_default: pinmux { 60*724ba675SRob Herring /* Analogue Audio AC97 to WM9712 (On-module) */ 61*724ba675SRob Herring audio-refclk { 62*724ba675SRob Herring nvidia,pins = "cdev1"; 63*724ba675SRob Herring nvidia,function = "plla_out"; 64*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 65*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 66*724ba675SRob Herring }; 67*724ba675SRob Herring dap3 { 68*724ba675SRob Herring nvidia,pins = "dap3"; 69*724ba675SRob Herring nvidia,function = "dap3"; 70*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 71*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 72*724ba675SRob Herring }; 73*724ba675SRob Herring 74*724ba675SRob Herring /* 75*724ba675SRob Herring * AC97_RESET, ULPI_RESET, AC97_INT aka WM9712 GENIRQ 76*724ba675SRob Herring * (All on-module), SODIMM Pin 45 Wakeup 77*724ba675SRob Herring */ 78*724ba675SRob Herring gpio-uac { 79*724ba675SRob Herring nvidia,pins = "uac"; 80*724ba675SRob Herring nvidia,function = "rsvd2"; 81*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 82*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 83*724ba675SRob Herring }; 84*724ba675SRob Herring 85*724ba675SRob Herring /* 86*724ba675SRob Herring * Buffer Enables for nPWE and RDnWR (On-module, 87*724ba675SRob Herring * see GPIO hogging further down below) 88*724ba675SRob Herring */ 89*724ba675SRob Herring gpio-pta { 90*724ba675SRob Herring nvidia,pins = "pta"; 91*724ba675SRob Herring nvidia,function = "rsvd4"; 92*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 93*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 94*724ba675SRob Herring }; 95*724ba675SRob Herring 96*724ba675SRob Herring /* 97*724ba675SRob Herring * CLK_32K_OUT, CORE_PWR_REQ, CPU_PWR_REQ, PWR_INT_N, 98*724ba675SRob Herring * SYS_CLK_REQ (All on-module) 99*724ba675SRob Herring */ 100*724ba675SRob Herring pmc { 101*724ba675SRob Herring nvidia,pins = "pmc"; 102*724ba675SRob Herring nvidia,function = "pwr_on"; 103*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 104*724ba675SRob Herring }; 105*724ba675SRob Herring 106*724ba675SRob Herring /* 107*724ba675SRob Herring * Colibri Address/Data Bus (GMI) 108*724ba675SRob Herring * Note: spid and spie optionally used for SPI1 109*724ba675SRob Herring */ 110*724ba675SRob Herring gmi { 111*724ba675SRob Herring nvidia,pins = "atc", "atd", "ate", "dap1", 112*724ba675SRob Herring "dap2", "dap4", "gmd", "gpu", 113*724ba675SRob Herring "irrx", "irtx", "spia", "spib", 114*724ba675SRob Herring "spic", "spid", "spie", "uca", 115*724ba675SRob Herring "ucb"; 116*724ba675SRob Herring nvidia,function = "gmi"; 117*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 118*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 119*724ba675SRob Herring }; 120*724ba675SRob Herring /* Further pins may be used as GPIOs */ 121*724ba675SRob Herring gmi-gpio1 { 122*724ba675SRob Herring nvidia,pins = "lpw0", "lsc1", "lsck", "lsda"; 123*724ba675SRob Herring nvidia,function = "hdmi"; 124*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 125*724ba675SRob Herring }; 126*724ba675SRob Herring gmi-gpio2 { 127*724ba675SRob Herring nvidia,pins = "lcsn", "ldc", "lm0", "lsdi"; 128*724ba675SRob Herring nvidia,function = "rsvd4"; 129*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 130*724ba675SRob Herring }; 131*724ba675SRob Herring 132*724ba675SRob Herring /* Colibri BL_ON */ 133*724ba675SRob Herring bl-on { 134*724ba675SRob Herring nvidia,pins = "dta"; 135*724ba675SRob Herring nvidia,function = "rsvd1"; 136*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 137*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 138*724ba675SRob Herring }; 139*724ba675SRob Herring 140*724ba675SRob Herring /* Colibri Backlight PWM<A>, PWM<B> */ 141*724ba675SRob Herring sdc { 142*724ba675SRob Herring nvidia,pins = "sdc"; 143*724ba675SRob Herring nvidia,function = "pwm"; 144*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring /* Colibri DDC */ 148*724ba675SRob Herring ddc { 149*724ba675SRob Herring nvidia,pins = "ddc"; 150*724ba675SRob Herring nvidia,function = "i2c2"; 151*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_UP>; 152*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring /* 156*724ba675SRob Herring * Colibri EXT_IO* 157*724ba675SRob Herring * Note: dtf optionally used for I2C3 158*724ba675SRob Herring */ 159*724ba675SRob Herring ext-io { 160*724ba675SRob Herring nvidia,pins = "dtf", "spdi"; 161*724ba675SRob Herring nvidia,function = "rsvd2"; 162*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 163*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 164*724ba675SRob Herring }; 165*724ba675SRob Herring 166*724ba675SRob Herring /* 167*724ba675SRob Herring * Colibri Ethernet (On-module) 168*724ba675SRob Herring * ULPI EHCI instance 1 USB2_DP/N -> AX88772B 169*724ba675SRob Herring */ 170*724ba675SRob Herring ulpi { 171*724ba675SRob Herring nvidia,pins = "uaa", "uab", "uda"; 172*724ba675SRob Herring nvidia,function = "ulpi"; 173*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 174*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 175*724ba675SRob Herring }; 176*724ba675SRob Herring ulpi-refclk { 177*724ba675SRob Herring nvidia,pins = "cdev2"; 178*724ba675SRob Herring nvidia,function = "pllp_out4"; 179*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 180*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 181*724ba675SRob Herring }; 182*724ba675SRob Herring 183*724ba675SRob Herring /* Colibri HOTPLUG_DETECT (HDMI) */ 184*724ba675SRob Herring hotplug-detect { 185*724ba675SRob Herring nvidia,pins = "hdint"; 186*724ba675SRob Herring nvidia,function = "hdmi"; 187*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 188*724ba675SRob Herring }; 189*724ba675SRob Herring 190*724ba675SRob Herring /* Colibri I2C */ 191*724ba675SRob Herring i2c { 192*724ba675SRob Herring nvidia,pins = "rm"; 193*724ba675SRob Herring nvidia,function = "i2c1"; 194*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 195*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 196*724ba675SRob Herring }; 197*724ba675SRob Herring 198*724ba675SRob Herring /* 199*724ba675SRob Herring * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE 200*724ba675SRob Herring * today's display need DE, disable LCD_M1 201*724ba675SRob Herring */ 202*724ba675SRob Herring lm1 { 203*724ba675SRob Herring nvidia,pins = "lm1"; 204*724ba675SRob Herring nvidia,function = "rsvd3"; 205*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 206*724ba675SRob Herring }; 207*724ba675SRob Herring 208*724ba675SRob Herring /* Colibri LCD (L_* resp. LDD<*>) */ 209*724ba675SRob Herring lcd { 210*724ba675SRob Herring nvidia,pins = "ld0", "ld1", "ld2", "ld3", 211*724ba675SRob Herring "ld4", "ld5", "ld6", "ld7", 212*724ba675SRob Herring "ld8", "ld9", "ld10", "ld11", 213*724ba675SRob Herring "ld12", "ld13", "ld14", "ld15", 214*724ba675SRob Herring "ld16", "ld17", "lhs", "lsc0", 215*724ba675SRob Herring "lspi", "lvs"; 216*724ba675SRob Herring nvidia,function = "displaya"; 217*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 218*724ba675SRob Herring }; 219*724ba675SRob Herring /* Colibri LCD (Optional 24 BPP Support) */ 220*724ba675SRob Herring lcd-24 { 221*724ba675SRob Herring nvidia,pins = "ldi", "lhp0", "lhp1", "lhp2", 222*724ba675SRob Herring "lpp", "lvp1"; 223*724ba675SRob Herring nvidia,function = "displaya"; 224*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 225*724ba675SRob Herring }; 226*724ba675SRob Herring 227*724ba675SRob Herring /* Colibri MMC */ 228*724ba675SRob Herring mmc { 229*724ba675SRob Herring nvidia,pins = "atb", "gma"; 230*724ba675SRob Herring nvidia,function = "sdio4"; 231*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 232*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring /* Colibri MMCCD */ 236*724ba675SRob Herring mmccd { 237*724ba675SRob Herring nvidia,pins = "gmb"; 238*724ba675SRob Herring nvidia,function = "gmi_int"; 239*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 240*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 241*724ba675SRob Herring }; 242*724ba675SRob Herring 243*724ba675SRob Herring /* Colibri MMC (Optional 8-bit) */ 244*724ba675SRob Herring mmc-8bit { 245*724ba675SRob Herring nvidia,pins = "gme"; 246*724ba675SRob Herring nvidia,function = "sdio4"; 247*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 248*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 249*724ba675SRob Herring }; 250*724ba675SRob Herring 251*724ba675SRob Herring /* 252*724ba675SRob Herring * Colibri Parallel Camera (Optional) 253*724ba675SRob Herring * pins multiplexed with others and therefore disabled 254*724ba675SRob Herring * Note: dta used for BL_ON by default 255*724ba675SRob Herring */ 256*724ba675SRob Herring cif-mclk { 257*724ba675SRob Herring nvidia,pins = "csus"; 258*724ba675SRob Herring nvidia,function = "vi_sensor_clk"; 259*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 260*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 261*724ba675SRob Herring }; 262*724ba675SRob Herring cif { 263*724ba675SRob Herring nvidia,pins = "dtb", "dtc", "dtd"; 264*724ba675SRob Herring nvidia,function = "vi"; 265*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 266*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 267*724ba675SRob Herring }; 268*724ba675SRob Herring 269*724ba675SRob Herring /* Colibri PWM<C>, PWM<D> */ 270*724ba675SRob Herring sdb_sdd { 271*724ba675SRob Herring nvidia,pins = "sdb", "sdd"; 272*724ba675SRob Herring nvidia,function = "pwm"; 273*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 274*724ba675SRob Herring }; 275*724ba675SRob Herring 276*724ba675SRob Herring /* Colibri SSP */ 277*724ba675SRob Herring ssp { 278*724ba675SRob Herring nvidia,pins = "slxa", "slxc", "slxd", "slxk"; 279*724ba675SRob Herring nvidia,function = "spi4"; 280*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 281*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 282*724ba675SRob Herring }; 283*724ba675SRob Herring 284*724ba675SRob Herring /* Colibri UART-A */ 285*724ba675SRob Herring uart-a { 286*724ba675SRob Herring nvidia,pins = "sdio1"; 287*724ba675SRob Herring nvidia,function = "uarta"; 288*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 289*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 290*724ba675SRob Herring }; 291*724ba675SRob Herring uart-a-dsr { 292*724ba675SRob Herring nvidia,pins = "lpw1"; 293*724ba675SRob Herring nvidia,function = "rsvd3"; 294*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 295*724ba675SRob Herring }; 296*724ba675SRob Herring uart-a-dcd { 297*724ba675SRob Herring nvidia,pins = "lpw2"; 298*724ba675SRob Herring nvidia,function = "hdmi"; 299*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 300*724ba675SRob Herring }; 301*724ba675SRob Herring 302*724ba675SRob Herring /* Colibri UART-B */ 303*724ba675SRob Herring uart-b { 304*724ba675SRob Herring nvidia,pins = "gmc"; 305*724ba675SRob Herring nvidia,function = "uartd"; 306*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 307*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 308*724ba675SRob Herring }; 309*724ba675SRob Herring 310*724ba675SRob Herring /* Colibri UART-C */ 311*724ba675SRob Herring uart-c { 312*724ba675SRob Herring nvidia,pins = "uad"; 313*724ba675SRob Herring nvidia,function = "irda"; 314*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 315*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 316*724ba675SRob Herring }; 317*724ba675SRob Herring 318*724ba675SRob Herring /* Colibri USB_CDET */ 319*724ba675SRob Herring usb-cdet { 320*724ba675SRob Herring nvidia,pins = "spdo"; 321*724ba675SRob Herring nvidia,function = "rsvd2"; 322*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 323*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 324*724ba675SRob Herring }; 325*724ba675SRob Herring 326*724ba675SRob Herring /* Colibri USBH_OC */ 327*724ba675SRob Herring usbh-oc { 328*724ba675SRob Herring nvidia,pins = "spih"; 329*724ba675SRob Herring nvidia,function = "spi2_alt"; 330*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 331*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 332*724ba675SRob Herring }; 333*724ba675SRob Herring 334*724ba675SRob Herring /* Colibri USBH_PEN */ 335*724ba675SRob Herring usbh-pen { 336*724ba675SRob Herring nvidia,pins = "spig"; 337*724ba675SRob Herring nvidia,function = "spi2_alt"; 338*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 339*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 340*724ba675SRob Herring }; 341*724ba675SRob Herring 342*724ba675SRob Herring /* Colibri VGA not supported */ 343*724ba675SRob Herring vga { 344*724ba675SRob Herring nvidia,pins = "crtp"; 345*724ba675SRob Herring nvidia,function = "crt"; 346*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 347*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 348*724ba675SRob Herring }; 349*724ba675SRob Herring 350*724ba675SRob Herring /* I2C3 (Optional) */ 351*724ba675SRob Herring i2c3 { 352*724ba675SRob Herring nvidia,pins = "dtf"; 353*724ba675SRob Herring nvidia,function = "i2c3"; 354*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 355*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 356*724ba675SRob Herring }; 357*724ba675SRob Herring 358*724ba675SRob Herring /* JTAG_RTCK */ 359*724ba675SRob Herring jtag-rtck { 360*724ba675SRob Herring nvidia,pins = "gpu7"; 361*724ba675SRob Herring nvidia,function = "rtck"; 362*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 363*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 364*724ba675SRob Herring }; 365*724ba675SRob Herring 366*724ba675SRob Herring /* 367*724ba675SRob Herring * LAN_RESET, LAN_EXT_WAKEUP and LAN_PME 368*724ba675SRob Herring * (All On-module) 369*724ba675SRob Herring */ 370*724ba675SRob Herring gpio-gpv { 371*724ba675SRob Herring nvidia,pins = "gpv"; 372*724ba675SRob Herring nvidia,function = "rsvd2"; 373*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 374*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 375*724ba675SRob Herring }; 376*724ba675SRob Herring 377*724ba675SRob Herring /* 378*724ba675SRob Herring * LAN_V_BUS, VDD_FAULT, BATT_FAULT, WM9712 PENDOWN 379*724ba675SRob Herring * (All On-module); Colibri CAN_INT 380*724ba675SRob Herring */ 381*724ba675SRob Herring gpio-dte { 382*724ba675SRob Herring nvidia,pins = "dte"; 383*724ba675SRob Herring nvidia,function = "rsvd1"; 384*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 385*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 386*724ba675SRob Herring }; 387*724ba675SRob Herring 388*724ba675SRob Herring /* NAND (On-module) */ 389*724ba675SRob Herring nand { 390*724ba675SRob Herring nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd", 391*724ba675SRob Herring "kbce", "kbcf"; 392*724ba675SRob Herring nvidia,function = "nand"; 393*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 394*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 395*724ba675SRob Herring }; 396*724ba675SRob Herring 397*724ba675SRob Herring /* Onewire (Optional) */ 398*724ba675SRob Herring owr { 399*724ba675SRob Herring nvidia,pins = "owc"; 400*724ba675SRob Herring nvidia,function = "owr"; 401*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 402*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 403*724ba675SRob Herring }; 404*724ba675SRob Herring 405*724ba675SRob Herring /* Power I2C (On-module) */ 406*724ba675SRob Herring i2cp { 407*724ba675SRob Herring nvidia,pins = "i2cp"; 408*724ba675SRob Herring nvidia,function = "i2cp"; 409*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 410*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 411*724ba675SRob Herring }; 412*724ba675SRob Herring 413*724ba675SRob Herring /* RESET_OUT */ 414*724ba675SRob Herring reset-out { 415*724ba675SRob Herring nvidia,pins = "ata"; 416*724ba675SRob Herring nvidia,function = "gmi"; 417*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 418*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 419*724ba675SRob Herring }; 420*724ba675SRob Herring 421*724ba675SRob Herring /* 422*724ba675SRob Herring * SPI1 (Optional) 423*724ba675SRob Herring * Note: spid and spie used for Colibri Address/Data 424*724ba675SRob Herring * Bus (GMI) 425*724ba675SRob Herring */ 426*724ba675SRob Herring spi1 { 427*724ba675SRob Herring nvidia,pins = "spid", "spie", "spif"; 428*724ba675SRob Herring nvidia,function = "spi1"; 429*724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 430*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 431*724ba675SRob Herring }; 432*724ba675SRob Herring 433*724ba675SRob Herring /* 434*724ba675SRob Herring * THERMD_ALERT# (On-module), unlatched I2C address pin 435*724ba675SRob Herring * of LM95245 temperature sensor therefore requires 436*724ba675SRob Herring * disabling for now 437*724ba675SRob Herring */ 438*724ba675SRob Herring lvp0 { 439*724ba675SRob Herring nvidia,pins = "lvp0"; 440*724ba675SRob Herring nvidia,function = "rsvd3"; 441*724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 442*724ba675SRob Herring }; 443*724ba675SRob Herring }; 444*724ba675SRob Herring }; 445*724ba675SRob Herring 446*724ba675SRob Herring tegra_ac97: ac97@70002000 { 447*724ba675SRob Herring status = "okay"; 448*724ba675SRob Herring nvidia,codec-reset-gpio = 449*724ba675SRob Herring <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_HIGH>; 450*724ba675SRob Herring nvidia,codec-sync-gpio = 451*724ba675SRob Herring <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>; 452*724ba675SRob Herring }; 453*724ba675SRob Herring 454*724ba675SRob Herring serial@70006040 { 455*724ba675SRob Herring compatible = "nvidia,tegra20-hsuart"; 456*724ba675SRob Herring /delete-property/ reg-shift; 457*724ba675SRob Herring }; 458*724ba675SRob Herring 459*724ba675SRob Herring serial@70006300 { 460*724ba675SRob Herring compatible = "nvidia,tegra20-hsuart"; 461*724ba675SRob Herring /delete-property/ reg-shift; 462*724ba675SRob Herring }; 463*724ba675SRob Herring 464*724ba675SRob Herring nand-controller@70008000 { 465*724ba675SRob Herring status = "okay"; 466*724ba675SRob Herring 467*724ba675SRob Herring nand@0 { 468*724ba675SRob Herring reg = <0>; 469*724ba675SRob Herring #address-cells = <1>; 470*724ba675SRob Herring #size-cells = <1>; 471*724ba675SRob Herring nand-bus-width = <8>; 472*724ba675SRob Herring nand-on-flash-bbt; 473*724ba675SRob Herring nand-ecc-algo = "bch"; 474*724ba675SRob Herring nand-is-boot-medium; 475*724ba675SRob Herring nand-ecc-maximize; 476*724ba675SRob Herring wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>; 477*724ba675SRob Herring }; 478*724ba675SRob Herring }; 479*724ba675SRob Herring 480*724ba675SRob Herring /* 481*724ba675SRob Herring * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier 482*724ba675SRob Herring * board) 483*724ba675SRob Herring */ 484*724ba675SRob Herring i2c@7000c000 { 485*724ba675SRob Herring clock-frequency = <400000>; 486*724ba675SRob Herring }; 487*724ba675SRob Herring 488*724ba675SRob Herring /* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */ 489*724ba675SRob Herring hdmi_ddc: i2c@7000c400 { 490*724ba675SRob Herring clock-frequency = <10000>; 491*724ba675SRob Herring }; 492*724ba675SRob Herring 493*724ba675SRob Herring /* GEN2_I2C: unused */ 494*724ba675SRob Herring 495*724ba675SRob Herring /* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */ 496*724ba675SRob Herring 497*724ba675SRob Herring /* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */ 498*724ba675SRob Herring i2c@7000d000 { 499*724ba675SRob Herring status = "okay"; 500*724ba675SRob Herring clock-frequency = <100000>; 501*724ba675SRob Herring 502*724ba675SRob Herring pmic@34 { 503*724ba675SRob Herring compatible = "ti,tps6586x"; 504*724ba675SRob Herring reg = <0x34>; 505*724ba675SRob Herring interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 506*724ba675SRob Herring ti,system-power-controller; 507*724ba675SRob Herring #gpio-cells = <2>; 508*724ba675SRob Herring gpio-controller; 509*724ba675SRob Herring sys-supply = <®_module_3v3>; 510*724ba675SRob Herring vin-sm0-supply = <®_3v3_vsys>; 511*724ba675SRob Herring vin-sm1-supply = <®_3v3_vsys>; 512*724ba675SRob Herring vin-sm2-supply = <®_3v3_vsys>; 513*724ba675SRob Herring vinldo01-supply = <®_1v8_vdd_ddr2>; 514*724ba675SRob Herring vinldo23-supply = <®_module_3v3>; 515*724ba675SRob Herring vinldo4-supply = <®_module_3v3>; 516*724ba675SRob Herring vinldo678-supply = <®_module_3v3>; 517*724ba675SRob Herring vinldo9-supply = <®_module_3v3>; 518*724ba675SRob Herring 519*724ba675SRob Herring regulators { 520*724ba675SRob Herring reg_3v3_vsys: sys { 521*724ba675SRob Herring regulator-name = "VSYS_3.3V"; 522*724ba675SRob Herring regulator-always-on; 523*724ba675SRob Herring }; 524*724ba675SRob Herring 525*724ba675SRob Herring vdd_core: sm0 { 526*724ba675SRob Herring regulator-name = "VDD_CORE_1.2V"; 527*724ba675SRob Herring regulator-min-microvolt = <1200000>; 528*724ba675SRob Herring regulator-max-microvolt = <1200000>; 529*724ba675SRob Herring regulator-always-on; 530*724ba675SRob Herring }; 531*724ba675SRob Herring 532*724ba675SRob Herring sm1 { 533*724ba675SRob Herring regulator-name = "VDD_CPU_1.0V"; 534*724ba675SRob Herring regulator-min-microvolt = <1000000>; 535*724ba675SRob Herring regulator-max-microvolt = <1000000>; 536*724ba675SRob Herring regulator-always-on; 537*724ba675SRob Herring }; 538*724ba675SRob Herring 539*724ba675SRob Herring reg_1v8_vdd_ddr2: sm2 { 540*724ba675SRob Herring regulator-name = "VDD_DDR2_1.8V"; 541*724ba675SRob Herring regulator-min-microvolt = <1800000>; 542*724ba675SRob Herring regulator-max-microvolt = <1800000>; 543*724ba675SRob Herring regulator-always-on; 544*724ba675SRob Herring }; 545*724ba675SRob Herring 546*724ba675SRob Herring /* LDO0 is not connected to anything */ 547*724ba675SRob Herring 548*724ba675SRob Herring /* 549*724ba675SRob Herring * +3.3V_ENABLE_N switching via FET: 550*724ba675SRob Herring * AVDD_AUDIO_S and +3.3V 551*724ba675SRob Herring * see also +3.3V fixed supply 552*724ba675SRob Herring */ 553*724ba675SRob Herring ldo1 { 554*724ba675SRob Herring regulator-name = "AVDD_PLL_1.1V"; 555*724ba675SRob Herring regulator-min-microvolt = <1100000>; 556*724ba675SRob Herring regulator-max-microvolt = <1100000>; 557*724ba675SRob Herring regulator-always-on; 558*724ba675SRob Herring }; 559*724ba675SRob Herring 560*724ba675SRob Herring ldo2 { 561*724ba675SRob Herring regulator-name = "VDD_RTC_1.2V"; 562*724ba675SRob Herring regulator-min-microvolt = <1200000>; 563*724ba675SRob Herring regulator-max-microvolt = <1200000>; 564*724ba675SRob Herring }; 565*724ba675SRob Herring 566*724ba675SRob Herring /* LDO3 is not connected to anything */ 567*724ba675SRob Herring 568*724ba675SRob Herring ldo4 { 569*724ba675SRob Herring regulator-name = "VDDIO_SYS_1.8V"; 570*724ba675SRob Herring regulator-min-microvolt = <1800000>; 571*724ba675SRob Herring regulator-max-microvolt = <1800000>; 572*724ba675SRob Herring regulator-always-on; 573*724ba675SRob Herring }; 574*724ba675SRob Herring 575*724ba675SRob Herring /* Switched via FET from regular +3.3V */ 576*724ba675SRob Herring ldo5 { 577*724ba675SRob Herring regulator-name = "+3.3V_USB"; 578*724ba675SRob Herring regulator-min-microvolt = <3300000>; 579*724ba675SRob Herring regulator-max-microvolt = <3300000>; 580*724ba675SRob Herring regulator-always-on; 581*724ba675SRob Herring }; 582*724ba675SRob Herring 583*724ba675SRob Herring ldo6 { 584*724ba675SRob Herring regulator-name = "AVDD_VDAC_2.85V"; 585*724ba675SRob Herring regulator-min-microvolt = <2850000>; 586*724ba675SRob Herring regulator-max-microvolt = <2850000>; 587*724ba675SRob Herring }; 588*724ba675SRob Herring 589*724ba675SRob Herring reg_3v3_avdd_hdmi: ldo7 { 590*724ba675SRob Herring regulator-name = "AVDD_HDMI_3.3V"; 591*724ba675SRob Herring regulator-min-microvolt = <3300000>; 592*724ba675SRob Herring regulator-max-microvolt = <3300000>; 593*724ba675SRob Herring }; 594*724ba675SRob Herring 595*724ba675SRob Herring reg_1v8_avdd_hdmi_pll: ldo8 { 596*724ba675SRob Herring regulator-name = "AVDD_HDMI_PLL_1.8V"; 597*724ba675SRob Herring regulator-min-microvolt = <1800000>; 598*724ba675SRob Herring regulator-max-microvolt = <1800000>; 599*724ba675SRob Herring }; 600*724ba675SRob Herring 601*724ba675SRob Herring ldo9 { 602*724ba675SRob Herring regulator-name = "VDDIO_RX_DDR_2.85V"; 603*724ba675SRob Herring regulator-min-microvolt = <2850000>; 604*724ba675SRob Herring regulator-max-microvolt = <2850000>; 605*724ba675SRob Herring regulator-always-on; 606*724ba675SRob Herring }; 607*724ba675SRob Herring 608*724ba675SRob Herring ldo_rtc { 609*724ba675SRob Herring regulator-name = "VCC_BATT"; 610*724ba675SRob Herring regulator-min-microvolt = <3300000>; 611*724ba675SRob Herring regulator-max-microvolt = <3300000>; 612*724ba675SRob Herring regulator-always-on; 613*724ba675SRob Herring }; 614*724ba675SRob Herring }; 615*724ba675SRob Herring }; 616*724ba675SRob Herring 617*724ba675SRob Herring /* LM95245 temperature sensor */ 618*724ba675SRob Herring temp-sensor@4c { 619*724ba675SRob Herring compatible = "national,lm95245"; 620*724ba675SRob Herring reg = <0x4c>; 621*724ba675SRob Herring }; 622*724ba675SRob Herring }; 623*724ba675SRob Herring 624*724ba675SRob Herring pmc@7000e400 { 625*724ba675SRob Herring nvidia,suspend-mode = <1>; 626*724ba675SRob Herring nvidia,cpu-pwr-good-time = <5000>; 627*724ba675SRob Herring nvidia,cpu-pwr-off-time = <5000>; 628*724ba675SRob Herring nvidia,core-pwr-good-time = <3845 3845>; 629*724ba675SRob Herring nvidia,core-pwr-off-time = <3875>; 630*724ba675SRob Herring nvidia,sys-clock-req-active-high; 631*724ba675SRob Herring core-supply = <&vdd_core>; 632*724ba675SRob Herring 633*724ba675SRob Herring /* Set SLEEP MODE bit in SUPPLYENE register of TPS658643 PMIC */ 634*724ba675SRob Herring i2c-thermtrip { 635*724ba675SRob Herring nvidia,i2c-controller-id = <3>; 636*724ba675SRob Herring nvidia,bus-addr = <0x34>; 637*724ba675SRob Herring nvidia,reg-addr = <0x14>; 638*724ba675SRob Herring nvidia,reg-data = <0x8>; 639*724ba675SRob Herring }; 640*724ba675SRob Herring }; 641*724ba675SRob Herring 642*724ba675SRob Herring memory-controller@7000f400 { 643*724ba675SRob Herring emc-table@83250 { 644*724ba675SRob Herring reg = <83250>; 645*724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 646*724ba675SRob Herring clock-frequency = <83250>; 647*724ba675SRob Herring nvidia,emc-registers = <0x00000005 0x00000011 648*724ba675SRob Herring 0x00000004 0x00000002 0x00000004 0x00000004 649*724ba675SRob Herring 0x00000001 0x0000000a 0x00000002 0x00000002 650*724ba675SRob Herring 0x00000001 0x00000001 0x00000003 0x00000004 651*724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x0000025f 652*724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000002 653*724ba675SRob Herring 0x00000002 0x00000001 0x00000008 0x000000c8 654*724ba675SRob Herring 0x00000003 0x00000005 0x00000003 0x0000000c 655*724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 656*724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00520006 657*724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 658*724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 659*724ba675SRob Herring }; 660*724ba675SRob Herring emc-table@133200 { 661*724ba675SRob Herring reg = <133200>; 662*724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 663*724ba675SRob Herring clock-frequency = <133200>; 664*724ba675SRob Herring nvidia,emc-registers = <0x00000008 0x00000019 665*724ba675SRob Herring 0x00000006 0x00000002 0x00000004 0x00000004 666*724ba675SRob Herring 0x00000001 0x0000000a 0x00000002 0x00000002 667*724ba675SRob Herring 0x00000002 0x00000001 0x00000003 0x00000004 668*724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x0000039f 669*724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000002 670*724ba675SRob Herring 0x00000002 0x00000001 0x00000008 0x000000c8 671*724ba675SRob Herring 0x00000003 0x00000007 0x00000003 0x0000000c 672*724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 673*724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00510006 674*724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 675*724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 676*724ba675SRob Herring }; 677*724ba675SRob Herring emc-table@166500 { 678*724ba675SRob Herring reg = <166500>; 679*724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 680*724ba675SRob Herring clock-frequency = <166500>; 681*724ba675SRob Herring nvidia,emc-registers = <0x0000000a 0x00000021 682*724ba675SRob Herring 0x00000008 0x00000003 0x00000004 0x00000004 683*724ba675SRob Herring 0x00000002 0x0000000a 0x00000003 0x00000003 684*724ba675SRob Herring 0x00000002 0x00000001 0x00000003 0x00000004 685*724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x000004df 686*724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000003 687*724ba675SRob Herring 0x00000003 0x00000001 0x00000009 0x000000c8 688*724ba675SRob Herring 0x00000003 0x00000009 0x00000004 0x0000000c 689*724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 690*724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x004f0006 691*724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 692*724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 693*724ba675SRob Herring }; 694*724ba675SRob Herring emc-table@333000 { 695*724ba675SRob Herring reg = <333000>; 696*724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 697*724ba675SRob Herring clock-frequency = <333000>; 698*724ba675SRob Herring nvidia,emc-registers = <0x00000014 0x00000041 699*724ba675SRob Herring 0x0000000f 0x00000005 0x00000004 0x00000005 700*724ba675SRob Herring 0x00000003 0x0000000a 0x00000005 0x00000005 701*724ba675SRob Herring 0x00000004 0x00000001 0x00000003 0x00000004 702*724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x000009ff 703*724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000005 704*724ba675SRob Herring 0x00000005 0x00000001 0x0000000e 0x000000c8 705*724ba675SRob Herring 0x00000003 0x00000011 0x00000006 0x0000000c 706*724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 707*724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00380006 708*724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 709*724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 710*724ba675SRob Herring }; 711*724ba675SRob Herring }; 712*724ba675SRob Herring 713*724ba675SRob Herring /* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */ 714*724ba675SRob Herring usb@c5004000 { 715*724ba675SRob Herring status = "okay"; 716*724ba675SRob Herring #address-cells = <1>; 717*724ba675SRob Herring #size-cells = <0>; 718*724ba675SRob Herring 719*724ba675SRob Herring ethernet@1 { 720*724ba675SRob Herring compatible = "usbb95,772b"; 721*724ba675SRob Herring reg = <1>; 722*724ba675SRob Herring local-mac-address = [00 00 00 00 00 00]; 723*724ba675SRob Herring }; 724*724ba675SRob Herring }; 725*724ba675SRob Herring 726*724ba675SRob Herring usb-phy@c5004000 { 727*724ba675SRob Herring status = "okay"; 728*724ba675SRob Herring nvidia,phy-reset-gpio = 729*724ba675SRob Herring <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>; 730*724ba675SRob Herring vbus-supply = <®_lan_v_bus>; 731*724ba675SRob Herring }; 732*724ba675SRob Herring 733*724ba675SRob Herring clk32k_in: clock-xtal3 { 734*724ba675SRob Herring compatible = "fixed-clock"; 735*724ba675SRob Herring #clock-cells = <0>; 736*724ba675SRob Herring clock-frequency = <32768>; 737*724ba675SRob Herring }; 738*724ba675SRob Herring 739*724ba675SRob Herring opp-table-emc { 740*724ba675SRob Herring /delete-node/ opp-760000000; 741*724ba675SRob Herring }; 742*724ba675SRob Herring 743*724ba675SRob Herring reg_lan_v_bus: regulator-lan-v-bus { 744*724ba675SRob Herring compatible = "regulator-fixed"; 745*724ba675SRob Herring regulator-name = "LAN_V_BUS"; 746*724ba675SRob Herring regulator-min-microvolt = <5000000>; 747*724ba675SRob Herring regulator-max-microvolt = <5000000>; 748*724ba675SRob Herring enable-active-high; 749*724ba675SRob Herring gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>; 750*724ba675SRob Herring }; 751*724ba675SRob Herring 752*724ba675SRob Herring reg_module_3v3: regulator-module-3v3 { 753*724ba675SRob Herring compatible = "regulator-fixed"; 754*724ba675SRob Herring regulator-name = "+V3.3"; 755*724ba675SRob Herring regulator-min-microvolt = <3300000>; 756*724ba675SRob Herring regulator-max-microvolt = <3300000>; 757*724ba675SRob Herring regulator-always-on; 758*724ba675SRob Herring }; 759*724ba675SRob Herring 760*724ba675SRob Herring sound { 761*724ba675SRob Herring compatible = "nvidia,tegra-audio-wm9712-colibri_t20", 762*724ba675SRob Herring "nvidia,tegra-audio-wm9712"; 763*724ba675SRob Herring nvidia,model = "Toradex Colibri T20"; 764*724ba675SRob Herring nvidia,audio-routing = 765*724ba675SRob Herring "Headphone", "HPOUTL", 766*724ba675SRob Herring "Headphone", "HPOUTR", 767*724ba675SRob Herring "LineIn", "LINEINL", 768*724ba675SRob Herring "LineIn", "LINEINR", 769*724ba675SRob Herring "Mic", "MIC1"; 770*724ba675SRob Herring nvidia,ac97-controller = <&tegra_ac97>; 771*724ba675SRob Herring clocks = <&tegra_car TEGRA20_CLK_PLL_A>, 772*724ba675SRob Herring <&tegra_car TEGRA20_CLK_PLL_A_OUT0>, 773*724ba675SRob Herring <&tegra_car TEGRA20_CLK_CDEV1>; 774*724ba675SRob Herring clock-names = "pll_a", "pll_a_out0", "mclk"; 775*724ba675SRob Herring }; 776*724ba675SRob Herring}; 777