1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 OR X11 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright 2016-2019 Toradex AG 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun/dts-v1/; 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 9*4882a593Smuzhiyun#include "tegra124-apalis.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun model = "Toradex Apalis TK1 on Apalis Evaluation Board"; 13*4882a593Smuzhiyun compatible = "toradex,apalis-tk1-eval", "toradex,apalis-tk1", 14*4882a593Smuzhiyun "nvidia,tegra124"; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun aliases { 17*4882a593Smuzhiyun rtc0 = "/i2c@7000c000/rtc@68"; 18*4882a593Smuzhiyun rtc1 = "/i2c@7000d000/pmic@40"; 19*4882a593Smuzhiyun rtc2 = "/rtc@7000e000"; 20*4882a593Smuzhiyun serial0 = &uarta; 21*4882a593Smuzhiyun serial1 = &uartb; 22*4882a593Smuzhiyun serial2 = &uartc; 23*4882a593Smuzhiyun serial3 = &uartd; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun chosen { 27*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun pcie@1003000 { 31*4882a593Smuzhiyun pci@1,0 { 32*4882a593Smuzhiyun status = "okay"; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun }; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun host1x@50000000 { 37*4882a593Smuzhiyun hdmi@54280000 { 38*4882a593Smuzhiyun status = "okay"; 39*4882a593Smuzhiyun hdmi-supply = <®_5v0>; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* Apalis UART1 */ 44*4882a593Smuzhiyun serial@70006000 { 45*4882a593Smuzhiyun status = "okay"; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Apalis UART2 */ 49*4882a593Smuzhiyun serial@70006040 { 50*4882a593Smuzhiyun status = "okay"; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* Apalis UART3 */ 54*4882a593Smuzhiyun serial@70006200 { 55*4882a593Smuzhiyun status = "okay"; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun /* Apalis UART4 */ 59*4882a593Smuzhiyun serial@70006300 { 60*4882a593Smuzhiyun status = "okay"; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun pwm@7000a000 { 64*4882a593Smuzhiyun status = "okay"; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* 68*4882a593Smuzhiyun * GEN1_I2C: I2C1_SDA/SCL on MXM3 pin 209/211 (e.g. RTC on carrier 69*4882a593Smuzhiyun * board) 70*4882a593Smuzhiyun */ 71*4882a593Smuzhiyun i2c@7000c000 { 72*4882a593Smuzhiyun status = "okay"; 73*4882a593Smuzhiyun clock-frequency = <400000>; 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun pcie-switch@58 { 76*4882a593Smuzhiyun compatible = "plx,pex8605"; 77*4882a593Smuzhiyun reg = <0x58>; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun /* M41T0M6 real time clock on carrier board */ 81*4882a593Smuzhiyun rtc@68 { 82*4882a593Smuzhiyun compatible = "st,m41t0"; 83*4882a593Smuzhiyun reg = <0x68>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun /* 88*4882a593Smuzhiyun * GEN2_I2C: I2C2_SDA/SCL (DDC) on MXM3 pin 205/207 (e.g. display EDID) 89*4882a593Smuzhiyun */ 90*4882a593Smuzhiyun i2c@7000c400 { 91*4882a593Smuzhiyun status = "okay"; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun /* 95*4882a593Smuzhiyun * CAM_I2C: I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor 96*4882a593Smuzhiyun * on carrier board) 97*4882a593Smuzhiyun */ 98*4882a593Smuzhiyun i2c@7000c500 { 99*4882a593Smuzhiyun status = "okay"; 100*4882a593Smuzhiyun clock-frequency = <400000>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun /* I2C4 (DDC): unused */ 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun /* SPI1: Apalis SPI1 */ 106*4882a593Smuzhiyun spi@7000d400 { 107*4882a593Smuzhiyun status = "okay"; 108*4882a593Smuzhiyun spi-max-frequency = <50000000>; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun /* SPI4: Apalis SPI2 */ 112*4882a593Smuzhiyun spi@7000da00 { 113*4882a593Smuzhiyun status = "okay"; 114*4882a593Smuzhiyun spi-max-frequency = <50000000>; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun /* Apalis Serial ATA */ 118*4882a593Smuzhiyun sata@70020000 { 119*4882a593Smuzhiyun status = "okay"; 120*4882a593Smuzhiyun target-5v-supply = <®_5v0>; 121*4882a593Smuzhiyun target-12v-supply = <®_12v0>; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun hda@70030000 { 125*4882a593Smuzhiyun status = "okay"; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun usb@70090000 { 129*4882a593Smuzhiyun status = "okay"; 130*4882a593Smuzhiyun }; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun /* Apalis MMC1 */ 133*4882a593Smuzhiyun mmc@700b0000 { 134*4882a593Smuzhiyun status = "okay"; 135*4882a593Smuzhiyun bus-width = <4>; 136*4882a593Smuzhiyun /* MMC1_CD# */ 137*4882a593Smuzhiyun cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>; 138*4882a593Smuzhiyun vqmmc-supply = <&vddio_sdmmc1>; 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun /* Apalis SD1 */ 142*4882a593Smuzhiyun mmc@700b0400 { 143*4882a593Smuzhiyun status = "okay"; 144*4882a593Smuzhiyun bus-width = <4>; 145*4882a593Smuzhiyun /* SD1_CD# */ 146*4882a593Smuzhiyun cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>; 147*4882a593Smuzhiyun vqmmc-supply = <&vddio_sdmmc3>; 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun /* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */ 151*4882a593Smuzhiyun usb@7d000000 { 152*4882a593Smuzhiyun status = "okay"; 153*4882a593Smuzhiyun dr_mode = "otg"; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun usb-phy@7d000000 { 157*4882a593Smuzhiyun status = "okay"; 158*4882a593Smuzhiyun vbus-supply = <®_usbo1_vbus>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun /* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */ 162*4882a593Smuzhiyun usb@7d004000 { 163*4882a593Smuzhiyun status = "okay"; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun usb-phy@7d004000 { 167*4882a593Smuzhiyun status = "okay"; 168*4882a593Smuzhiyun vbus-supply = <®_usbh_vbus>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* EHCI instance 2: USB3_DP/N -> USBH4_DP/N */ 172*4882a593Smuzhiyun usb@7d008000 { 173*4882a593Smuzhiyun status = "okay"; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun usb-phy@7d008000 { 177*4882a593Smuzhiyun status = "okay"; 178*4882a593Smuzhiyun vbus-supply = <®_usbh_vbus>; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun backlight: backlight { 182*4882a593Smuzhiyun compatible = "pwm-backlight"; 183*4882a593Smuzhiyun brightness-levels = <255 231 223 207 191 159 127 0>; 184*4882a593Smuzhiyun default-brightness-level = <6>; 185*4882a593Smuzhiyun /* BKL1_ON */ 186*4882a593Smuzhiyun enable-gpios = <&gpio TEGRA_GPIO(BB, 5) GPIO_ACTIVE_HIGH>; 187*4882a593Smuzhiyun power-supply = <®_3v3>; 188*4882a593Smuzhiyun pwms = <&pwm 3 5000000>; /* BKL1_PWM */ 189*4882a593Smuzhiyun }; 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun gpio-keys { 192*4882a593Smuzhiyun compatible = "gpio-keys"; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun wakeup { 195*4882a593Smuzhiyun label = "WAKE1_MICO"; 196*4882a593Smuzhiyun gpios = <&gpio TEGRA_GPIO(DD, 3) GPIO_ACTIVE_LOW>; 197*4882a593Smuzhiyun linux,code = <KEY_WAKEUP>; 198*4882a593Smuzhiyun debounce-interval = <10>; 199*4882a593Smuzhiyun wakeup-source; 200*4882a593Smuzhiyun }; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun reg_3v3: regulator-3v3 { 204*4882a593Smuzhiyun compatible = "regulator-fixed"; 205*4882a593Smuzhiyun regulator-name = "3.3V_SW"; 206*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 207*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 208*4882a593Smuzhiyun }; 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun reg_5v0: regulator-5v0 { 211*4882a593Smuzhiyun compatible = "regulator-fixed"; 212*4882a593Smuzhiyun regulator-name = "5V_SW"; 213*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 214*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 215*4882a593Smuzhiyun }; 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun reg_12v0: regulator-12v0 { 218*4882a593Smuzhiyun compatible = "regulator-fixed"; 219*4882a593Smuzhiyun regulator-name = "12V_SW"; 220*4882a593Smuzhiyun regulator-min-microvolt = <12000000>; 221*4882a593Smuzhiyun regulator-max-microvolt = <12000000>; 222*4882a593Smuzhiyun }; 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun /* USBO1_EN */ 225*4882a593Smuzhiyun reg_usbo1_vbus: regulator-usbo1-vbus { 226*4882a593Smuzhiyun compatible = "regulator-fixed"; 227*4882a593Smuzhiyun regulator-name = "VCC_USBO1"; 228*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 229*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 230*4882a593Smuzhiyun gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>; 231*4882a593Smuzhiyun enable-active-high; 232*4882a593Smuzhiyun vin-supply = <®_5v0>; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun /* USBH_EN */ 236*4882a593Smuzhiyun reg_usbh_vbus: regulator-usbh-vbus { 237*4882a593Smuzhiyun compatible = "regulator-fixed"; 238*4882a593Smuzhiyun regulator-name = "VCC_USBH(2A|2C|2D|3|4)"; 239*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 240*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 241*4882a593Smuzhiyun gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>; 242*4882a593Smuzhiyun enable-active-high; 243*4882a593Smuzhiyun vin-supply = <®_5v0>; 244*4882a593Smuzhiyun }; 245*4882a593Smuzhiyun}; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun&gpio { 248*4882a593Smuzhiyun /* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */ 249*4882a593Smuzhiyun pex-perst-n { 250*4882a593Smuzhiyun gpio-hog; 251*4882a593Smuzhiyun gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>; 252*4882a593Smuzhiyun output-high; 253*4882a593Smuzhiyun line-name = "PEX_PERST_N"; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun}; 256