hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/tegra20-colibri-iris.dts
....@@ -1,15 +1,21 @@
11 // SPDX-License-Identifier: GPL-2.0
22 /dts-v1/;
33
4
+#include <dt-bindings/input/input.h>
45 #include "tegra20-colibri.dtsi"
56
67 / {
7
- model = "Toradex Colibri T20 256/512 MB on Iris";
8
- compatible = "toradex,iris", "toradex,colibri_t20-512", "nvidia,tegra20";
8
+ model = "Toradex Colibri T20 on Iris";
9
+ compatible = "toradex,colibri_t20-iris", "toradex,colibri_t20",
10
+ "nvidia,tegra20";
911
1012 aliases {
13
+ rtc0 = "/i2c@7000c000/rtc@68";
14
+ rtc1 = "/i2c@7000d000/pmic@34";
15
+ rtc2 = "/rtc@7000e000";
1116 serial0 = &uarta;
1217 serial1 = &uartd;
18
+ serial2 = &uartb;
1319 };
1420
1521 chosen {
....@@ -17,90 +23,222 @@
1723 };
1824
1925 host1x@50000000 {
26
+ dc@54200000 {
27
+ rgb {
28
+ status = "okay";
29
+ nvidia,panel = <&panel>;
30
+ };
31
+ };
32
+
2033 hdmi@54280000 {
2134 status = "okay";
35
+ hdmi-supply = <&reg_5v0>;
2236 };
2337 };
2438
2539 pinmux@70000014 {
2640 state_default: pinmux {
27
- hdint {
41
+ bl-on {
2842 nvidia,tristate = <TEGRA_PIN_DISABLE>;
2943 };
3044
31
- i2cddc {
45
+ ddc {
3246 nvidia,tristate = <TEGRA_PIN_DISABLE>;
3347 };
3448
35
- sdio4 {
49
+ hotplug-detect {
3650 nvidia,tristate = <TEGRA_PIN_DISABLE>;
3751 };
3852
39
- uarta {
53
+ i2c {
4054 nvidia,tristate = <TEGRA_PIN_DISABLE>;
4155 };
4256
43
- uartd {
57
+ lcd {
58
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
59
+ };
60
+
61
+ lm1 {
62
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
63
+ };
64
+
65
+ mmc {
66
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
67
+ };
68
+
69
+ mmccd {
70
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
71
+ };
72
+
73
+ pwm-a-b {
74
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
75
+ };
76
+
77
+ pwm-c-d {
78
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
79
+ };
80
+
81
+ ssp {
82
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
83
+ };
84
+
85
+ uart-a {
86
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
87
+ };
88
+
89
+ uart-b {
90
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
91
+ };
92
+
93
+ uart-c {
94
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
95
+ };
96
+
97
+ usbh-pen {
4498 nvidia,tristate = <TEGRA_PIN_DISABLE>;
4599 };
46100 };
47101 };
48102
103
+ /* Colibri UART-A */
49104 serial@70006000 {
50105 status = "okay";
51106 };
52107
108
+ /* Colibri UART-C */
109
+ serial@70006040 {
110
+ status = "okay";
111
+ };
112
+
113
+ /* Colibri UART-B */
53114 serial@70006300 {
54115 status = "okay";
55116 };
56117
57
- i2c_ddc: i2c@7000c400 {
118
+ pwm@7000a000 {
58119 status = "okay";
59120 };
60121
122
+ /*
123
+ * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
124
+ * board)
125
+ */
126
+ i2c@7000c000 {
127
+ status = "okay";
128
+ clock-frequency = <400000>;
129
+
130
+ /* M41T0M6 real time clock on carrier board */
131
+ rtc@68 {
132
+ compatible = "st,m41t0";
133
+ reg = <0x68>;
134
+ };
135
+ };
136
+
137
+ /* GEN2_I2C: unused */
138
+
139
+ /* CAM_I2C (I2C3): unused */
140
+
141
+ /* DDC_CLOCK/DATA on X3 pin 15/16 (e.g. display EDID) */
142
+ i2c@7000c400 {
143
+ status = "okay";
144
+ };
145
+
146
+ /* EHCI instance 0: USB1_DP/N -> USBC_P/N */
61147 usb@c5000000 {
62148 status = "okay";
149
+ dr_mode = "otg";
63150 };
64151
65152 usb-phy@c5000000 {
66153 status = "okay";
154
+ vbus-supply = <&reg_usbc_vbus>;
67155 };
68156
157
+ /* EHCI instance 2: USB3_DP/N -> USBH_P/N */
69158 usb@c5008000 {
70159 status = "okay";
71160 };
72161
73162 usb-phy@c5008000 {
74163 status = "okay";
164
+ vbus-supply = <&reg_usbh_vbus>;
75165 };
76166
77
- sdhci@c8000600 {
167
+ /* SPI4: Colibri SSP */
168
+ spi@7000da00 {
169
+ status = "okay";
170
+ spi-max-frequency = <25000000>;
171
+ };
172
+
173
+ /* SD/MMC */
174
+ mmc@c8000600 {
78175 status = "okay";
79176 bus-width = <4>;
80
- vmmc-supply = <&vcc_sd_reg>;
81
- vqmmc-supply = <&vcc_sd_reg>;
177
+ cd-gpios = <&gpio TEGRA_GPIO(C, 7) GPIO_ACTIVE_LOW>; /* MMCD */
178
+ no-1-8-v;
82179 };
83180
84
- regulators {
85
- regulator@0 {
86
- compatible = "regulator-fixed";
87
- reg = <0>;
88
- regulator-name = "usb_host_vbus";
89
- regulator-min-microvolt = <5000000>;
90
- regulator-max-microvolt = <5000000>;
91
- regulator-boot-on;
92
- regulator-always-on;
93
- gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_HIGH>;
94
- };
181
+ backlight: backlight {
182
+ compatible = "pwm-backlight";
183
+ brightness-levels = <255 128 64 32 16 8 4 0>;
184
+ default-brightness-level = <6>;
185
+ /* BL_ON */
186
+ enable-gpios = <&gpio TEGRA_GPIO(T, 4) GPIO_ACTIVE_HIGH>;
187
+ power-supply = <&reg_3v3>;
188
+ pwms = <&pwm 0 5000000>; /* PWM<A> */
189
+ };
95190
96
- vcc_sd_reg: regulator@1 {
97
- compatible = "regulator-fixed";
98
- reg = <1>;
99
- regulator-name = "vcc_sd";
100
- regulator-min-microvolt = <3300000>;
101
- regulator-max-microvolt = <3300000>;
102
- regulator-boot-on;
103
- regulator-always-on;
191
+ gpio-keys {
192
+ compatible = "gpio-keys";
193
+
194
+ wakeup {
195
+ label = "SODIMM pin 45 wakeup";
196
+ gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
197
+ linux,code = <KEY_WAKEUP>;
198
+ debounce-interval = <10>;
199
+ wakeup-source;
104200 };
105201 };
202
+
203
+ panel: panel {
204
+ /*
205
+ * edt,et057090dhu: EDT 5.7" LCD TFT
206
+ * edt,et070080dh6: EDT 7.0" LCD TFT
207
+ */
208
+ compatible = "edt,et057090dhu";
209
+ backlight = <&backlight>;
210
+ power-supply = <&reg_3v3>;
211
+ };
212
+
213
+ reg_3v3: regulator-3v3 {
214
+ compatible = "regulator-fixed";
215
+ regulator-name = "3.3V";
216
+ regulator-min-microvolt = <3300000>;
217
+ regulator-max-microvolt = <3300000>;
218
+ };
219
+
220
+ reg_5v0: regulator-5v0 {
221
+ compatible = "regulator-fixed";
222
+ regulator-name = "5V";
223
+ regulator-min-microvolt = <5000000>;
224
+ regulator-max-microvolt = <5000000>;
225
+ };
226
+
227
+ reg_usbc_vbus: regulator-usbc-vbus {
228
+ compatible = "regulator-fixed";
229
+ regulator-name = "VCC_USB2";
230
+ regulator-min-microvolt = <5000000>;
231
+ regulator-max-microvolt = <5000000>;
232
+ vin-supply = <&reg_5v0>;
233
+ };
234
+
235
+ /* USBH_PEN resp. USB_P_EN */
236
+ reg_usbh_vbus: regulator-usbh-vbus {
237
+ compatible = "regulator-fixed";
238
+ regulator-name = "VCC_USB1";
239
+ regulator-min-microvolt = <5000000>;
240
+ regulator-max-microvolt = <5000000>;
241
+ gpio = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
242
+ vin-supply = <&reg_5v0>;
243
+ };
106244 };