mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-30 14:40:20 -04:00
Merge tag 'tegra-for-6.4-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.4-rc1 This adds support for the Jetson Orin NX and includes updates for Jetson AGX Orin (audio codec, USB Type-C support). * tag 'tegra-for-6.4-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Add vccmq on Jetson TX2 arm64: tegra: Populate USB Type-C Controller for Jetson AGX Orin arm64: tegra: Audio codec support on Jetson AGX Orin arm64: tegra: Support Jetson Orin NX reference platform arm64: tegra: Support Jetson Orin NX dt-bindings: tegra: Document Jetson Orin NX reference platform dt-bindings: tegra: Document Jetson Orin NX arm64: tegra: Add DSU PMUs for Tegra234 arm64: tegra: Drop serial clock-names and reset-names Link: https://lore.kernel.org/r/20230406124804.970394-6-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -167,5 +167,14 @@ properties:
|
||||
- const: nvidia,p3737-0000+p3701-0000
|
||||
- const: nvidia,p3701-0000
|
||||
- const: nvidia,tegra234
|
||||
- description: Jetson Orin NX
|
||||
items:
|
||||
- const: nvidia,p3767-0000
|
||||
- const: nvidia,tegra234
|
||||
- description: Jetson Orin NX Engineering Reference Developer Kit
|
||||
items:
|
||||
- const: nvidia,p3768-0000+p3767-0000
|
||||
- const: nvidia,p3767-0000
|
||||
- const: nvidia,tegra234
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
@@ -9,6 +9,7 @@ DTC_FLAGS_tegra194-p2972-0000 := -@
|
||||
DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@
|
||||
DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@
|
||||
DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@
|
||||
DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@
|
||||
|
||||
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
|
||||
@@ -24,3 +25,4 @@ dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0000.dtb
|
||||
|
||||
@@ -338,9 +338,7 @@ uarta: serial@70006000 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 6>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 8>, <&apbdma 8>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -352,9 +350,7 @@ uartb: serial@70006040 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_UARTB>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 7>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 9>, <&apbdma 9>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -366,9 +362,7 @@ uartc: serial@70006200 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_UARTC>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 55>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 10>, <&apbdma 10>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -380,9 +374,7 @@ uartd: serial@70006300 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA124_CLK_UARTD>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 65>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 19>, <&apbdma 19>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
|
||||
@@ -145,6 +145,7 @@ mmc@3400000 {
|
||||
/* SDMMC3 (SDIO) */
|
||||
mmc@3440000 {
|
||||
status = "okay";
|
||||
vqmmc-supply = <&vddio_sdmmc3>;
|
||||
};
|
||||
|
||||
/* SDMMC4 (eMMC) */
|
||||
|
||||
@@ -610,9 +610,7 @@ uarta: serial@3100000 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp TEGRA186_RESET_UARTA>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -745,9 +745,7 @@ uarta: serial@3100000 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA194_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp TEGRA194_RESET_UARTA>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -757,9 +755,7 @@ uartb: serial@3110000 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA194_CLK_UARTB>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp TEGRA194_RESET_UARTB>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -618,9 +618,7 @@ uarta: serial@70006000 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 6>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 8>, <&apbdma 8>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -632,9 +630,7 @@ uartb: serial@70006040 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_UARTB>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 7>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 9>, <&apbdma 9>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -646,9 +642,7 @@ uartc: serial@70006200 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_UARTC>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 55>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 10>, <&apbdma 10>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
@@ -660,9 +654,7 @@ uartd: serial@70006300 {
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_UARTD>;
|
||||
clock-names = "serial";
|
||||
resets = <&tegra_car 65>;
|
||||
reset-names = "serial";
|
||||
dmas = <&apbdma 19>, <&apbdma 19>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/input/gpio-keys.h>
|
||||
#include <dt-bindings/sound/rt5640.h>
|
||||
|
||||
#include "tegra234-p3701-0000.dtsi"
|
||||
#include "tegra234-p3737-0000.dtsi"
|
||||
@@ -49,7 +50,7 @@ i2s1_port: port@1 {
|
||||
|
||||
i2s1_dap: endpoint {
|
||||
dai-format = "i2s";
|
||||
/* placeholder for external codec */
|
||||
remote-endpoint = <&rt5640_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -2017,6 +2018,30 @@ serial@31d0000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@31e0000 {
|
||||
status = "okay";
|
||||
|
||||
audio-codec@1c {
|
||||
compatible = "realtek,rt5640";
|
||||
reg = <0x1c>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA234_MAIN_GPIO(AC, 5) GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>;
|
||||
clock-names = "mclk";
|
||||
realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>;
|
||||
realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>;
|
||||
realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>;
|
||||
sound-name-prefix = "CVB-RT";
|
||||
|
||||
port {
|
||||
rt5640_ep: endpoint {
|
||||
remote-endpoint = <&i2s1_dap>;
|
||||
mclk-fs = <256>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm@32a0000 {
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
|
||||
@@ -2073,11 +2098,21 @@ ports {
|
||||
usb2-0 {
|
||||
mode = "host";
|
||||
status = "okay";
|
||||
port {
|
||||
hs_typec_p1: endpoint {
|
||||
remote-endpoint = <&hs_ucsi_ccg_p1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb2-1 {
|
||||
mode = "host";
|
||||
status = "okay";
|
||||
port {
|
||||
hs_typec_p0: endpoint {
|
||||
remote-endpoint = <&hs_ucsi_ccg_p0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
@@ -2093,11 +2128,21 @@ usb2-3 {
|
||||
usb3-0 {
|
||||
nvidia,usb2-companion = <1>;
|
||||
status = "okay";
|
||||
port {
|
||||
ss_typec_p0: endpoint {
|
||||
remote-endpoint = <&ss_ucsi_ccg_p0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb3-1 {
|
||||
nvidia,usb2-companion = <0>;
|
||||
status = "okay";
|
||||
port {
|
||||
ss_typec_p1: endpoint {
|
||||
remote-endpoint = <&ss_ucsi_ccg_p1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb3-2 {
|
||||
@@ -2190,6 +2235,64 @@ TEGRA234_AON_GPIO(AA, 4)
|
||||
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
|
||||
"p2u-5", "p2u-6", "p2u-7";
|
||||
};
|
||||
|
||||
i2c@c240000 {
|
||||
status = "okay";
|
||||
typec@8 {
|
||||
compatible = "cypress,cypd4226";
|
||||
reg = <0x08>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
|
||||
firmware-name = "nvidia,jetson-agx-xavier";
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ccg_typec_con0: connector@0 {
|
||||
compatible = "usb-c-connector";
|
||||
reg = <0>;
|
||||
label = "USB-C";
|
||||
data-role = "host";
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
hs_ucsi_ccg_p0: endpoint {
|
||||
remote-endpoint = <&hs_typec_p0>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
ss_ucsi_ccg_p0: endpoint {
|
||||
remote-endpoint = <&ss_typec_p0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
ccg_typec_con1: connector@1 {
|
||||
compatible = "usb-c-connector";
|
||||
reg = <1>;
|
||||
label = "USB-C";
|
||||
data-role = "dual";
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
hs_ucsi_ccg_p1: endpoint {
|
||||
remote-endpoint = <&hs_typec_p1>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
ss_ucsi_ccg_p1: endpoint {
|
||||
remote-endpoint = <&ss_typec_p1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
@@ -2293,5 +2396,23 @@ sound {
|
||||
<&dmic3_port>;
|
||||
|
||||
label = "NVIDIA Jetson AGX Orin APE";
|
||||
|
||||
widgets = "Microphone", "CVB-RT MIC Jack",
|
||||
"Microphone", "CVB-RT MIC",
|
||||
"Headphone", "CVB-RT HP Jack",
|
||||
"Speaker", "CVB-RT SPK";
|
||||
|
||||
routing = /* I2S1 <-> RT5640 */
|
||||
"CVB-RT AIF1 Playback", "I2S1 DAP-Playback",
|
||||
"I2S1 DAP-Capture", "CVB-RT AIF1 Capture",
|
||||
/* RT5640 codec controls */
|
||||
"CVB-RT HP Jack", "CVB-RT HPOL",
|
||||
"CVB-RT HP Jack", "CVB-RT HPOR",
|
||||
"CVB-RT IN1P", "CVB-RT MIC Jack",
|
||||
"CVB-RT IN2P", "CVB-RT MIC Jack",
|
||||
"CVB-RT SPK", "CVB-RT SPOLP",
|
||||
"CVB-RT SPK", "CVB-RT SPORP",
|
||||
"CVB-RT DMIC1", "CVB-RT MIC",
|
||||
"CVB-RT DMIC2", "CVB-RT MIC";
|
||||
};
|
||||
};
|
||||
|
||||
14
arch/arm64/boot/dts/nvidia/tegra234-p3767-0000.dtsi
Normal file
14
arch/arm64/boot/dts/nvidia/tegra234-p3767-0000.dtsi
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
#include "tegra234-p3767.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,p3767-0000", "nvidia,tegra234";
|
||||
model = "NVIDIA Jetson Orin NX";
|
||||
|
||||
bus@0 {
|
||||
hda@3510000 {
|
||||
nvidia,model = "NVIDIA Jetson Orin NX HDA";
|
||||
};
|
||||
};
|
||||
};
|
||||
172
arch/arm64/boot/dts/nvidia/tegra234-p3767.dtsi
Normal file
172
arch/arm64/boot/dts/nvidia/tegra234-p3767.dtsi
Normal file
@@ -0,0 +1,172 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
#include "tegra234.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,p3767", "nvidia,tegra234";
|
||||
|
||||
bus@0 {
|
||||
i2c@3160000 {
|
||||
status = "okay";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
|
||||
label = "module";
|
||||
vcc-supply = <&vdd_1v8_hs>;
|
||||
address-width = <8>;
|
||||
pagesize = <8>;
|
||||
size = <256>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
|
||||
spi@3270000 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <136000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* This only exists on Jetson Orin Nano Developer Kit (SKU 5)
|
||||
* but UEFI needs this and will remove it on devices where it
|
||||
* doesn't exist.
|
||||
*/
|
||||
mmc@3400000 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio TEGRA234_MAIN_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
|
||||
disable-wp;
|
||||
};
|
||||
|
||||
hda@3510000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
padctl@3520000 {
|
||||
vclamp-usb-supply = <&vdd_1v8_ao>;
|
||||
avdd-usb-supply = <&vdd_3v3_ao>;
|
||||
};
|
||||
|
||||
rtc@c2a0000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pmc@c360000 {
|
||||
nvidia,invert-interrupt;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_5v0_sys: regulator-vdd-5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_5V0_SYS";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_1v8_hs: regulator-vdd-1v8-hs {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_1V8_HS";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_1v8_ao: regulator-vdd-1v8-ao {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_1V8_AO";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <&vdd_5v0_sys>;
|
||||
};
|
||||
|
||||
vdd_3v3_ao: regulator-vdd-3v3-ao {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_3V3_AO";
|
||||
regulator-min-microvolt = <33000000>;
|
||||
regulator-max-microvolt = <33000000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <&vdd_5v0_sys>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
/*
|
||||
* This monitoring is far from optimal, but it's good enough
|
||||
* at this stage.
|
||||
*/
|
||||
cpu-thermal {
|
||||
polling-delay = <1000>;
|
||||
polling-delay-passive = <1000>;
|
||||
status = "okay";
|
||||
|
||||
trips {
|
||||
critical {
|
||||
temperature = <104500>;
|
||||
hysteresis = <0>;
|
||||
type = "critical";
|
||||
};
|
||||
|
||||
hot {
|
||||
temperature = <99000>;
|
||||
hysteresis = <1000>;
|
||||
type = "hot";
|
||||
};
|
||||
|
||||
board_trip_passive: passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
board_trip_active2: active-2 {
|
||||
temperature = <80000>;
|
||||
hysteresis = <4000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
board_trip_active1: active-1 {
|
||||
temperature = <65000>;
|
||||
hysteresis = <4000>;
|
||||
type = "active";
|
||||
};
|
||||
|
||||
board_trip_active0: active-0 {
|
||||
temperature = <50000>;
|
||||
hysteresis = <4000>;
|
||||
type = "active";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
passive {
|
||||
cooling-device = <&fan 3 3>;
|
||||
trip = <&board_trip_passive>;
|
||||
};
|
||||
|
||||
active2 {
|
||||
cooling-device = <&fan 2 3>;
|
||||
trip = <&board_trip_active2>;
|
||||
};
|
||||
|
||||
active1 {
|
||||
cooling-device = <&fan 1 2>;
|
||||
trip = <&board_trip_active1>;
|
||||
};
|
||||
|
||||
active0 {
|
||||
cooling-device = <&fan 0 1>;
|
||||
trip = <&board_trip_active0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
134
arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts
Normal file
134
arch/arm64/boot/dts/nvidia/tegra234-p3768-0000+p3767-0000.dts
Normal file
@@ -0,0 +1,134 @@
|
||||
// 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-0000.dtsi"
|
||||
#include "tegra234-p3768-0000.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,p3768-0000+p3767-0000", "nvidia,p3767-0000", "nvidia,tegra234";
|
||||
model = "NVIDIA Jetson Orin NX Engineering Reference Developer Kit";
|
||||
|
||||
aliases {
|
||||
serial0 = &tcu;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
bus@0 {
|
||||
serial@31d0000 {
|
||||
current-speed = <115200>;
|
||||
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";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
padctl@3520000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* C1 - M.2 Key-E */
|
||||
pcie@14100000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_hsio_3>;
|
||||
phy-names = "p2u-0";
|
||||
};
|
||||
|
||||
/* C4 - M.2 Key-M */
|
||||
pcie@14160000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
|
||||
<&p2u_hsio_7>;
|
||||
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
|
||||
};
|
||||
|
||||
/* C8 - Ethernet */
|
||||
pcie@140a0000 {
|
||||
status = "okay";
|
||||
|
||||
num-lanes = <2>;
|
||||
|
||||
phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
|
||||
phy-names = "p2u-0", "p2u-1";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
vpcie3v3-supply = <&vdd_3v3_pcie>;
|
||||
};
|
||||
|
||||
/* C7 - M.2 Key-M */
|
||||
pcie@141e0000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
|
||||
phy-names = "p2u-0", "p2u-1";
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
pwms = <&pwm3 0 45334>;
|
||||
cooling-levels = <0 95 178 255>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
serial {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
245
arch/arm64/boot/dts/nvidia/tegra234-p3768-0000.dtsi
Normal file
245
arch/arm64/boot/dts/nvidia/tegra234-p3768-0000.dtsi
Normal file
@@ -0,0 +1,245 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,p3768-0000";
|
||||
|
||||
aliases {
|
||||
serial0 = &tcu;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
bus@0 {
|
||||
i2c@3160000 {
|
||||
status = "okay";
|
||||
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
|
||||
label = "system";
|
||||
vcc-supply = <&vdd_1v8_sys>;
|
||||
address-width = <8>;
|
||||
pagesize = <8>;
|
||||
size = <256>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
|
||||
serial@31d0000 {
|
||||
current-speed = <115200>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pwm@32a0000 {
|
||||
assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
|
||||
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
padctl@3520000 {
|
||||
status = "okay";
|
||||
|
||||
pads {
|
||||
usb2 {
|
||||
lanes {
|
||||
usb2-0 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2-1 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb3 {
|
||||
lanes {
|
||||
usb3-0 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3-1 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
/* recovery port */
|
||||
usb2-0 {
|
||||
mode = "otg";
|
||||
vbus-supply = <&vdd_5v0_sys>;
|
||||
status = "okay";
|
||||
usb-role-switch;
|
||||
};
|
||||
|
||||
/* hub */
|
||||
usb2-1 {
|
||||
mode = "host";
|
||||
vbus-supply = <&vdd_1v1_hub>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* M.2 Key-E */
|
||||
usb2-2 {
|
||||
mode = "host";
|
||||
vbus-supply = <&vdd_5v0_sys>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* hub */
|
||||
usb3-0 {
|
||||
nvidia,usb2-companion = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* J5 */
|
||||
usb3-1 {
|
||||
nvidia,usb2-companion = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb@3550000 {
|
||||
status = "okay";
|
||||
|
||||
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
|
||||
phy-names = "usb2-0", "usb3-1";
|
||||
};
|
||||
|
||||
usb@3610000 {
|
||||
status = "okay";
|
||||
|
||||
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
|
||||
<&{/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-0}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
|
||||
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0",
|
||||
"usb3-1";
|
||||
};
|
||||
|
||||
/* C1 - M.2 Key-E */
|
||||
pcie@14100000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_hsio_3>;
|
||||
phy-names = "p2u-0";
|
||||
};
|
||||
|
||||
/* C4 - M.2 Key-M */
|
||||
pcie@14160000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
|
||||
<&p2u_hsio_7>;
|
||||
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
|
||||
};
|
||||
|
||||
/* C8 - Ethernet */
|
||||
pcie@140a0000 {
|
||||
status = "okay";
|
||||
|
||||
num-lanes = <2>;
|
||||
|
||||
phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
|
||||
phy-names = "p2u-0", "p2u-1";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
vpcie3v3-supply = <&vdd_3v3_pcie>;
|
||||
};
|
||||
|
||||
/* C7 - M.2 Key-M */
|
||||
pcie@141e0000 {
|
||||
status = "okay";
|
||||
|
||||
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
|
||||
|
||||
phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
|
||||
phy-names = "p2u-0", "p2u-1";
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
pwms = <&pwm3 0 45334>;
|
||||
cooling-levels = <0 95 178 255>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
vdd_1v8_sys: regulator-vdd-1v8-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_1V8_SYS";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_1v1_hub: regulator-vdd-1v1-hub {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_AV10_HUB";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
vin-supply = <&vdd_5v0_sys>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
serial {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@@ -676,9 +676,7 @@ uarta: serial@3100000 {
|
||||
reg = <0x0 0x03100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA234_CLK_UARTA>;
|
||||
clock-names = "serial";
|
||||
resets = <&bpmp TEGRA234_RESET_UARTA>;
|
||||
reset-names = "serial";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -3402,6 +3400,24 @@ l3c2: l3-cache2 {
|
||||
};
|
||||
};
|
||||
|
||||
dsu-pmu0 {
|
||||
compatible = "arm,dsu-pmu";
|
||||
interrupts = <GIC_SPI 547 IRQ_TYPE_LEVEL_HIGH>;
|
||||
cpus = <&cpu0_0>, <&cpu0_1>, <&cpu0_2>, <&cpu0_3>;
|
||||
};
|
||||
|
||||
dsu-pmu1 {
|
||||
compatible = "arm,dsu-pmu";
|
||||
interrupts = <GIC_SPI 548 IRQ_TYPE_LEVEL_HIGH>;
|
||||
cpus = <&cpu1_0>, <&cpu1_1>, <&cpu1_2>, <&cpu1_3>;
|
||||
};
|
||||
|
||||
dsu-pmu2 {
|
||||
compatible = "arm,dsu-pmu";
|
||||
interrupts = <GIC_SPI 549 IRQ_TYPE_LEVEL_HIGH>;
|
||||
cpus = <&cpu2_0>, <&cpu2_1>, <&cpu2_2>, <&cpu2_3>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a78-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
Reference in New Issue
Block a user