1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 OR MIT 2*4882a593Smuzhiyun/dts-v1/; 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 5*4882a593Smuzhiyun#include "tegra20-colibri.dtsi" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/ { 8*4882a593Smuzhiyun model = "Toradex Colibri T20 on Colibri Evaluation Board"; 9*4882a593Smuzhiyun compatible = "toradex,colibri_t20-eval-v3", "toradex,colibri_t20", 10*4882a593Smuzhiyun "nvidia,tegra20"; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun aliases { 13*4882a593Smuzhiyun rtc0 = "/i2c@7000c000/rtc@68"; 14*4882a593Smuzhiyun rtc1 = "/i2c@7000d000/pmic@34"; 15*4882a593Smuzhiyun rtc2 = "/rtc@7000e000"; 16*4882a593Smuzhiyun serial0 = &uarta; 17*4882a593Smuzhiyun serial1 = &uartd; 18*4882a593Smuzhiyun serial2 = &uartb; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun chosen { 22*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun host1x@50000000 { 26*4882a593Smuzhiyun dc@54200000 { 27*4882a593Smuzhiyun rgb { 28*4882a593Smuzhiyun status = "okay"; 29*4882a593Smuzhiyun nvidia,panel = <&panel>; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun hdmi@54280000 { 34*4882a593Smuzhiyun status = "okay"; 35*4882a593Smuzhiyun hdmi-supply = <®_5v0>; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun pinmux@70000014 { 40*4882a593Smuzhiyun state_default: pinmux { 41*4882a593Smuzhiyun bl-on { 42*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun ddc { 46*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun hotplug-detect { 50*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun i2c { 54*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun lcd { 58*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun lm1 { 62*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun mmc { 66*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun mmccd { 70*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun pwm-a-b { 74*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun pwm-c-d { 78*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun ssp { 82*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun uart-a { 86*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun uart-b { 90*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun uart-c { 94*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun usbh-pen { 98*4882a593Smuzhiyun nvidia,tristate = <TEGRA_PIN_DISABLE>; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* Colibri UART-A */ 104*4882a593Smuzhiyun serial@70006000 { 105*4882a593Smuzhiyun status = "okay"; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun /* Colibri UART-C */ 109*4882a593Smuzhiyun serial@70006040 { 110*4882a593Smuzhiyun status = "okay"; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun /* Colibri UART-B */ 114*4882a593Smuzhiyun serial@70006300 { 115*4882a593Smuzhiyun status = "okay"; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun pwm@7000a000 { 119*4882a593Smuzhiyun status = "okay"; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun /* 123*4882a593Smuzhiyun * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier 124*4882a593Smuzhiyun * board) 125*4882a593Smuzhiyun */ 126*4882a593Smuzhiyun i2c@7000c000 { 127*4882a593Smuzhiyun status = "okay"; 128*4882a593Smuzhiyun clock-frequency = <400000>; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun /* M41T0M6 real time clock on carrier board */ 131*4882a593Smuzhiyun rtc@68 { 132*4882a593Smuzhiyun compatible = "st,m41t0"; 133*4882a593Smuzhiyun reg = <0x68>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun }; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun /* GEN2_I2C: unused */ 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun /* CAM_I2C (I2C3): unused */ 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun /* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */ 142*4882a593Smuzhiyun i2c@7000c400 { 143*4882a593Smuzhiyun status = "okay"; 144*4882a593Smuzhiyun }; 145*4882a593Smuzhiyun 146*4882a593Smuzhiyun /* EHCI instance 0: USB1_DP/N -> USBC_P/N */ 147*4882a593Smuzhiyun usb@c5000000 { 148*4882a593Smuzhiyun status = "okay"; 149*4882a593Smuzhiyun dr_mode = "otg"; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun usb-phy@c5000000 { 153*4882a593Smuzhiyun status = "okay"; 154*4882a593Smuzhiyun vbus-supply = <®_usbc_vbus>; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun /* EHCI instance 2: USB3_DP/N -> USBH_P/N */ 158*4882a593Smuzhiyun usb@c5008000 { 159*4882a593Smuzhiyun status = "okay"; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun usb-phy@c5008000 { 163*4882a593Smuzhiyun status = "okay"; 164*4882a593Smuzhiyun vbus-supply = <®_usbh_vbus>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun /* SPI4: Colibri SSP */ 168*4882a593Smuzhiyun spi@7000da00 { 169*4882a593Smuzhiyun status = "okay"; 170*4882a593Smuzhiyun spi-max-frequency = <25000000>; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun can@0 { 173*4882a593Smuzhiyun compatible = "microchip,mcp2515"; 174*4882a593Smuzhiyun reg = <0>; 175*4882a593Smuzhiyun clocks = <&clk16m>; 176*4882a593Smuzhiyun interrupt-parent = <&gpio>; 177*4882a593Smuzhiyun /* CAN_INT */ 178*4882a593Smuzhiyun interrupts = <TEGRA_GPIO(A, 0) IRQ_TYPE_EDGE_FALLING>; 179*4882a593Smuzhiyun spi-max-frequency = <10000000>; 180*4882a593Smuzhiyun vdd-supply = <®_3v3>; 181*4882a593Smuzhiyun xceiver-supply = <®_5v0>; 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun }; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun /* SD/MMC */ 186*4882a593Smuzhiyun mmc@c8000600 { 187*4882a593Smuzhiyun status = "okay"; 188*4882a593Smuzhiyun bus-width = <4>; 189*4882a593Smuzhiyun cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */ 190*4882a593Smuzhiyun no-1-8-v; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun backlight: backlight { 194*4882a593Smuzhiyun compatible = "pwm-backlight"; 195*4882a593Smuzhiyun brightness-levels = <255 128 64 32 16 8 4 0>; 196*4882a593Smuzhiyun default-brightness-level = <6>; 197*4882a593Smuzhiyun /* BL_ON */ 198*4882a593Smuzhiyun enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>; 199*4882a593Smuzhiyun power-supply = <®_3v3>; 200*4882a593Smuzhiyun pwms = <&pwm 0 5000000>; /* PWM<A> */ 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun clk16m: osc3 { 204*4882a593Smuzhiyun compatible = "fixed-clock"; 205*4882a593Smuzhiyun #clock-cells = <0>; 206*4882a593Smuzhiyun clock-frequency = <16000000>; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun gpio-keys { 210*4882a593Smuzhiyun compatible = "gpio-keys"; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun wakeup { 213*4882a593Smuzhiyun label = "SODIMM pin 45 wakeup"; 214*4882a593Smuzhiyun gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; 215*4882a593Smuzhiyun linux,code = <KEY_WAKEUP>; 216*4882a593Smuzhiyun debounce-interval = <10>; 217*4882a593Smuzhiyun wakeup-source; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun }; 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun panel: panel { 222*4882a593Smuzhiyun /* 223*4882a593Smuzhiyun * edt,et057090dhu: EDT 5.7" LCD TFT 224*4882a593Smuzhiyun * edt,et070080dh6: EDT 7.0" LCD TFT 225*4882a593Smuzhiyun */ 226*4882a593Smuzhiyun compatible = "edt,et057090dhu"; 227*4882a593Smuzhiyun backlight = <&backlight>; 228*4882a593Smuzhiyun power-supply = <®_3v3>; 229*4882a593Smuzhiyun }; 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun reg_3v3: regulator-3v3 { 232*4882a593Smuzhiyun compatible = "regulator-fixed"; 233*4882a593Smuzhiyun regulator-name = "3.3V_SW"; 234*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 235*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 236*4882a593Smuzhiyun }; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun reg_5v0: regulator-5v0 { 239*4882a593Smuzhiyun compatible = "regulator-fixed"; 240*4882a593Smuzhiyun regulator-name = "5V_SW"; 241*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 242*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun reg_usbc_vbus: regulator-usbc-vbus { 246*4882a593Smuzhiyun compatible = "regulator-fixed"; 247*4882a593Smuzhiyun regulator-name = "VCC_USB5"; 248*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 249*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 250*4882a593Smuzhiyun vin-supply = <®_5v0>; 251*4882a593Smuzhiyun }; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun /* USBH_PEN resp. USB_P_EN */ 254*4882a593Smuzhiyun reg_usbh_vbus: regulator-usbh-vbus { 255*4882a593Smuzhiyun compatible = "regulator-fixed"; 256*4882a593Smuzhiyun regulator-name = "VCC_USB[1-4]"; 257*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 258*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 259*4882a593Smuzhiyun gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>; 260*4882a593Smuzhiyun vin-supply = <®_5v0>; 261*4882a593Smuzhiyun }; 262*4882a593Smuzhiyun}; 263