Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / nvidia / tegra234-p3768-0000.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2
3 / {
4         compatible = "nvidia,p3768-0000";
5
6         aliases {
7                 serial0 = &tcu;
8         };
9
10         chosen {
11                 stdout-path = "serial0:115200n8";
12         };
13
14         bus@0 {
15                 i2c@3160000 {
16                         status = "okay";
17
18                         eeprom@57 {
19                                 compatible = "atmel,24c02";
20                                 reg = <0x57>;
21
22                                 label = "system";
23                                 vcc-supply = <&vdd_1v8_sys>;
24                                 address-width = <8>;
25                                 pagesize = <8>;
26                                 size = <256>;
27                                 read-only;
28                         };
29                 };
30
31                 serial@31d0000 {
32                         current-speed = <115200>;
33                         status = "okay";
34                 };
35
36                 pwm@32a0000 {
37                         assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
38                         assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
39                         status = "okay";
40                 };
41
42                 padctl@3520000 {
43                         status = "okay";
44
45                         pads {
46                                 usb2 {
47                                         lanes {
48                                                 usb2-0 {
49                                                         nvidia,function = "xusb";
50                                                         status = "okay";
51                                                 };
52
53                                                 usb2-1 {
54                                                         nvidia,function = "xusb";
55                                                         status = "okay";
56                                                 };
57
58                                                 usb2-2 {
59                                                         nvidia,function = "xusb";
60                                                         status = "okay";
61                                                 };
62                                         };
63                                 };
64
65                                 usb3 {
66                                         lanes {
67                                                 usb3-0 {
68                                                         nvidia,function = "xusb";
69                                                         status = "okay";
70                                                 };
71
72                                                 usb3-1 {
73                                                         nvidia,function = "xusb";
74                                                         status = "okay";
75                                                 };
76                                         };
77                                 };
78                         };
79
80                         ports {
81                                 /* recovery port */
82                                 usb2-0 {
83                                         mode = "otg";
84                                         vbus-supply = <&vdd_5v0_sys>;
85                                         status = "okay";
86                                         usb-role-switch;
87                                 };
88
89                                 /* hub */
90                                 usb2-1 {
91                                         mode = "host";
92                                         vbus-supply = <&vdd_1v1_hub>;
93                                         status = "okay";
94                                 };
95
96                                 /* M.2 Key-E */
97                                 usb2-2 {
98                                         mode = "host";
99                                         vbus-supply = <&vdd_5v0_sys>;
100                                         status = "okay";
101                                 };
102
103                                 /* hub */
104                                 usb3-0 {
105                                         nvidia,usb2-companion = <1>;
106                                         status = "okay";
107                                 };
108
109                                 /* J5 */
110                                 usb3-1 {
111                                         nvidia,usb2-companion = <0>;
112                                         status = "okay";
113                                 };
114                         };
115                 };
116
117                 usb@3550000 {
118                         status = "okay";
119
120                         phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
121                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
122                         phy-names = "usb2-0", "usb3-0";
123                 };
124
125                 usb@3610000 {
126                         status = "okay";
127
128                         phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
129                                <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
130                                <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
131                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
132                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
133                         phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0",
134                                     "usb3-1";
135                 };
136
137                 /* C8 - Ethernet */
138                 pcie@140a0000 {
139                         status = "okay";
140
141                         num-lanes = <2>;
142
143                         phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
144                         phy-names = "p2u-0", "p2u-1";
145
146                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
147                         vpcie3v3-supply = <&vdd_3v3_pcie>;
148                 };
149
150                 /* C1 - M.2 Key-E */
151                 pcie@14100000 {
152                         status = "okay";
153
154                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
155
156                         phys = <&p2u_hsio_3>;
157                         phy-names = "p2u-0";
158                 };
159
160                 /* C4 - M.2 Key-M */
161                 pcie@14160000 {
162                         status = "okay";
163
164                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
165
166                         phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
167                                <&p2u_hsio_7>;
168                         phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
169                 };
170
171                 /* C7 - M.2 Key-M */
172                 pcie@141e0000 {
173                         status = "okay";
174
175                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
176
177                         phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
178                         phy-names = "p2u-0", "p2u-1";
179                 };
180         };
181
182         gpio-keys {
183                 compatible = "gpio-keys";
184
185                 key-force-recovery {
186                         label = "Force Recovery";
187                         gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
188                         linux,input-type = <EV_KEY>;
189                         linux,code = <BTN_1>;
190                 };
191
192                 key-power {
193                         label = "Power";
194                         gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
195                         linux,input-type = <EV_KEY>;
196                         linux,code = <KEY_POWER>;
197                         wakeup-event-action = <EV_ACT_ASSERTED>;
198                         wakeup-source;
199                 };
200
201                 key-suspend {
202                         label = "Suspend";
203                         gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
204                         linux,input-type = <EV_KEY>;
205                         linux,code = <KEY_SLEEP>;
206                 };
207         };
208
209         fan: pwm-fan {
210                 compatible = "pwm-fan";
211                 pwms = <&pwm3 0 45334>;
212                 #cooling-cells = <2>;
213         };
214
215         vdd_1v8_sys: regulator-vdd-1v8-sys {
216                 compatible = "regulator-fixed";
217                 regulator-name = "VDD_1V8_SYS";
218                 regulator-min-microvolt = <1800000>;
219                 regulator-max-microvolt = <1800000>;
220                 regulator-always-on;
221         };
222
223         vdd_1v1_hub: regulator-vdd-1v1-hub {
224                 compatible = "regulator-fixed";
225                 regulator-name = "VDD_AV10_HUB";
226                 regulator-min-microvolt = <1100000>;
227                 regulator-max-microvolt = <1100000>;
228                 vin-supply = <&vdd_5v0_sys>;
229                 regulator-always-on;
230         };
231
232         vdd_3v3_pcie: regulator-vdd-3v3-pcie {
233                 compatible = "regulator-fixed";
234                 regulator-name = "VDD_3V3_PCIE";
235                 regulator-min-microvolt = <3300000>;
236                 regulator-max-microvolt = <3300000>;
237                 gpio = <&gpio_aon TEGRA234_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
238                 enable-active-high;
239         };
240
241         serial {
242                 status = "okay";
243         };
244 };