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