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:
Arnd Bergmann
2023-04-14 15:22:45 +02:00
13 changed files with 717 additions and 25 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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";

View File

@@ -145,6 +145,7 @@ mmc@3400000 {
/* SDMMC3 (SDIO) */
mmc@3440000 {
status = "okay";
vqmmc-supply = <&vddio_sdmmc3>;
};
/* SDMMC4 (eMMC) */

View File

@@ -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";
};

View File

@@ -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";
};

View File

@@ -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";

View File

@@ -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";
};
};

View 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";
};
};
};

View 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>;
};
};
};
};
};

View 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";
};
};

View 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";
};
};

View File

@@ -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>;