arm64: tegra: Prepare for supporting the Jetson Xavier NX with eMMC
authorJon Hunter <jonathanh@nvidia.com>
Thu, 28 Jan 2021 12:08:50 +0000 (12:08 +0000)
committerThierry Reding <treding@nvidia.com>
Thu, 28 Jan 2021 17:00:13 +0000 (18:00 +0100)
There are two versions of the Jetson Xavier NX system-on-module; one
with a micro SD-card slot and one with an eMMC. Currently, only the
system-on-module with the micro SD-card slot is supported. Before adding
support for the eMMC variant, move the common device-tree parts of the
existing Jetson Xavier NX system-on-module board (p3668-0000) and
reference carrier board (p3509-0000) into include files that can be used
by both Jetson Xavier NX variants.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm64/boot/dts/nvidia/tegra194-p3509-0000+p3668-0000.dts
arch/arm64/boot/dts/nvidia/tegra194-p3509-0000.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/nvidia/tegra194-p3668-0000.dtsi
arch/arm64/boot/dts/nvidia/tegra194-p3668.dtsi [new file with mode: 0644]

index f1053e7be45c51f9b1cce21f6e8851be2bab4f86..1c3874b677c0186364b5db330ea82e2ee7a799e4 100644 (file)
 // SPDX-License-Identifier: GPL-2.0
 /dts-v1/;
 
-#include <dt-bindings/input/linux-event-codes.h>
-#include <dt-bindings/input/gpio-keys.h>
-
 #include "tegra194-p3668-0000.dtsi"
+#include "tegra194-p3509-0000.dtsi"
 
 / {
-       model = "NVIDIA Jetson Xavier NX Developer Kit";
+       model = "NVIDIA Jetson Xavier NX Developer Kit (SD-card)";
        compatible = "nvidia,p3509-0000+p3668-0000", "nvidia,tegra194";
-
-       bus@0 {
-               aconnect@2900000 {
-                       status = "okay";
-
-                       dma-controller@2930000 {
-                               status = "okay";
-                       };
-
-                       interrupt-controller@2a40000 {
-                               status = "okay";
-                       };
-               };
-
-               ddc: i2c@3190000 {
-                       status = "okay";
-               };
-
-               i2c@3160000 {
-                       eeprom@57 {
-                               compatible = "atmel,24c02";
-                               reg = <0x57>;
-
-                               label = "system";
-                               vcc-supply = <&vdd_1v8>;
-                               address-width = <8>;
-                               pagesize = <8>;
-                               size = <256>;
-                               read-only;
-                       };
-               };
-
-               hda@3510000 {
-                       nvidia,model = "jetson-xavier-nx-hda";
-                       status = "okay";
-               };
-
-               padctl@3520000 {
-                       status = "okay";
-
-                       pads {
-                               usb2 {
-                                       lanes {
-                                               usb2-1 {
-                                                       status = "okay";
-                                               };
-
-                                               usb2-2 {
-                                                       status = "okay";
-                                               };
-                                       };
-                               };
-
-                               usb3 {
-                                       lanes {
-                                               usb3-2 {
-                                                       status = "okay";
-                                               };
-                                       };
-                               };
-                       };
-
-                       ports {
-                               usb2-1 {
-                                       mode = "host";
-                                       status = "okay";
-                               };
-
-                               usb2-2 {
-                                       mode = "host";
-                                       vbus-supply = <&vdd_5v0_sys>;
-                                       status = "okay";
-                               };
-
-                               usb3-2 {
-                                       nvidia,usb2-companion = <1>;
-                                       vbus-supply = <&vdd_5v0_sys>;
-                                       status = "okay";
-                               };
-                       };
-               };
-
-               usb@3610000 {
-                       status = "okay";
-
-                       phys =  <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
-                               <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
-                               <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
-                       phy-names = "usb2-1", "usb2-2", "usb3-2";
-               };
-
-               spi@3270000 {
-                       status = "okay";
-
-                       flash@0 {
-                               compatible = "spi-nor";
-                               reg = <0>;
-                               spi-max-frequency = <102000000>;
-                               spi-tx-bus-width = <4>;
-                               spi-rx-bus-width = <4>;
-                       };
-               };
-
-               pwm@32d0000 {
-                       status = "okay";
-               };
-
-               host1x@13e00000 {
-                       display-hub@15200000 {
-                               status = "okay";
-                       };
-
-                       dpaux@155c0000 {
-                               status = "okay";
-                       };
-
-                       dpaux@155d0000 {
-                               status = "okay";
-                       };
-
-                       /* DP0 */
-                       sor@15b00000 {
-                               status = "okay";
-
-                               avdd-io-hdmi-dp-supply = <&vdd_1v0>;
-                               vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
-
-                               nvidia,dpaux = <&dpaux0>;
-                       };
-
-                       /* HDMI */
-                       sor@15b40000 {
-                               status = "okay";
-
-                               avdd-io-hdmi-dp-supply = <&vdd_1v0>;
-                               vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
-                               hdmi-supply = <&vdd_hdmi>;
-
-                               nvidia,ddc-i2c-bus = <&ddc>;
-                               nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 1)
-                                                        GPIO_ACTIVE_LOW>;
-                       };
-               };
-       };
-
-       pcie@14160000 {
-               status = "okay";
-
-               vddio-pex-ctl-supply = <&vdd_1v8ao>;
-
-               phys = <&p2u_hsio_11>;
-               phy-names = "p2u-0";
-       };
-
-       pcie@141a0000 {
-               status = "okay";
-
-               vddio-pex-ctl-supply = <&vdd_1v8ao>;
-
-               phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
-                      <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
-                      <&p2u_nvhs_6>, <&p2u_nvhs_7>;
-
-               phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
-                           "p2u-5", "p2u-6", "p2u-7";
-       };
-
-       pcie_ep@141a0000 {
-               status = "disabled";
-
-               vddio-pex-ctl-supply = <&vdd_1v8ao>;
-
-               reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
-
-               nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
-                                             GPIO_ACTIVE_HIGH>;
-
-               phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
-                      <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
-                      <&p2u_nvhs_6>, <&p2u_nvhs_7>;
-
-               phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
-                           "p2u-5", "p2u-6", "p2u-7";
-       };
-
-       fan: fan {
-               compatible = "pwm-fan";
-               pwms = <&pwm6 0 45334>;
-
-               cooling-levels = <0 64 128 255>;
-               #cooling-cells = <2>;
-       };
-
-       gpio-keys {
-               compatible = "gpio-keys";
-
-               force-recovery {
-                       label = "Force Recovery";
-                       gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
-                                      GPIO_ACTIVE_LOW>;
-                       linux,input-type = <EV_KEY>;
-                       linux,code = <KEY_SLEEP>;
-                       debounce-interval = <10>;
-               };
-
-               power {
-                       label = "Power";
-                       gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
-                                          GPIO_ACTIVE_LOW>;
-                       linux,input-type = <EV_KEY>;
-                       linux,code = <KEY_POWER>;
-                       debounce-interval = <10>;
-                       wakeup-event-action = <EV_ACT_ASSERTED>;
-                       wakeup-source;
-               };
-       };
-
-       vdd_5v0_sys: regulator@100 {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_5V_SYS";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       vdd_3v3_sys: regulator@101 {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_3V3_SYS";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       vdd_3v3_ao: regulator@102 {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_3V3_AO";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       vdd_1v8: regulator@103 {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_1V8";
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       vdd_hdmi: regulator@104 {
-               compatible = "regulator-fixed";
-               regulator-name = "VDD_5V0_HDMI_CON";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       thermal-zones {
-               cpu {
-                       polling-delay = <0>;
-                       polling-delay-passive = <500>;
-                       status = "okay";
-
-                       trips {
-                               cpu_trip_critical: critical {
-                                       temperature = <96500>;
-                                       hysteresis = <0>;
-                                       type = "critical";
-                               };
-
-                               cpu_trip_hot: hot {
-                                       temperature = <70000>;
-                                       hysteresis = <2000>;
-                                       type = "hot";
-                               };
-
-                               cpu_trip_active: active {
-                                       temperature = <50000>;
-                                       hysteresis = <2000>;
-                                       type = "active";
-                               };
-
-                               cpu_trip_passive: passive {
-                                       temperature = <30000>;
-                                       hysteresis = <2000>;
-                                       type = "passive";
-                               };
-                       };
-
-                       cooling-maps {
-                               cpu-critical {
-                                       cooling-device = <&fan 3 3>;
-                                       trip = <&cpu_trip_critical>;
-                               };
-
-                               cpu-hot {
-                                       cooling-device = <&fan 2 2>;
-                                       trip = <&cpu_trip_hot>;
-                               };
-
-                               cpu-active {
-                                       cooling-device = <&fan 1 1>;
-                                       trip = <&cpu_trip_active>;
-                               };
-
-                               cpu-passive {
-                                       cooling-device = <&fan 0 0>;
-                                       trip = <&cpu_trip_passive>;
-                               };
-                       };
-               };
-
-               gpu {
-                       polling-delay = <0>;
-                       polling-delay-passive = <500>;
-                       status = "okay";
-
-                       trips {
-                               gpu_alert0: critical {
-                                       temperature = <99000>;
-                                       hysteresis = <0>;
-                                       type = "critical";
-                               };
-                       };
-               };
-
-               aux {
-                       polling-delay = <0>;
-                       polling-delay-passive = <500>;
-                       status = "okay";
-
-                       trips {
-                               aux_alert0: critical {
-                                       temperature = <90000>;
-                                       hysteresis = <0>;
-                                       type = "critical";
-                               };
-                       };
-               };
-       };
 };
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p3509-0000.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p3509-0000.dtsi
new file mode 100644 (file)
index 0000000..d1d7722
--- /dev/null
@@ -0,0 +1,351 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/input/gpio-keys.h>
+
+/ {
+       bus@0 {
+               aconnect@2900000 {
+                       status = "okay";
+
+                       dma-controller@2930000 {
+                               status = "okay";
+                       };
+
+                       interrupt-controller@2a40000 {
+                               status = "okay";
+                       };
+               };
+
+               ddc: i2c@3190000 {
+                       status = "okay";
+               };
+
+               i2c@3160000 {
+                       eeprom@57 {
+                               compatible = "atmel,24c02";
+                               reg = <0x57>;
+
+                               label = "system";
+                               vcc-supply = <&vdd_1v8>;
+                               address-width = <8>;
+                               pagesize = <8>;
+                               size = <256>;
+                               read-only;
+                       };
+               };
+
+               hda@3510000 {
+                       nvidia,model = "jetson-xavier-nx-hda";
+                       status = "okay";
+               };
+
+               padctl@3520000 {
+                       status = "okay";
+
+                       pads {
+                               usb2 {
+                                       lanes {
+                                               usb2-1 {
+                                                       status = "okay";
+                                               };
+
+                                               usb2-2 {
+                                                       status = "okay";
+                                               };
+                                       };
+                               };
+
+                               usb3 {
+                                       lanes {
+                                               usb3-2 {
+                                                       status = "okay";
+                                               };
+                                       };
+                               };
+                       };
+
+                       ports {
+                               usb2-1 {
+                                       mode = "host";
+                                       status = "okay";
+                               };
+
+                               usb2-2 {
+                                       mode = "host";
+                                       vbus-supply = <&vdd_5v0_sys>;
+                                       status = "okay";
+                               };
+
+                               usb3-2 {
+                                       nvidia,usb2-companion = <1>;
+                                       vbus-supply = <&vdd_5v0_sys>;
+                                       status = "okay";
+                               };
+                       };
+               };
+
+               usb@3610000 {
+                       status = "okay";
+
+                       phys =  <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
+                               <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
+                               <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
+                       phy-names = "usb2-1", "usb2-2", "usb3-2";
+               };
+
+               spi@3270000 {
+                       status = "okay";
+
+                       flash@0 {
+                               compatible = "spi-nor";
+                               reg = <0>;
+                               spi-max-frequency = <102000000>;
+                               spi-tx-bus-width = <4>;
+                               spi-rx-bus-width = <4>;
+                       };
+               };
+
+               pwm@32d0000 {
+                       status = "okay";
+               };
+
+               host1x@13e00000 {
+                       display-hub@15200000 {
+                               status = "okay";
+                       };
+
+                       dpaux@155c0000 {
+                               status = "okay";
+                       };
+
+                       dpaux@155d0000 {
+                               status = "okay";
+                       };
+
+                       /* DP0 */
+                       sor@15b00000 {
+                               status = "okay";
+
+                               avdd-io-hdmi-dp-supply = <&vdd_1v0>;
+                               vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
+
+                               nvidia,dpaux = <&dpaux0>;
+                       };
+
+                       /* HDMI */
+                       sor@15b40000 {
+                               status = "okay";
+
+                               avdd-io-hdmi-dp-supply = <&vdd_1v0>;
+                               vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>;
+                               hdmi-supply = <&vdd_hdmi>;
+
+                               nvidia,ddc-i2c-bus = <&ddc>;
+                               nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 1)
+                                                        GPIO_ACTIVE_LOW>;
+                       };
+               };
+       };
+
+       pcie@14160000 {
+               status = "okay";
+
+               vddio-pex-ctl-supply = <&vdd_1v8ao>;
+
+               phys = <&p2u_hsio_11>;
+               phy-names = "p2u-0";
+       };
+
+       pcie@141a0000 {
+               status = "okay";
+
+               vddio-pex-ctl-supply = <&vdd_1v8ao>;
+
+               phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
+                      <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
+                      <&p2u_nvhs_6>, <&p2u_nvhs_7>;
+
+               phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
+                           "p2u-5", "p2u-6", "p2u-7";
+       };
+
+       pcie_ep@141a0000 {
+               status = "disabled";
+
+               vddio-pex-ctl-supply = <&vdd_1v8ao>;
+
+               reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>;
+
+               nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5)
+                                             GPIO_ACTIVE_HIGH>;
+
+               phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
+                      <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
+                      <&p2u_nvhs_6>, <&p2u_nvhs_7>;
+
+               phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
+                           "p2u-5", "p2u-6", "p2u-7";
+       };
+
+       fan: fan {
+               compatible = "pwm-fan";
+               pwms = <&pwm6 0 45334>;
+
+               cooling-levels = <0 64 128 255>;
+               #cooling-cells = <2>;
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               force-recovery {
+                       label = "Force Recovery";
+                       gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
+                                      GPIO_ACTIVE_LOW>;
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <KEY_SLEEP>;
+                       debounce-interval = <10>;
+               };
+
+               power {
+                       label = "Power";
+                       gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
+                                          GPIO_ACTIVE_LOW>;
+                       linux,input-type = <EV_KEY>;
+                       linux,code = <KEY_POWER>;
+                       debounce-interval = <10>;
+                       wakeup-event-action = <EV_ACT_ASSERTED>;
+                       wakeup-source;
+               };
+       };
+
+       vdd_5v0_sys: regulator@100 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_5V_SYS";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_3v3_sys: regulator@101 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_3V3_SYS";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_3v3_ao: regulator@102 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_3V3_AO";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_1v8: regulator@103 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_1V8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vdd_hdmi: regulator@104 {
+               compatible = "regulator-fixed";
+               regulator-name = "VDD_5V0_HDMI_CON";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       thermal-zones {
+               cpu {
+                       polling-delay = <0>;
+                       polling-delay-passive = <500>;
+                       status = "okay";
+
+                       trips {
+                               cpu_trip_critical: critical {
+                                       temperature = <96500>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+
+                               cpu_trip_hot: hot {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "hot";
+                               };
+
+                               cpu_trip_active: active {
+                                       temperature = <50000>;
+                                       hysteresis = <2000>;
+                                       type = "active";
+                               };
+
+                               cpu_trip_passive: passive {
+                                       temperature = <30000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               cpu-critical {
+                                       cooling-device = <&fan 3 3>;
+                                       trip = <&cpu_trip_critical>;
+                               };
+
+                               cpu-hot {
+                                       cooling-device = <&fan 2 2>;
+                                       trip = <&cpu_trip_hot>;
+                               };
+
+                               cpu-active {
+                                       cooling-device = <&fan 1 1>;
+                                       trip = <&cpu_trip_active>;
+                               };
+
+                               cpu-passive {
+                                       cooling-device = <&fan 0 0>;
+                                       trip = <&cpu_trip_passive>;
+                               };
+                       };
+               };
+
+               gpu {
+                       polling-delay = <0>;
+                       polling-delay-passive = <500>;
+                       status = "okay";
+
+                       trips {
+                               gpu_alert0: critical {
+                                       temperature = <99000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+
+               aux {
+                       polling-delay = <0>;
+                       polling-delay-passive = <500>;
+                       status = "okay";
+
+                       trips {
+                               aux_alert0: critical {
+                                       temperature = <90000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+               };
+       };
+};
index 0dc8304a2edddfb7c2c36a950c9c16a50f92ef2f..7da3d48cb410608398eba304cc65604544ca0ba8 100644 (file)
@@ -1,79 +1,11 @@
 // SPDX-License-Identifier: GPL-2.0
-#include "tegra194.dtsi"
-
-#include <dt-bindings/mfd/max77620.h>
+#include "tegra194-p3668.dtsi"
 
 / {
-       model = "NVIDIA Jetson Xavier NX";
+       model = "NVIDIA Jetson Xavier NX (SD-card)";
        compatible = "nvidia,p3668-0000", "nvidia,tegra194";
 
-       aliases {
-               ethernet0 = "/bus@0/ethernet@2490000";
-               i2c0 = "/bpmp/i2c";
-               i2c1 = "/bus@0/i2c@3160000";
-               i2c2 = "/bus@0/i2c@c240000";
-               i2c3 = "/bus@0/i2c@3180000";
-               i2c4 = "/bus@0/i2c@3190000";
-               i2c5 = "/bus@0/i2c@31c0000";
-               i2c6 = "/bus@0/i2c@c250000";
-               i2c7 = "/bus@0/i2c@31e0000";
-               mmc0 = "/bus@0/mmc@3460000";
-               rtc0 = "/bpmp/i2c/pmic@3c";
-               rtc1 = "/bus@0/rtc@c2a0000";
-               serial0 = &tcu;
-       };
-
-       chosen {
-               bootargs = "console=ttyS0,115200n8";
-               stdout-path = "serial0:115200n8";
-       };
-
        bus@0 {
-               ethernet@2490000 {
-                       status = "okay";
-
-                       phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(R, 1) GPIO_ACTIVE_LOW>;
-                       phy-handle = <&phy>;
-                       phy-mode = "rgmii-id";
-
-                       mdio {
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-
-                               phy: phy@0 {
-                                       compatible = "ethernet-phy-ieee802.3-c22";
-                                       reg = <0x0>;
-                                       interrupt-parent = <&gpio>;
-                                       interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
-                                       #phy-cells = <0>;
-                               };
-                       };
-               };
-
-               memory-controller@2c00000 {
-                       status = "okay";
-               };
-
-               serial@3100000 {
-                       status = "okay";
-               };
-
-               i2c@3160000 {
-                       status = "okay";
-
-                       eeprom@50 {
-                               compatible = "atmel,24c02";
-                               reg = <0x50>;
-
-                               label = "module";
-                               vcc-supply = <&vdd_1v8ls>;
-                               address-width = <8>;
-                               pagesize = <8>;
-                               size = <256>;
-                               read-only;
-                       };
-               };
-
                /* SDMMC1 (SD/MMC) */
                mmc@3400000 {
                        status = "okay";
                        disable-wp;
                        vmmc-supply = <&vdd_3v3_sd>;
                };
-
-               padctl@3520000 {
-                       avdd-usb-supply = <&vdd_usb_3v3>;
-                       vclamp-usb-supply = <&vdd_1v8ao>;
-
-                       ports {
-                               usb2-1 {
-                                       vbus-supply = <&vdd_5v0_sys>;
-                               };
-
-                               usb2-3 {
-                                       vbus-supply = <&vdd_5v0_sys>;
-                               };
-
-                               usb3-0 {
-                                       vbus-supply = <&vdd_5v0_sys>;
-                               };
-
-                               usb3-3 {
-                                       vbus-supply = <&vdd_5v0_sys>;
-                               };
-                       };
-               };
-
-               rtc@c2a0000 {
-                       status = "okay";
-               };
-
-               pmc@c360000 {
-                       nvidia,invert-interrupt;
-               };
-       };
-
-       bpmp {
-               i2c {
-                       status = "okay";
-
-                       pmic: pmic@3c {
-                               compatible = "maxim,max20024";
-                               reg = <0x3c>;
-
-                               interrupt-parent = <&pmc>;
-                               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
-                               #interrupt-cells = <2>;
-                               interrupt-controller;
-
-                               #gpio-cells = <2>;
-                               gpio-controller;
-
-                               pinctrl-names = "default";
-                               pinctrl-0 = <&max20024_default>;
-
-                               max20024_default: pinmux {
-                                       gpio0 {
-                                               pins = "gpio0";
-                                               function = "gpio";
-                                       };
-
-                                       gpio1 {
-                                               pins = "gpio1";
-                                               function = "fps-out";
-                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
-                                       };
-
-                                       gpio2 {
-                                               pins = "gpio2";
-                                               function = "fps-out";
-                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
-                                       };
-
-                                       gpio3 {
-                                               pins = "gpio3";
-                                               function = "fps-out";
-                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
-                                       };
-
-                                       gpio4 {
-                                               pins = "gpio4";
-                                               function = "32k-out1";
-                                               drive-push-pull = <1>;
-                                       };
-
-                                       gpio6 {
-                                               pins = "gpio6";
-                                               function = "gpio";
-                                               drive-push-pull = <1>;
-                                       };
-
-                                       gpio7 {
-                                               pins = "gpio7";
-                                               function = "gpio";
-                                               drive-push-pull = <0>;
-                                       };
-                               };
-
-                               fps {
-                                       fps0 {
-                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
-                                               maxim,shutdown-fps-time-period-us = <640>;
-                                       };
-
-                                       fps1 {
-                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
-                                               maxim,shutdown-fps-time-period-us = <640>;
-                                               maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
-                                       };
-
-                                       fps2 {
-                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
-                                               maxim,shutdown-fps-time-period-us = <640>;
-                                       };
-                               };
-
-                               regulators {
-                                       in-sd0-supply = <&vdd_5v0_sys>;
-                                       in-sd1-supply = <&vdd_5v0_sys>;
-                                       in-sd2-supply = <&vdd_5v0_sys>;
-                                       in-sd3-supply = <&vdd_5v0_sys>;
-                                       in-sd4-supply = <&vdd_5v0_sys>;
-
-                                       in-ldo0-1-supply = <&vdd_5v0_sys>;
-                                       in-ldo2-supply = <&vdd_5v0_sys>;
-                                       in-ldo3-5-supply = <&vdd_5v0_sys>;
-                                       in-ldo4-6-supply = <&vdd_5v0_sys>;
-                                       in-ldo7-8-supply = <&vdd_1v8ls>;
-
-                                       vdd_1v0: sd0 {
-                                               regulator-name = "VDDIO_SYS_1V0";
-                                               regulator-min-microvolt = <1000000>;
-                                               regulator-max-microvolt = <1000000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       vdd_1v8hs: sd1 {
-                                               regulator-name = "VDDIO_SYS_1V8HS";
-                                               regulator-min-microvolt = <1800000>;
-                                               regulator-max-microvolt = <1800000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       vdd_1v8ls: sd2 {
-                                               regulator-name = "VDDIO_SYS_1V8LS";
-                                               regulator-min-microvolt = <1800000>;
-                                               regulator-max-microvolt = <1800000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       vdd_1v8ao: sd3 {
-                                               regulator-name = "VDDIO_AO_1V8";
-                                               regulator-min-microvolt = <1800000>;
-                                               regulator-max-microvolt = <1800000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       sd4 {
-                                               regulator-name = "VDD_DDR_1V1";
-                                               regulator-min-microvolt = <1100000>;
-                                               regulator-max-microvolt = <1100000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       ldo0 {
-                                               regulator-name = "VDD_RTC";
-                                               regulator-min-microvolt = <800000>;
-                                               regulator-max-microvolt = <800000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       ldo2 {
-                                               regulator-name = "VDDIO_AO_3V3";
-                                               regulator-min-microvolt = <3300000>;
-                                               regulator-max-microvolt = <3300000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       ldo3 {
-                                               regulator-name = "VDD_EMMC_3V3";
-                                               regulator-min-microvolt = <3300000>;
-                                               regulator-max-microvolt = <3300000>;
-                                       };
-
-                                       vdd_usb_3v3: ldo5 {
-                                               regulator-name = "VDD_USB_3V3";
-                                               regulator-min-microvolt = <3300000>;
-                                               regulator-max-microvolt = <3300000>;
-                                               regulator-always-on;
-                                               regulator-boot-on;
-                                       };
-
-                                       ldo6 {
-                                               regulator-name = "VDD_SDIO_3V3";
-                                               regulator-min-microvolt = <3300000>;
-                                               regulator-max-microvolt = <3300000>;
-                                       };
-
-                                       ldo7 {
-                                               regulator-name = "AVDD_CSI_1V2";
-                                               regulator-min-microvolt = <1200000>;
-                                               regulator-max-microvolt = <1200000>;
-                                       };
-                               };
-                       };
-               };
        };
 
        vdd_3v3_sd: regulator@0 {
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p3668.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p3668.dtsi
new file mode 100644 (file)
index 0000000..a26b8a3
--- /dev/null
@@ -0,0 +1,284 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "tegra194.dtsi"
+
+#include <dt-bindings/mfd/max77620.h>
+
+/ {
+       aliases {
+               ethernet0 = "/bus@0/ethernet@2490000";
+               i2c0 = "/bpmp/i2c";
+               i2c1 = "/bus@0/i2c@3160000";
+               i2c2 = "/bus@0/i2c@c240000";
+               i2c3 = "/bus@0/i2c@3180000";
+               i2c4 = "/bus@0/i2c@3190000";
+               i2c5 = "/bus@0/i2c@31c0000";
+               i2c6 = "/bus@0/i2c@c250000";
+               i2c7 = "/bus@0/i2c@31e0000";
+               mmc0 = "/bus@0/mmc@3460000";
+               rtc0 = "/bpmp/i2c/pmic@3c";
+               rtc1 = "/bus@0/rtc@c2a0000";
+               serial0 = &tcu;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8";
+               stdout-path = "serial0:115200n8";
+       };
+
+       bus@0 {
+               ethernet@2490000 {
+                       status = "okay";
+
+                       phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(R, 1) GPIO_ACTIVE_LOW>;
+                       phy-handle = <&phy>;
+                       phy-mode = "rgmii-id";
+
+                       mdio {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               phy: phy@0 {
+                                       compatible = "ethernet-phy-ieee802.3-c22";
+                                       reg = <0x0>;
+                                       interrupt-parent = <&gpio>;
+                                       interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
+                                       #phy-cells = <0>;
+                               };
+                       };
+               };
+
+               memory-controller@2c00000 {
+                       status = "okay";
+               };
+
+               serial@3100000 {
+                       status = "okay";
+               };
+
+               i2c@3160000 {
+                       status = "okay";
+
+                       eeprom@50 {
+                               compatible = "atmel,24c02";
+                               reg = <0x50>;
+
+                               label = "module";
+                               vcc-supply = <&vdd_1v8ls>;
+                               address-width = <8>;
+                               pagesize = <8>;
+                               size = <256>;
+                               read-only;
+                       };
+               };
+
+               padctl@3520000 {
+                       avdd-usb-supply = <&vdd_usb_3v3>;
+                       vclamp-usb-supply = <&vdd_1v8ao>;
+
+                       ports {
+                               usb2-1 {
+                                       vbus-supply = <&vdd_5v0_sys>;
+                               };
+
+                               usb2-3 {
+                                       vbus-supply = <&vdd_5v0_sys>;
+                               };
+
+                               usb3-0 {
+                                       vbus-supply = <&vdd_5v0_sys>;
+                               };
+
+                               usb3-3 {
+                                       vbus-supply = <&vdd_5v0_sys>;
+                               };
+                       };
+               };
+
+               rtc@c2a0000 {
+                       status = "okay";
+               };
+
+               pmc@c360000 {
+                       nvidia,invert-interrupt;
+               };
+       };
+
+       bpmp {
+               i2c {
+                       status = "okay";
+
+                       pmic: pmic@3c {
+                               compatible = "maxim,max20024";
+                               reg = <0x3c>;
+
+                               interrupt-parent = <&pmc>;
+                               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
+                               #interrupt-cells = <2>;
+                               interrupt-controller;
+
+                               #gpio-cells = <2>;
+                               gpio-controller;
+
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&max20024_default>;
+
+                               max20024_default: pinmux {
+                                       gpio0 {
+                                               pins = "gpio0";
+                                               function = "gpio";
+                                       };
+
+                                       gpio1 {
+                                               pins = "gpio1";
+                                               function = "fps-out";
+                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
+                                       };
+
+                                       gpio2 {
+                                               pins = "gpio2";
+                                               function = "fps-out";
+                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
+                                       };
+
+                                       gpio3 {
+                                               pins = "gpio3";
+                                               function = "fps-out";
+                                               maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
+                                       };
+
+                                       gpio4 {
+                                               pins = "gpio4";
+                                               function = "32k-out1";
+                                               drive-push-pull = <1>;
+                                       };
+
+                                       gpio6 {
+                                               pins = "gpio6";
+                                               function = "gpio";
+                                               drive-push-pull = <1>;
+                                       };
+
+                                       gpio7 {
+                                               pins = "gpio7";
+                                               function = "gpio";
+                                               drive-push-pull = <0>;
+                                       };
+                               };
+
+                               fps {
+                                       fps0 {
+                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
+                                               maxim,shutdown-fps-time-period-us = <640>;
+                                       };
+
+                                       fps1 {
+                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
+                                               maxim,shutdown-fps-time-period-us = <640>;
+                                               maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
+                                       };
+
+                                       fps2 {
+                                               maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
+                                               maxim,shutdown-fps-time-period-us = <640>;
+                                       };
+                               };
+
+                               regulators {
+                                       in-sd0-supply = <&vdd_5v0_sys>;
+                                       in-sd1-supply = <&vdd_5v0_sys>;
+                                       in-sd2-supply = <&vdd_5v0_sys>;
+                                       in-sd3-supply = <&vdd_5v0_sys>;
+                                       in-sd4-supply = <&vdd_5v0_sys>;
+
+                                       in-ldo0-1-supply = <&vdd_5v0_sys>;
+                                       in-ldo2-supply = <&vdd_5v0_sys>;
+                                       in-ldo3-5-supply = <&vdd_5v0_sys>;
+                                       in-ldo4-6-supply = <&vdd_5v0_sys>;
+                                       in-ldo7-8-supply = <&vdd_1v8ls>;
+
+                                       vdd_1v0: sd0 {
+                                               regulator-name = "VDDIO_SYS_1V0";
+                                               regulator-min-microvolt = <1000000>;
+                                               regulator-max-microvolt = <1000000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       vdd_1v8hs: sd1 {
+                                               regulator-name = "VDDIO_SYS_1V8HS";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       vdd_1v8ls: sd2 {
+                                               regulator-name = "VDDIO_SYS_1V8LS";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       vdd_1v8ao: sd3 {
+                                               regulator-name = "VDDIO_AO_1V8";
+                                               regulator-min-microvolt = <1800000>;
+                                               regulator-max-microvolt = <1800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       sd4 {
+                                               regulator-name = "VDD_DDR_1V1";
+                                               regulator-min-microvolt = <1100000>;
+                                               regulator-max-microvolt = <1100000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldo0 {
+                                               regulator-name = "VDD_RTC";
+                                               regulator-min-microvolt = <800000>;
+                                               regulator-max-microvolt = <800000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldo2 {
+                                               regulator-name = "VDDIO_AO_3V3";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldo3 {
+                                               regulator-name = "VDD_EMMC_3V3";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       vdd_usb_3v3: ldo5 {
+                                               regulator-name = "VDD_USB_3V3";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                               regulator-always-on;
+                                               regulator-boot-on;
+                                       };
+
+                                       ldo6 {
+                                               regulator-name = "VDD_SDIO_3V3";
+                                               regulator-min-microvolt = <3300000>;
+                                               regulator-max-microvolt = <3300000>;
+                                       };
+
+                                       ldo7 {
+                                               regulator-name = "AVDD_CSI_1V2";
+                                               regulator-min-microvolt = <1200000>;
+                                               regulator-max-microvolt = <1200000>;
+                                       };
+                               };
+                       };
+               };
+       };
+};