treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / arm64 / boot / dts / nvidia / tegra186-p3310.dtsi
blob5e18acf5cfad872bd5323f4c452bb3b4acdfc55a
1 // SPDX-License-Identifier: GPL-2.0
2 #include "tegra186.dtsi"
4 #include <dt-bindings/mfd/max77620.h>
6 / {
7         model = "NVIDIA Jetson TX2";
8         compatible = "nvidia,p3310", "nvidia,tegra186";
10         aliases {
11                 sdhci0 = "/sdhci@3460000";
12                 sdhci1 = "/sdhci@3400000";
13                 serial0 = &uarta;
14                 i2c0 = "/bpmp/i2c";
15                 i2c1 = "/i2c@3160000";
16                 i2c2 = "/i2c@c240000";
17                 i2c3 = "/i2c@3180000";
18                 i2c4 = "/i2c@3190000";
19                 i2c5 = "/i2c@31c0000";
20                 i2c6 = "/i2c@c250000";
21                 i2c7 = "/i2c@31e0000";
22         };
24         chosen {
25                 bootargs = "earlycon console=ttyS0,115200n8";
26                 stdout-path = "serial0:115200n8";
27         };
29         memory {
30                 device_type = "memory";
31                 reg = <0x0 0x80000000 0x2 0x00000000>;
32         };
34         ethernet@2490000 {
35                 status = "okay";
37                 phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4)
38                                          GPIO_ACTIVE_LOW>;
39                 phy-handle = <&phy>;
40                 phy-mode = "rgmii";
42                 mdio {
43                         #address-cells = <1>;
44                         #size-cells = <0>;
46                         phy: phy@0 {
47                                 compatible = "ethernet-phy-ieee802.3-c22";
48                                 reg = <0x0>;
49                                 interrupt-parent = <&gpio>;
50                                 interrupts = <TEGRA186_MAIN_GPIO(M, 5)
51                                               IRQ_TYPE_LEVEL_LOW>;
52                         };
53                 };
54         };
56         memory-controller@2c00000 {
57                 status = "okay";
58         };
60         serial@3100000 {
61                 status = "okay";
62         };
64         i2c@3160000 {
65                 status = "okay";
67                 power-monitor@40 {
68                         compatible = "ti,ina3221";
69                         reg = <0x40>;
70                         #address-cells = <1>;
71                         #size-cells = <0>;
73                         channel@0 {
74                                 reg = <0x0>;
75                                 label = "VDD_SYS_GPU";
76                                 shunt-resistor-micro-ohms = <10000>;
77                         };
79                         channel@1 {
80                                 reg = <0x1>;
81                                 label = "VDD_SYS_SOC";
82                                 shunt-resistor-micro-ohms = <10000>;
83                         };
85                         channel@2 {
86                                 reg = <0x2>;
87                                 label = "VDD_3V8_WIFI";
88                                 shunt-resistor-micro-ohms = <10000>;
89                         };
90                 };
92                 power-monitor@41 {
93                         compatible = "ti,ina3221";
94                         reg = <0x41>;
95                         #address-cells = <1>;
96                         #size-cells = <0>;
98                         channel@0 {
99                                 reg = <0x0>;
100                                 label = "VDD_IN";
101                                 shunt-resistor-micro-ohms = <5000>;
102                         };
104                         channel@1 {
105                                 reg = <0x1>;
106                                 label = "VDD_SYS_CPU";
107                                 shunt-resistor-micro-ohms = <10000>;
108                         };
110                         channel@2 {
111                                 reg = <0x2>;
112                                 label = "VDD_5V0_DDR";
113                                 shunt-resistor-micro-ohms = <10000>;
114                         };
115                 };
116         };
118         i2c@3180000 {
119                 status = "okay";
120         };
122         ddc: i2c@3190000 {
123                 status = "okay";
124         };
126         i2c@31c0000 {
127                 status = "okay";
128         };
130         i2c@31e0000 {
131                 status = "okay";
132         };
134         /* SDMMC1 (SD/MMC) */
135         sdhci@3400000 {
136                 cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
137                 wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
139                 vqmmc-supply = <&vddio_sdmmc1>;
140         };
142         /* SDMMC3 (SDIO) */
143         sdhci@3440000 {
144                 status = "okay";
145         };
147         /* SDMMC4 (eMMC) */
148         sdhci@3460000 {
149                 status = "okay";
150                 bus-width = <8>;
151                 non-removable;
153                 vqmmc-supply = <&vdd_1v8_ap>;
154                 vmmc-supply = <&vdd_3v3_sys>;
155         };
157         hsp@3c00000 {
158                 status = "okay";
159         };
161         i2c@c240000 {
162                 status = "okay";
163         };
165         i2c@c250000 {
166                 status = "okay";
168                 /* module ID EEPROM */
169                 eeprom@50 {
170                         compatible = "atmel,24c02";
171                         reg = <0x50>;
173                         address-bits = <8>;
174                         page-size = <8>;
175                         size = <256>;
176                         read-only;
177                 };
178         };
180         rtc@c2a0000 {
181                 status = "okay";
182         };
184         pmc@c360000 {
185                 nvidia,invert-interrupt;
186         };
188         cpus {
189                 cpu@0 {
190                         enable-method = "psci";
191                 };
193                 cpu@1 {
194                         enable-method = "psci";
195                 };
197                 cpu@2 {
198                         enable-method = "psci";
199                 };
201                 cpu@3 {
202                         enable-method = "psci";
203                 };
205                 cpu@4 {
206                         enable-method = "psci";
207                 };
209                 cpu@5 {
210                         enable-method = "psci";
211                 };
212         };
214         bpmp {
215                 i2c {
216                         status = "okay";
218                         pmic: pmic@3c {
219                                 compatible = "maxim,max77620";
220                                 reg = <0x3c>;
222                                 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
223                                 #interrupt-cells = <2>;
224                                 interrupt-controller;
226                                 #gpio-cells = <2>;
227                                 gpio-controller;
229                                 pinctrl-names = "default";
230                                 pinctrl-0 = <&max77620_default>;
232                                 max77620_default: pinmux {
233                                         gpio0 {
234                                                 pins = "gpio0";
235                                                 function = "gpio";
236                                         };
238                                         gpio1 {
239                                                 pins = "gpio1";
240                                                 function = "fps-out";
241                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
242                                         };
244                                         gpio2 {
245                                                 pins = "gpio2";
246                                                 function = "fps-out";
247                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
248                                         };
250                                         gpio3 {
251                                                 pins = "gpio3";
252                                                 function = "fps-out";
253                                                 maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
254                                         };
256                                         gpio4 {
257                                                 pins = "gpio4";
258                                                 function = "32k-out1";
259                                                 drive-push-pull = <1>;
260                                         };
262                                         gpio5 {
263                                                 pins = "gpio5";
264                                                 function = "gpio";
265                                                 drive-push-pull = <0>;
266                                         };
268                                         gpio6 {
269                                                 pins = "gpio6";
270                                                 function = "gpio";
271                                                 drive-push-pull = <1>;
272                                         };
274                                         gpio7 {
275                                                 pins = "gpio7";
276                                                 function = "gpio";
277                                                 drive-push-pull = <0>;
278                                         };
279                                 };
281                                 fps {
282                                         fps0 {
283                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
284                                                 maxim,shutdown-fps-time-period-us = <640>;
285                                         };
287                                         fps1 {
288                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
289                                                 maxim,shutdown-fps-time-period-us = <640>;
290                                         };
292                                         fps2 {
293                                                 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
294                                                 maxim,shutdown-fps-time-period-us = <640>;
295                                         };
296                                 };
298                                 regulators {
299                                         in-sd0-supply = <&vdd_5v0_sys>;
300                                         in-sd1-supply = <&vdd_5v0_sys>;
301                                         in-sd2-supply = <&vdd_5v0_sys>;
302                                         in-sd3-supply = <&vdd_5v0_sys>;
304                                         in-ldo0-1-supply = <&vdd_5v0_sys>;
305                                         in-ldo2-supply = <&vdd_5v0_sys>;
306                                         in-ldo3-5-supply = <&vdd_5v0_sys>;
307                                         in-ldo4-6-supply = <&vdd_1v8>;
308                                         in-ldo7-8-supply = <&avdd_dsi_csi>;
310                                         sd0 {
311                                                 regulator-name = "VDD_DDR_1V1_PMIC";
312                                                 regulator-min-microvolt = <1100000>;
313                                                 regulator-max-microvolt = <1100000>;
314                                                 regulator-always-on;
315                                                 regulator-boot-on;
316                                         };
318                                         avdd_dsi_csi: sd1 {
319                                                 regulator-name = "AVDD_DSI_CSI_1V2";
320                                                 regulator-min-microvolt = <1200000>;
321                                                 regulator-max-microvolt = <1200000>;
322                                         };
324                                         vdd_1v8: sd2 {
325                                                 regulator-name = "VDD_1V8";
326                                                 regulator-min-microvolt = <1800000>;
327                                                 regulator-max-microvolt = <1800000>;
328                                         };
330                                         vdd_3v3_sys: sd3 {
331                                                 regulator-name = "VDD_3V3_SYS";
332                                                 regulator-min-microvolt = <3300000>;
333                                                 regulator-max-microvolt = <3300000>;
334                                         };
336                                         vdd_1v8_pll: ldo0 {
337                                                 regulator-name = "VDD_1V8_AP_PLL";
338                                                 regulator-min-microvolt = <1800000>;
339                                                 regulator-max-microvolt = <1800000>;
340                                         };
342                                         ldo2 {
343                                                 regulator-name = "VDDIO_3V3_AOHV";
344                                                 regulator-min-microvolt = <3300000>;
345                                                 regulator-max-microvolt = <3300000>;
346                                                 regulator-always-on;
347                                                 regulator-boot-on;
348                                         };
350                                         vddio_sdmmc1: ldo3 {
351                                                 regulator-name = "VDDIO_SDMMC1_AP";
352                                                 regulator-min-microvolt = <1800000>;
353                                                 regulator-max-microvolt = <3300000>;
354                                         };
356                                         ldo4 {
357                                                 regulator-name = "VDD_RTC";
358                                                 regulator-min-microvolt = <1000000>;
359                                                 regulator-max-microvolt = <1000000>;
360                                         };
362                                         vddio_sdmmc3: ldo5 {
363                                                 regulator-name = "VDDIO_SDMMC3_AP";
364                                                 regulator-min-microvolt = <2800000>;
365                                                 regulator-max-microvolt = <2800000>;
366                                         };
368                                         vdd_hdmi_1v05: ldo7 {
369                                                 regulator-name = "VDD_HDMI_1V05";
370                                                 regulator-min-microvolt = <1050000>;
371                                                 regulator-max-microvolt = <1050000>;
372                                         };
374                                         vdd_pex: ldo8 {
375                                                 regulator-name = "VDD_PEX_1V05";
376                                                 regulator-min-microvolt = <1050000>;
377                                                 regulator-max-microvolt = <1050000>;
378                                         };
379                                 };
380                         };
381                 };
382         };
384         psci {
385                 compatible = "arm,psci-1.0";
386                 status = "okay";
387                 method = "smc";
388         };
390         regulators {
391                 compatible = "simple-bus";
392                 #address-cells = <1>;
393                 #size-cells = <0>;
395                 gnd: regulator@0 {
396                         compatible = "regulator-fixed";
397                         reg = <0>;
399                         regulator-name = "GND";
400                         regulator-min-microvolt = <0>;
401                         regulator-max-microvolt = <0>;
402                         regulator-always-on;
403                         regulator-boot-on;
404                 };
406                 vdd_5v0_sys: regulator@1 {
407                         compatible = "regulator-fixed";
408                         reg = <1>;
410                         regulator-name = "VDD_5V0_SYS";
411                         regulator-min-microvolt = <5000000>;
412                         regulator-max-microvolt = <5000000>;
413                         regulator-always-on;
414                         regulator-boot-on;
415                 };
417                 vdd_1v8_ap: regulator@2 {
418                         compatible = "regulator-fixed";
419                         reg = <2>;
421                         regulator-name = "VDD_1V8_AP";
422                         regulator-min-microvolt = <1800000>;
423                         regulator-max-microvolt = <1800000>;
425                         gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
426                         enable-active-high;
428                         vin-supply = <&vdd_1v8>;
429                 };
430         };