1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2724ba675SRob Herring#include "tegra20.dtsi" 3724ba675SRob Herring 4724ba675SRob Herring/* 5724ba675SRob Herring * Toradex Colibri T20 Module Device Tree 6724ba675SRob Herring * Compatible for Revisions Colibri T20 256MB V1.1B, V1.2A; 7724ba675SRob Herring * Colibri T20 256MB IT V1.2A; Colibri T20 512MB V1.1C, V1.2A; 8724ba675SRob Herring * Colibri T20 512MB IT V1.2A 9724ba675SRob Herring */ 10724ba675SRob Herring/ { 11724ba675SRob Herring memory@0 { 12724ba675SRob Herring /* 13724ba675SRob Herring * Set memory to 256 MB to be safe as this could be used on 14724ba675SRob Herring * 256 or 512 MB module. It is expected from bootloader 15724ba675SRob Herring * to fix this up for 512 MB version. 16724ba675SRob Herring */ 17724ba675SRob Herring reg = <0x00000000 0x10000000>; 18724ba675SRob Herring }; 19724ba675SRob Herring 20724ba675SRob Herring host1x@50000000 { 21724ba675SRob Herring hdmi@54280000 { 22724ba675SRob Herring nvidia,ddc-i2c-bus = <&hdmi_ddc>; 23724ba675SRob Herring nvidia,hpd-gpio = 24724ba675SRob Herring <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 25724ba675SRob Herring pll-supply = <®_1v8_avdd_hdmi_pll>; 26724ba675SRob Herring vdd-supply = <®_3v3_avdd_hdmi>; 27724ba675SRob Herring }; 28724ba675SRob Herring }; 29724ba675SRob Herring 30724ba675SRob Herring gpio@6000d000 { 31724ba675SRob Herring lan-reset-n-hog { 32724ba675SRob Herring gpio-hog; 33724ba675SRob Herring gpios = <TEGRA_GPIO(V, 4) GPIO_ACTIVE_HIGH>; 34724ba675SRob Herring output-high; 35724ba675SRob Herring line-name = "LAN_RESET#"; 36724ba675SRob Herring }; 37724ba675SRob Herring 38724ba675SRob Herring /* Tri-stating GMI_WR_N on SODIMM pin 99 nPWE */ 39724ba675SRob Herring npwe-hog { 40724ba675SRob Herring gpio-hog; 41724ba675SRob Herring gpios = <TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>; 42724ba675SRob Herring output-high; 43724ba675SRob Herring line-name = "Tri-state nPWE"; 44724ba675SRob Herring }; 45724ba675SRob Herring 46724ba675SRob Herring /* Not tri-stating GMI_WR_N on SODIMM pin 93 RDnWR */ 47724ba675SRob Herring rdnwr-hog { 48724ba675SRob Herring gpio-hog; 49724ba675SRob Herring gpios = <TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>; 50724ba675SRob Herring output-low; 51724ba675SRob Herring line-name = "Not tri-state RDnWR"; 52724ba675SRob Herring }; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring pinmux@70000014 { 56724ba675SRob Herring pinctrl-names = "default"; 57724ba675SRob Herring pinctrl-0 = <&state_default>; 58724ba675SRob Herring 59724ba675SRob Herring state_default: pinmux { 60724ba675SRob Herring /* Analogue Audio AC97 to WM9712 (On-module) */ 61724ba675SRob Herring audio-refclk { 62724ba675SRob Herring nvidia,pins = "cdev1"; 63724ba675SRob Herring nvidia,function = "plla_out"; 64724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 65724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 66724ba675SRob Herring }; 67724ba675SRob Herring dap3 { 68724ba675SRob Herring nvidia,pins = "dap3"; 69724ba675SRob Herring nvidia,function = "dap3"; 70724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 71724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 72724ba675SRob Herring }; 73724ba675SRob Herring 74724ba675SRob Herring /* 75724ba675SRob Herring * AC97_RESET, ULPI_RESET, AC97_INT aka WM9712 GENIRQ 76724ba675SRob Herring * (All on-module), SODIMM Pin 45 Wakeup 77724ba675SRob Herring */ 78724ba675SRob Herring gpio-uac { 79724ba675SRob Herring nvidia,pins = "uac"; 80724ba675SRob Herring nvidia,function = "rsvd2"; 81724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 82724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 83724ba675SRob Herring }; 84724ba675SRob Herring 85724ba675SRob Herring /* 86724ba675SRob Herring * Buffer Enables for nPWE and RDnWR (On-module, 87724ba675SRob Herring * see GPIO hogging further down below) 88724ba675SRob Herring */ 89724ba675SRob Herring gpio-pta { 90724ba675SRob Herring nvidia,pins = "pta"; 91724ba675SRob Herring nvidia,function = "rsvd4"; 92724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 93724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 94724ba675SRob Herring }; 95724ba675SRob Herring 96724ba675SRob Herring /* 97724ba675SRob Herring * CLK_32K_OUT, CORE_PWR_REQ, CPU_PWR_REQ, PWR_INT_N, 98724ba675SRob Herring * SYS_CLK_REQ (All on-module) 99724ba675SRob Herring */ 100724ba675SRob Herring pmc { 101724ba675SRob Herring nvidia,pins = "pmc"; 102724ba675SRob Herring nvidia,function = "pwr_on"; 103724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 104724ba675SRob Herring }; 105724ba675SRob Herring 106724ba675SRob Herring /* 107724ba675SRob Herring * Colibri Address/Data Bus (GMI) 108724ba675SRob Herring * Note: spid and spie optionally used for SPI1 109724ba675SRob Herring */ 110724ba675SRob Herring gmi { 111724ba675SRob Herring nvidia,pins = "atc", "atd", "ate", "dap1", 112724ba675SRob Herring "dap2", "dap4", "gmd", "gpu", 113724ba675SRob Herring "irrx", "irtx", "spia", "spib", 114724ba675SRob Herring "spic", "spid", "spie", "uca", 115724ba675SRob Herring "ucb"; 116724ba675SRob Herring nvidia,function = "gmi"; 117724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 118724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 119724ba675SRob Herring }; 120724ba675SRob Herring /* Further pins may be used as GPIOs */ 121724ba675SRob Herring gmi-gpio1 { 122724ba675SRob Herring nvidia,pins = "lpw0", "lsc1", "lsck", "lsda"; 123724ba675SRob Herring nvidia,function = "hdmi"; 124724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 125724ba675SRob Herring }; 126724ba675SRob Herring gmi-gpio2 { 127724ba675SRob Herring nvidia,pins = "lcsn", "ldc", "lm0", "lsdi"; 128724ba675SRob Herring nvidia,function = "rsvd4"; 129724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 130724ba675SRob Herring }; 131724ba675SRob Herring 132724ba675SRob Herring /* Colibri BL_ON */ 133724ba675SRob Herring bl-on { 134724ba675SRob Herring nvidia,pins = "dta"; 135724ba675SRob Herring nvidia,function = "rsvd1"; 136724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 137724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 138724ba675SRob Herring }; 139724ba675SRob Herring 140724ba675SRob Herring /* Colibri Backlight PWM<A>, PWM<B> */ 141724ba675SRob Herring sdc { 142724ba675SRob Herring nvidia,pins = "sdc"; 143724ba675SRob Herring nvidia,function = "pwm"; 144724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 145724ba675SRob Herring }; 146724ba675SRob Herring 147724ba675SRob Herring /* Colibri DDC */ 148724ba675SRob Herring ddc { 149724ba675SRob Herring nvidia,pins = "ddc"; 150724ba675SRob Herring nvidia,function = "i2c2"; 151724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_UP>; 152724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 153724ba675SRob Herring }; 154724ba675SRob Herring 155724ba675SRob Herring /* 156724ba675SRob Herring * Colibri EXT_IO* 157724ba675SRob Herring * Note: dtf optionally used for I2C3 158724ba675SRob Herring */ 159724ba675SRob Herring ext-io { 160724ba675SRob Herring nvidia,pins = "dtf", "spdi"; 161724ba675SRob Herring nvidia,function = "rsvd2"; 162724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 163724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 164724ba675SRob Herring }; 165724ba675SRob Herring 166724ba675SRob Herring /* 167724ba675SRob Herring * Colibri Ethernet (On-module) 168724ba675SRob Herring * ULPI EHCI instance 1 USB2_DP/N -> AX88772B 169724ba675SRob Herring */ 170724ba675SRob Herring ulpi { 171724ba675SRob Herring nvidia,pins = "uaa", "uab", "uda"; 172724ba675SRob Herring nvidia,function = "ulpi"; 173724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 174724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 175724ba675SRob Herring }; 176724ba675SRob Herring ulpi-refclk { 177724ba675SRob Herring nvidia,pins = "cdev2"; 178724ba675SRob Herring nvidia,function = "pllp_out4"; 179724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 180724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 181724ba675SRob Herring }; 182724ba675SRob Herring 183724ba675SRob Herring /* Colibri HOTPLUG_DETECT (HDMI) */ 184724ba675SRob Herring hotplug-detect { 185724ba675SRob Herring nvidia,pins = "hdint"; 186724ba675SRob Herring nvidia,function = "hdmi"; 187724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 188724ba675SRob Herring }; 189724ba675SRob Herring 190724ba675SRob Herring /* Colibri I2C */ 191724ba675SRob Herring i2c { 192724ba675SRob Herring nvidia,pins = "rm"; 193724ba675SRob Herring nvidia,function = "i2c1"; 194724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 195724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 196724ba675SRob Herring }; 197724ba675SRob Herring 198724ba675SRob Herring /* 199724ba675SRob Herring * Colibri L_BIAS, LCD_M1 is muxed with LCD_DE 200724ba675SRob Herring * today's display need DE, disable LCD_M1 201724ba675SRob Herring */ 202724ba675SRob Herring lm1 { 203724ba675SRob Herring nvidia,pins = "lm1"; 204724ba675SRob Herring nvidia,function = "rsvd3"; 205724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 206724ba675SRob Herring }; 207724ba675SRob Herring 208724ba675SRob Herring /* Colibri LCD (L_* resp. LDD<*>) */ 209724ba675SRob Herring lcd { 210724ba675SRob Herring nvidia,pins = "ld0", "ld1", "ld2", "ld3", 211724ba675SRob Herring "ld4", "ld5", "ld6", "ld7", 212724ba675SRob Herring "ld8", "ld9", "ld10", "ld11", 213724ba675SRob Herring "ld12", "ld13", "ld14", "ld15", 214724ba675SRob Herring "ld16", "ld17", "lhs", "lsc0", 215724ba675SRob Herring "lspi", "lvs"; 216724ba675SRob Herring nvidia,function = "displaya"; 217724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 218724ba675SRob Herring }; 219724ba675SRob Herring /* Colibri LCD (Optional 24 BPP Support) */ 220724ba675SRob Herring lcd-24 { 221724ba675SRob Herring nvidia,pins = "ldi", "lhp0", "lhp1", "lhp2", 222724ba675SRob Herring "lpp", "lvp1"; 223724ba675SRob Herring nvidia,function = "displaya"; 224724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 225724ba675SRob Herring }; 226724ba675SRob Herring 227724ba675SRob Herring /* Colibri MMC */ 228724ba675SRob Herring mmc { 229724ba675SRob Herring nvidia,pins = "atb", "gma"; 230724ba675SRob Herring nvidia,function = "sdio4"; 231724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 232724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 233724ba675SRob Herring }; 234724ba675SRob Herring 235724ba675SRob Herring /* Colibri MMCCD */ 236724ba675SRob Herring mmccd { 237724ba675SRob Herring nvidia,pins = "gmb"; 238724ba675SRob Herring nvidia,function = "gmi_int"; 239724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 240724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 241724ba675SRob Herring }; 242724ba675SRob Herring 243724ba675SRob Herring /* Colibri MMC (Optional 8-bit) */ 244724ba675SRob Herring mmc-8bit { 245724ba675SRob Herring nvidia,pins = "gme"; 246724ba675SRob Herring nvidia,function = "sdio4"; 247724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 248724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 249724ba675SRob Herring }; 250724ba675SRob Herring 251724ba675SRob Herring /* 252724ba675SRob Herring * Colibri Parallel Camera (Optional) 253724ba675SRob Herring * pins multiplexed with others and therefore disabled 254724ba675SRob Herring * Note: dta used for BL_ON by default 255724ba675SRob Herring */ 256724ba675SRob Herring cif-mclk { 257724ba675SRob Herring nvidia,pins = "csus"; 258724ba675SRob Herring nvidia,function = "vi_sensor_clk"; 259724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 260724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 261724ba675SRob Herring }; 262724ba675SRob Herring cif { 263724ba675SRob Herring nvidia,pins = "dtb", "dtc", "dtd"; 264724ba675SRob Herring nvidia,function = "vi"; 265724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 266724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 267724ba675SRob Herring }; 268724ba675SRob Herring 269724ba675SRob Herring /* Colibri PWM<C>, PWM<D> */ 270724ba675SRob Herring sdb_sdd { 271724ba675SRob Herring nvidia,pins = "sdb", "sdd"; 272724ba675SRob Herring nvidia,function = "pwm"; 273724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 274724ba675SRob Herring }; 275724ba675SRob Herring 276724ba675SRob Herring /* Colibri SSP */ 277724ba675SRob Herring ssp { 278724ba675SRob Herring nvidia,pins = "slxa", "slxc", "slxd", "slxk"; 279724ba675SRob Herring nvidia,function = "spi4"; 280724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 281724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 282724ba675SRob Herring }; 283724ba675SRob Herring 284724ba675SRob Herring /* Colibri UART-A */ 285724ba675SRob Herring uart-a { 286724ba675SRob Herring nvidia,pins = "sdio1"; 287724ba675SRob Herring nvidia,function = "uarta"; 288724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 289724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 290724ba675SRob Herring }; 291724ba675SRob Herring uart-a-dsr { 292724ba675SRob Herring nvidia,pins = "lpw1"; 293724ba675SRob Herring nvidia,function = "rsvd3"; 294724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 295724ba675SRob Herring }; 296724ba675SRob Herring uart-a-dcd { 297724ba675SRob Herring nvidia,pins = "lpw2"; 298724ba675SRob Herring nvidia,function = "hdmi"; 299724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 300724ba675SRob Herring }; 301724ba675SRob Herring 302724ba675SRob Herring /* Colibri UART-B */ 303724ba675SRob Herring uart-b { 304724ba675SRob Herring nvidia,pins = "gmc"; 305724ba675SRob Herring nvidia,function = "uartd"; 306724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 307724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 308724ba675SRob Herring }; 309724ba675SRob Herring 310724ba675SRob Herring /* Colibri UART-C */ 311724ba675SRob Herring uart-c { 312724ba675SRob Herring nvidia,pins = "uad"; 313724ba675SRob Herring nvidia,function = "irda"; 314724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 315724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 316724ba675SRob Herring }; 317724ba675SRob Herring 318724ba675SRob Herring /* Colibri USB_CDET */ 319724ba675SRob Herring usb-cdet { 320724ba675SRob Herring nvidia,pins = "spdo"; 321724ba675SRob Herring nvidia,function = "rsvd2"; 322724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 323724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 324724ba675SRob Herring }; 325724ba675SRob Herring 326724ba675SRob Herring /* Colibri USBH_OC */ 327724ba675SRob Herring usbh-oc { 328724ba675SRob Herring nvidia,pins = "spih"; 329724ba675SRob Herring nvidia,function = "spi2_alt"; 330724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 331724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 332724ba675SRob Herring }; 333724ba675SRob Herring 334724ba675SRob Herring /* Colibri USBH_PEN */ 335724ba675SRob Herring usbh-pen { 336724ba675SRob Herring nvidia,pins = "spig"; 337724ba675SRob Herring nvidia,function = "spi2_alt"; 338724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 339724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 340724ba675SRob Herring }; 341724ba675SRob Herring 342724ba675SRob Herring /* Colibri VGA not supported */ 343724ba675SRob Herring vga { 344724ba675SRob Herring nvidia,pins = "crtp"; 345724ba675SRob Herring nvidia,function = "crt"; 346724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 347724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 348724ba675SRob Herring }; 349724ba675SRob Herring 350724ba675SRob Herring /* I2C3 (Optional) */ 351724ba675SRob Herring i2c3 { 352724ba675SRob Herring nvidia,pins = "dtf"; 353724ba675SRob Herring nvidia,function = "i2c3"; 354724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 355724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 356724ba675SRob Herring }; 357724ba675SRob Herring 358724ba675SRob Herring /* JTAG_RTCK */ 359724ba675SRob Herring jtag-rtck { 360724ba675SRob Herring nvidia,pins = "gpu7"; 361724ba675SRob Herring nvidia,function = "rtck"; 362724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 363724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 364724ba675SRob Herring }; 365724ba675SRob Herring 366724ba675SRob Herring /* 367724ba675SRob Herring * LAN_RESET, LAN_EXT_WAKEUP and LAN_PME 368724ba675SRob Herring * (All On-module) 369724ba675SRob Herring */ 370724ba675SRob Herring gpio-gpv { 371724ba675SRob Herring nvidia,pins = "gpv"; 372724ba675SRob Herring nvidia,function = "rsvd2"; 373724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 374724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 375724ba675SRob Herring }; 376724ba675SRob Herring 377724ba675SRob Herring /* 378724ba675SRob Herring * LAN_V_BUS, VDD_FAULT, BATT_FAULT, WM9712 PENDOWN 379724ba675SRob Herring * (All On-module); Colibri CAN_INT 380724ba675SRob Herring */ 381724ba675SRob Herring gpio-dte { 382724ba675SRob Herring nvidia,pins = "dte"; 383724ba675SRob Herring nvidia,function = "rsvd1"; 384724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 385724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 386724ba675SRob Herring }; 387724ba675SRob Herring 388724ba675SRob Herring /* NAND (On-module) */ 389724ba675SRob Herring nand { 390724ba675SRob Herring nvidia,pins = "kbca", "kbcb", "kbcc", "kbcd", 391724ba675SRob Herring "kbce", "kbcf"; 392724ba675SRob Herring nvidia,function = "nand"; 393724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 394724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 395724ba675SRob Herring }; 396724ba675SRob Herring 397724ba675SRob Herring /* Onewire (Optional) */ 398724ba675SRob Herring owr { 399724ba675SRob Herring nvidia,pins = "owc"; 400724ba675SRob Herring nvidia,function = "owr"; 401724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 402724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 403724ba675SRob Herring }; 404724ba675SRob Herring 405724ba675SRob Herring /* Power I2C (On-module) */ 406724ba675SRob Herring i2cp { 407724ba675SRob Herring nvidia,pins = "i2cp"; 408724ba675SRob Herring nvidia,function = "i2cp"; 409724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 410724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 411724ba675SRob Herring }; 412724ba675SRob Herring 413724ba675SRob Herring /* RESET_OUT */ 414724ba675SRob Herring reset-out { 415724ba675SRob Herring nvidia,pins = "ata"; 416724ba675SRob Herring nvidia,function = "gmi"; 417724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 418724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_DISABLE>; 419724ba675SRob Herring }; 420724ba675SRob Herring 421724ba675SRob Herring /* 422724ba675SRob Herring * SPI1 (Optional) 423724ba675SRob Herring * Note: spid and spie used for Colibri Address/Data 424724ba675SRob Herring * Bus (GMI) 425724ba675SRob Herring */ 426724ba675SRob Herring spi1 { 427724ba675SRob Herring nvidia,pins = "spid", "spie", "spif"; 428724ba675SRob Herring nvidia,function = "spi1"; 429724ba675SRob Herring nvidia,pull = <TEGRA_PIN_PULL_NONE>; 430724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 431724ba675SRob Herring }; 432724ba675SRob Herring 433724ba675SRob Herring /* 434724ba675SRob Herring * THERMD_ALERT# (On-module), unlatched I2C address pin 435724ba675SRob Herring * of LM95245 temperature sensor therefore requires 436724ba675SRob Herring * disabling for now 437724ba675SRob Herring */ 438724ba675SRob Herring lvp0 { 439724ba675SRob Herring nvidia,pins = "lvp0"; 440724ba675SRob Herring nvidia,function = "rsvd3"; 441724ba675SRob Herring nvidia,tristate = <TEGRA_PIN_ENABLE>; 442724ba675SRob Herring }; 443724ba675SRob Herring }; 444724ba675SRob Herring }; 445724ba675SRob Herring 446724ba675SRob Herring tegra_ac97: ac97@70002000 { 447724ba675SRob Herring status = "okay"; 448*ff4d7e17SMohammad Shehar Yaar Tausif nvidia,codec-reset-gpios = 44926e91f61SLinus Walleij <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>; 450*ff4d7e17SMohammad Shehar Yaar Tausif nvidia,codec-sync-gpios = 451724ba675SRob Herring <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>; 452724ba675SRob Herring }; 453724ba675SRob Herring 454724ba675SRob Herring serial@70006040 { 455724ba675SRob Herring compatible = "nvidia,tegra20-hsuart"; 456500b861dSThierry Reding reset-names = "serial"; 457724ba675SRob Herring /delete-property/ reg-shift; 458724ba675SRob Herring }; 459724ba675SRob Herring 460724ba675SRob Herring serial@70006300 { 461724ba675SRob Herring compatible = "nvidia,tegra20-hsuart"; 462500b861dSThierry Reding reset-names = "serial"; 463724ba675SRob Herring /delete-property/ reg-shift; 464724ba675SRob Herring }; 465724ba675SRob Herring 466724ba675SRob Herring nand-controller@70008000 { 467724ba675SRob Herring status = "okay"; 468724ba675SRob Herring 469724ba675SRob Herring nand@0 { 470724ba675SRob Herring reg = <0>; 471724ba675SRob Herring #address-cells = <1>; 472724ba675SRob Herring #size-cells = <1>; 473724ba675SRob Herring nand-bus-width = <8>; 474724ba675SRob Herring nand-on-flash-bbt; 475724ba675SRob Herring nand-ecc-algo = "bch"; 476724ba675SRob Herring nand-is-boot-medium; 477724ba675SRob Herring nand-ecc-maximize; 478724ba675SRob Herring wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>; 479724ba675SRob Herring }; 480724ba675SRob Herring }; 481724ba675SRob Herring 482724ba675SRob Herring /* 483724ba675SRob Herring * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier 484724ba675SRob Herring * board) 485724ba675SRob Herring */ 486724ba675SRob Herring i2c@7000c000 { 487724ba675SRob Herring clock-frequency = <400000>; 488724ba675SRob Herring }; 489724ba675SRob Herring 490724ba675SRob Herring /* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */ 491724ba675SRob Herring hdmi_ddc: i2c@7000c400 { 492724ba675SRob Herring clock-frequency = <10000>; 493724ba675SRob Herring }; 494724ba675SRob Herring 495724ba675SRob Herring /* GEN2_I2C: unused */ 496724ba675SRob Herring 497724ba675SRob Herring /* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */ 498724ba675SRob Herring 499724ba675SRob Herring /* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */ 500724ba675SRob Herring i2c@7000d000 { 501724ba675SRob Herring status = "okay"; 502724ba675SRob Herring clock-frequency = <100000>; 503724ba675SRob Herring 504724ba675SRob Herring pmic@34 { 505724ba675SRob Herring compatible = "ti,tps6586x"; 506724ba675SRob Herring reg = <0x34>; 507724ba675SRob Herring interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 508724ba675SRob Herring ti,system-power-controller; 509724ba675SRob Herring #gpio-cells = <2>; 510724ba675SRob Herring gpio-controller; 511724ba675SRob Herring sys-supply = <®_module_3v3>; 512724ba675SRob Herring vin-sm0-supply = <®_3v3_vsys>; 513724ba675SRob Herring vin-sm1-supply = <®_3v3_vsys>; 514724ba675SRob Herring vin-sm2-supply = <®_3v3_vsys>; 515724ba675SRob Herring vinldo01-supply = <®_1v8_vdd_ddr2>; 516724ba675SRob Herring vinldo23-supply = <®_module_3v3>; 517724ba675SRob Herring vinldo4-supply = <®_module_3v3>; 518724ba675SRob Herring vinldo678-supply = <®_module_3v3>; 519724ba675SRob Herring vinldo9-supply = <®_module_3v3>; 520724ba675SRob Herring 521724ba675SRob Herring regulators { 522724ba675SRob Herring reg_3v3_vsys: sys { 523724ba675SRob Herring regulator-name = "VSYS_3.3V"; 524724ba675SRob Herring regulator-always-on; 525724ba675SRob Herring }; 526724ba675SRob Herring 527724ba675SRob Herring vdd_core: sm0 { 528724ba675SRob Herring regulator-name = "VDD_CORE_1.2V"; 529724ba675SRob Herring regulator-min-microvolt = <1200000>; 530724ba675SRob Herring regulator-max-microvolt = <1200000>; 531724ba675SRob Herring regulator-always-on; 532724ba675SRob Herring }; 533724ba675SRob Herring 534724ba675SRob Herring sm1 { 535724ba675SRob Herring regulator-name = "VDD_CPU_1.0V"; 536724ba675SRob Herring regulator-min-microvolt = <1000000>; 537724ba675SRob Herring regulator-max-microvolt = <1000000>; 538724ba675SRob Herring regulator-always-on; 539724ba675SRob Herring }; 540724ba675SRob Herring 541724ba675SRob Herring reg_1v8_vdd_ddr2: sm2 { 542724ba675SRob Herring regulator-name = "VDD_DDR2_1.8V"; 543724ba675SRob Herring regulator-min-microvolt = <1800000>; 544724ba675SRob Herring regulator-max-microvolt = <1800000>; 545724ba675SRob Herring regulator-always-on; 546724ba675SRob Herring }; 547724ba675SRob Herring 548724ba675SRob Herring /* LDO0 is not connected to anything */ 549724ba675SRob Herring 550724ba675SRob Herring /* 551724ba675SRob Herring * +3.3V_ENABLE_N switching via FET: 552724ba675SRob Herring * AVDD_AUDIO_S and +3.3V 553724ba675SRob Herring * see also +3.3V fixed supply 554724ba675SRob Herring */ 555724ba675SRob Herring ldo1 { 556724ba675SRob Herring regulator-name = "AVDD_PLL_1.1V"; 557724ba675SRob Herring regulator-min-microvolt = <1100000>; 558724ba675SRob Herring regulator-max-microvolt = <1100000>; 559724ba675SRob Herring regulator-always-on; 560724ba675SRob Herring }; 561724ba675SRob Herring 562724ba675SRob Herring ldo2 { 563724ba675SRob Herring regulator-name = "VDD_RTC_1.2V"; 564724ba675SRob Herring regulator-min-microvolt = <1200000>; 565724ba675SRob Herring regulator-max-microvolt = <1200000>; 566724ba675SRob Herring }; 567724ba675SRob Herring 568724ba675SRob Herring /* LDO3 is not connected to anything */ 569724ba675SRob Herring 570724ba675SRob Herring ldo4 { 571724ba675SRob Herring regulator-name = "VDDIO_SYS_1.8V"; 572724ba675SRob Herring regulator-min-microvolt = <1800000>; 573724ba675SRob Herring regulator-max-microvolt = <1800000>; 574724ba675SRob Herring regulator-always-on; 575724ba675SRob Herring }; 576724ba675SRob Herring 577724ba675SRob Herring /* Switched via FET from regular +3.3V */ 578724ba675SRob Herring ldo5 { 579724ba675SRob Herring regulator-name = "+3.3V_USB"; 580724ba675SRob Herring regulator-min-microvolt = <3300000>; 581724ba675SRob Herring regulator-max-microvolt = <3300000>; 582724ba675SRob Herring regulator-always-on; 583724ba675SRob Herring }; 584724ba675SRob Herring 585724ba675SRob Herring ldo6 { 586724ba675SRob Herring regulator-name = "AVDD_VDAC_2.85V"; 587724ba675SRob Herring regulator-min-microvolt = <2850000>; 588724ba675SRob Herring regulator-max-microvolt = <2850000>; 589724ba675SRob Herring }; 590724ba675SRob Herring 591724ba675SRob Herring reg_3v3_avdd_hdmi: ldo7 { 592724ba675SRob Herring regulator-name = "AVDD_HDMI_3.3V"; 593724ba675SRob Herring regulator-min-microvolt = <3300000>; 594724ba675SRob Herring regulator-max-microvolt = <3300000>; 595724ba675SRob Herring }; 596724ba675SRob Herring 597724ba675SRob Herring reg_1v8_avdd_hdmi_pll: ldo8 { 598724ba675SRob Herring regulator-name = "AVDD_HDMI_PLL_1.8V"; 599724ba675SRob Herring regulator-min-microvolt = <1800000>; 600724ba675SRob Herring regulator-max-microvolt = <1800000>; 601724ba675SRob Herring }; 602724ba675SRob Herring 603724ba675SRob Herring ldo9 { 604724ba675SRob Herring regulator-name = "VDDIO_RX_DDR_2.85V"; 605724ba675SRob Herring regulator-min-microvolt = <2850000>; 606724ba675SRob Herring regulator-max-microvolt = <2850000>; 607724ba675SRob Herring regulator-always-on; 608724ba675SRob Herring }; 609724ba675SRob Herring 610724ba675SRob Herring ldo_rtc { 611724ba675SRob Herring regulator-name = "VCC_BATT"; 612724ba675SRob Herring regulator-min-microvolt = <3300000>; 613724ba675SRob Herring regulator-max-microvolt = <3300000>; 614724ba675SRob Herring regulator-always-on; 615724ba675SRob Herring }; 616724ba675SRob Herring }; 617724ba675SRob Herring }; 618724ba675SRob Herring 619724ba675SRob Herring /* LM95245 temperature sensor */ 620724ba675SRob Herring temp-sensor@4c { 621724ba675SRob Herring compatible = "national,lm95245"; 622724ba675SRob Herring reg = <0x4c>; 623724ba675SRob Herring }; 624724ba675SRob Herring }; 625724ba675SRob Herring 626724ba675SRob Herring pmc@7000e400 { 627724ba675SRob Herring nvidia,suspend-mode = <1>; 628724ba675SRob Herring nvidia,cpu-pwr-good-time = <5000>; 629724ba675SRob Herring nvidia,cpu-pwr-off-time = <5000>; 630724ba675SRob Herring nvidia,core-pwr-good-time = <3845 3845>; 631724ba675SRob Herring nvidia,core-pwr-off-time = <3875>; 632724ba675SRob Herring nvidia,sys-clock-req-active-high; 633724ba675SRob Herring core-supply = <&vdd_core>; 634724ba675SRob Herring 635724ba675SRob Herring /* Set SLEEP MODE bit in SUPPLYENE register of TPS658643 PMIC */ 636724ba675SRob Herring i2c-thermtrip { 637724ba675SRob Herring nvidia,i2c-controller-id = <3>; 638724ba675SRob Herring nvidia,bus-addr = <0x34>; 639724ba675SRob Herring nvidia,reg-addr = <0x14>; 640724ba675SRob Herring nvidia,reg-data = <0x8>; 641724ba675SRob Herring }; 642724ba675SRob Herring }; 643724ba675SRob Herring 644724ba675SRob Herring memory-controller@7000f400 { 645724ba675SRob Herring emc-table@83250 { 646724ba675SRob Herring reg = <83250>; 647724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 648724ba675SRob Herring clock-frequency = <83250>; 649724ba675SRob Herring nvidia,emc-registers = <0x00000005 0x00000011 650724ba675SRob Herring 0x00000004 0x00000002 0x00000004 0x00000004 651724ba675SRob Herring 0x00000001 0x0000000a 0x00000002 0x00000002 652724ba675SRob Herring 0x00000001 0x00000001 0x00000003 0x00000004 653724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x0000025f 654724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000002 655724ba675SRob Herring 0x00000002 0x00000001 0x00000008 0x000000c8 656724ba675SRob Herring 0x00000003 0x00000005 0x00000003 0x0000000c 657724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 658724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00520006 659724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 660724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 661724ba675SRob Herring }; 662724ba675SRob Herring emc-table@133200 { 663724ba675SRob Herring reg = <133200>; 664724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 665724ba675SRob Herring clock-frequency = <133200>; 666724ba675SRob Herring nvidia,emc-registers = <0x00000008 0x00000019 667724ba675SRob Herring 0x00000006 0x00000002 0x00000004 0x00000004 668724ba675SRob Herring 0x00000001 0x0000000a 0x00000002 0x00000002 669724ba675SRob Herring 0x00000002 0x00000001 0x00000003 0x00000004 670724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x0000039f 671724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000002 672724ba675SRob Herring 0x00000002 0x00000001 0x00000008 0x000000c8 673724ba675SRob Herring 0x00000003 0x00000007 0x00000003 0x0000000c 674724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 675724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00510006 676724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 677724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 678724ba675SRob Herring }; 679724ba675SRob Herring emc-table@166500 { 680724ba675SRob Herring reg = <166500>; 681724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 682724ba675SRob Herring clock-frequency = <166500>; 683724ba675SRob Herring nvidia,emc-registers = <0x0000000a 0x00000021 684724ba675SRob Herring 0x00000008 0x00000003 0x00000004 0x00000004 685724ba675SRob Herring 0x00000002 0x0000000a 0x00000003 0x00000003 686724ba675SRob Herring 0x00000002 0x00000001 0x00000003 0x00000004 687724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x000004df 688724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000003 689724ba675SRob Herring 0x00000003 0x00000001 0x00000009 0x000000c8 690724ba675SRob Herring 0x00000003 0x00000009 0x00000004 0x0000000c 691724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 692724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x004f0006 693724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 694724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 695724ba675SRob Herring }; 696724ba675SRob Herring emc-table@333000 { 697724ba675SRob Herring reg = <333000>; 698724ba675SRob Herring compatible = "nvidia,tegra20-emc-table"; 699724ba675SRob Herring clock-frequency = <333000>; 700724ba675SRob Herring nvidia,emc-registers = <0x00000014 0x00000041 701724ba675SRob Herring 0x0000000f 0x00000005 0x00000004 0x00000005 702724ba675SRob Herring 0x00000003 0x0000000a 0x00000005 0x00000005 703724ba675SRob Herring 0x00000004 0x00000001 0x00000003 0x00000004 704724ba675SRob Herring 0x00000003 0x00000009 0x0000000c 0x000009ff 705724ba675SRob Herring 0x00000000 0x00000003 0x00000003 0x00000005 706724ba675SRob Herring 0x00000005 0x00000001 0x0000000e 0x000000c8 707724ba675SRob Herring 0x00000003 0x00000011 0x00000006 0x0000000c 708724ba675SRob Herring 0x00000002 0x00000000 0x00000000 0x00000002 709724ba675SRob Herring 0x00000000 0x00000000 0x00000083 0x00380006 710724ba675SRob Herring 0x00000010 0x00000008 0x00000000 0x00000000 711724ba675SRob Herring 0x00000000 0x00000000 0x00000000 0x00000000>; 712724ba675SRob Herring }; 713724ba675SRob Herring }; 714724ba675SRob Herring 715724ba675SRob Herring /* EHCI instance 1: ULPI PHY -> AX88772B (On-module) */ 716724ba675SRob Herring usb@c5004000 { 717724ba675SRob Herring status = "okay"; 718724ba675SRob Herring #address-cells = <1>; 719724ba675SRob Herring #size-cells = <0>; 720724ba675SRob Herring 721724ba675SRob Herring ethernet@1 { 722724ba675SRob Herring compatible = "usbb95,772b"; 723724ba675SRob Herring reg = <1>; 724724ba675SRob Herring local-mac-address = [00 00 00 00 00 00]; 725724ba675SRob Herring }; 726724ba675SRob Herring }; 727724ba675SRob Herring 728724ba675SRob Herring usb-phy@c5004000 { 729724ba675SRob Herring status = "okay"; 730724ba675SRob Herring nvidia,phy-reset-gpio = 731724ba675SRob Herring <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_LOW>; 732724ba675SRob Herring vbus-supply = <®_lan_v_bus>; 733724ba675SRob Herring }; 734724ba675SRob Herring 735724ba675SRob Herring clk32k_in: clock-xtal3 { 736724ba675SRob Herring compatible = "fixed-clock"; 737724ba675SRob Herring #clock-cells = <0>; 738724ba675SRob Herring clock-frequency = <32768>; 739724ba675SRob Herring }; 740724ba675SRob Herring 741724ba675SRob Herring opp-table-emc { 742724ba675SRob Herring /delete-node/ opp-760000000; 743724ba675SRob Herring }; 744724ba675SRob Herring 745724ba675SRob Herring reg_lan_v_bus: regulator-lan-v-bus { 746724ba675SRob Herring compatible = "regulator-fixed"; 747724ba675SRob Herring regulator-name = "LAN_V_BUS"; 748724ba675SRob Herring regulator-min-microvolt = <5000000>; 749724ba675SRob Herring regulator-max-microvolt = <5000000>; 750724ba675SRob Herring enable-active-high; 751724ba675SRob Herring gpio = <&gpio TEGRA_GPIO(BB, 1) GPIO_ACTIVE_HIGH>; 752724ba675SRob Herring }; 753724ba675SRob Herring 754724ba675SRob Herring reg_module_3v3: regulator-module-3v3 { 755724ba675SRob Herring compatible = "regulator-fixed"; 756724ba675SRob Herring regulator-name = "+V3.3"; 757724ba675SRob Herring regulator-min-microvolt = <3300000>; 758724ba675SRob Herring regulator-max-microvolt = <3300000>; 759724ba675SRob Herring regulator-always-on; 760724ba675SRob Herring }; 761724ba675SRob Herring 762724ba675SRob Herring sound { 763724ba675SRob Herring compatible = "nvidia,tegra-audio-wm9712-colibri_t20", 764724ba675SRob Herring "nvidia,tegra-audio-wm9712"; 765724ba675SRob Herring nvidia,model = "Toradex Colibri T20"; 766724ba675SRob Herring nvidia,audio-routing = 767724ba675SRob Herring "Headphone", "HPOUTL", 768724ba675SRob Herring "Headphone", "HPOUTR", 769724ba675SRob Herring "LineIn", "LINEINL", 770724ba675SRob Herring "LineIn", "LINEINR", 771724ba675SRob Herring "Mic", "MIC1"; 772724ba675SRob Herring nvidia,ac97-controller = <&tegra_ac97>; 773724ba675SRob Herring clocks = <&tegra_car TEGRA20_CLK_PLL_A>, 774724ba675SRob Herring <&tegra_car TEGRA20_CLK_PLL_A_OUT0>, 775724ba675SRob Herring <&tegra_car TEGRA20_CLK_CDEV1>; 776724ba675SRob Herring clock-names = "pll_a", "pll_a_out0", "mclk"; 777724ba675SRob Herring }; 778724ba675SRob Herring}; 779