The Orin NX and Orin Nano boards share a common carrier board and the module boards for both platforms are very similar. Therefore, restructure the Orin NX/Nano device-tree source files to adhere to a simple hierarchical format. This will help make clear where changes should go, and eliminates redundancy within the files. Previously the carrier board file was independent. However, given that it is so tightly coupled with the module design, it will be more practical to combine files together for a simpler layout. Following changes are made to restructure the device tree source files: 1) Change include hierarchy. Top-level dts includes board dtsi. Board dtsi includes module dtsi. Module dtsi includes SoC dtsi. 2) Data from the top level dts file that is common to both Orin NX and Orin Nano is in tegra234-p3768-0000+p3767.dtsi 3) Only data that is unique to NX/Nano is present in the top-level dts. Change-Id: Iaecf766f6b79fc905db00c451a71a93f2c150ef3 Signed-off-by: Vedant Deshpande <vedantd@xxxxxxxxxx> --- .../nvidia/tegra234-p3768-0000+p3767-0000.dts | 77 +------------------ .../nvidia/tegra234-p3768-0000+p3767-0005.dts | 32 +------- ...00.dtsi => tegra234-p3768-0000+p3767.dtsi} | 28 ++++++- 3 files changed, 29 insertions(+), 108 deletions(-) rename arch/arm64/boot/dts/nvidia/{tegra234-p3768-0000.dtsi => tegra234-p3768-0000+p3767.dtsi} (90%) diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts index 1607ee14216f..82a59e33c46c 100644 --- a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts @@ -1,11 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /dts-v1/; -#include <dt-bindings/input/linux-event-codes.h> -#include <dt-bindings/input/gpio-keys.h> - -#include "tegra234-p3767.dtsi" -#include "tegra234-p3768-0000.dtsi" +#include "tegra234-p3768-0000+p3767.dtsi" / { compatible = "nvidia,p3768-0000+p3767-0000", "nvidia,p3767-0000", "nvidia,tegra234"; @@ -29,83 +25,12 @@ serial@3140000 { status = "okay"; }; - pwm@32a0000 { - assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>; - assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>; - status = "okay"; - }; - hda@3510000 { nvidia,model = "NVIDIA Jetson Orin NX HDA"; }; - - padctl@3520000 { - status = "okay"; - }; - }; - - gpio-keys { - compatible = "gpio-keys"; - - key-force-recovery { - label = "Force Recovery"; - gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>; - linux,input-type = <EV_KEY>; - linux,code = <BTN_1>; - }; - - key-power { - label = "Power"; - gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>; - linux,input-type = <EV_KEY>; - linux,code = <KEY_POWER>; - wakeup-event-action = <EV_ACT_ASSERTED>; - wakeup-source; - }; - - key-suspend { - label = "Suspend"; - gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>; - linux,input-type = <EV_KEY>; - linux,code = <KEY_SLEEP>; - }; - }; - - pwm-fan { - cooling-levels = <0 88 187 255>; - }; - - vdd_3v3_pcie: regulator-vdd-3v3-pcie { - compatible = "regulator-fixed"; - regulator-name = "VDD_3V3_PCIE"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - gpio = <&gpio_aon TEGRA234_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>; - enable-active-high; }; sound { label = "NVIDIA Jetson Orin NX APE"; }; - - thermal-zones { - tj-thermal { - cooling-maps { - map-active-0 { - cooling-device = <&fan 0 1>; - trip = <&tj_trip_active0>; - }; - - map-active-1 { - cooling-device = <&fan 1 2>; - trip = <&tj_trip_active1>; - }; - - map-active-2 { - cooling-device = <&fan 2 3>; - trip = <&tj_trip_active2>; - }; - }; - }; - }; }; diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0005.dts b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0005.dts index dc2d4bef1e83..631a4d6c0b98 100644 --- a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0005.dts +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0005.dts @@ -1,11 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /dts-v1/; -#include <dt-bindings/input/linux-event-codes.h> -#include <dt-bindings/input/gpio-keys.h> - -#include "tegra234-p3767.dtsi" -#include "tegra234-p3768-0000.dtsi" +#include "tegra234-p3768-0000+p3767.dtsi" / { compatible = "nvidia,p3768-0000+p3767-0005", "nvidia,p3767-0005", "nvidia,tegra234"; @@ -16,33 +12,7 @@ hda@3510000 { nvidia,model = "NVIDIA Jetson Orin Nano HDA"; }; }; - - pwm-fan { - cooling-levels = <0 88 187 255>; - }; - sound { label = "NVIDIA Jetson Orin Nano APE"; }; - - thermal-zones { - tj-thermal { - cooling-maps { - map-active-0 { - cooling-device = <&fan 0 1>; - trip = <&tj_trip_active0>; - }; - - map-active-1 { - cooling-device = <&fan 1 2>; - trip = <&tj_trip_active1>; - }; - - map-active-2 { - cooling-device = <&fan 2 3>; - trip = <&tj_trip_active2>; - }; - }; - }; - }; }; diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi similarity index 90% rename from arch/arm64/boot/dts/nvidia/tegra234-p3768-0000.dtsi rename to arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi index 5d0298b6c30d..6d64a24fa251 100644 --- a/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767.dtsi @@ -1,7 +1,11 @@ // SPDX-License-Identifier: GPL-2.0 +#include <dt-bindings/input/linux-event-codes.h> +#include <dt-bindings/input/gpio-keys.h> + +#include "tegra234-p3767.dtsi" + / { - compatible = "nvidia,p3768-0000"; aliases { serial0 = &tcu; @@ -210,6 +214,7 @@ fan: pwm-fan { compatible = "pwm-fan"; pwms = <&pwm3 0 45334>; #cooling-cells = <2>; + cooling-levels = <0 88 187 255>; }; vdd_1v8_sys: regulator-vdd-1v8-sys { @@ -241,4 +246,25 @@ vdd_3v3_pcie: regulator-vdd-3v3-pcie { serial { status = "okay"; }; + + thermal-zones { + tj-thermal { + cooling-maps { + map-active-0 { + cooling-device = <&fan 0 1>; + trip = <&tj_trip_active0>; + }; + + map-active-1 { + cooling-device = <&fan 1 2>; + trip = <&tj_trip_active1>; + }; + + map-active-2 { + cooling-device = <&fan 2 3>; + trip = <&tj_trip_active2>; + }; + }; + }; + }; }; -- 2.25.1