mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 22:52:19 +02:00
arm64: tegra: Device tree changes for v6.19-rc1
This contains a bunch of additions and improvements for older devices. Tegra210 devices now have empty reserved-memory nodes to improve inter- operability with certain bootloaders. These chips now also support more multimedia engines. A new variant of the Jetson Nano is also added. Jetson TX2 sees some improvements. PCI endpoint mode is improved for Tegra234 so that reset interrupts are properly routed. A new RTC device is added starting with Orin. Rounding things off is a flurry of small fixes for DT validation and USB OTG mode. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmkYPjwACgkQ3SOs138+ s6FRXQ//Wvj9R+OgSu1egYc2CGPkM5LHxCWnqf7r80EbW020Vp9WuiFPJjsNgBpf nICaKYS5Yc4JuN1ayqa8YjNhjTy7FuuVMszMPQ+q0MsjHXYbA6N4ubNMwKfQdWm7 KGI2aAm3/SVYSBIjBsU9hNbkRYh165izxOlga5mC3ZzBIkifMnxjMLPUtNedOpq2 pxXxrCZXrZ0WfVFnULOyQJ6kdDrpTh1HELPBUzCI8yCioU8JoG7zZz/llx3f0f07 zp+pIEacuwzYL0LR0frTUA9pENXHqa5ttq5VS8l2LWCEGkfc28aodu26/mvcZcV9 c6UOKrqwj9e7+AyR+tFKq8/w0CRenyuU9oRnr1DrBSKnpowc9kz8V9pyoisbd8MM u7ZehhFajZVg6QEPXkjF5iEWLj6zWwRrtQbmDrRV9FD35GA12uNyfgQe1p1M7mwE AuzRKS5hKosz8vZ/GINI+nQ8mXsWZTzDMN0QccPUJ37zlbh9leUIBY8n2Q7rGekO sOD1DS8Jivy3XSWl9gJ0OWdXoB2kEYzgbC2O6hV+46WPb6DQNWK8A9uZGs7oqJ17 L8dGYzFaELas/RKyjxU34XqPwsAYgjrVzpAK5kszqGP+W7FaVdgt9s4/dKVKmv5D 1m92my3vaOsGoxIt2ubSOb+hhUBK4yah5Sad5vm1JZaLkPSSuyw= =y8B/ -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkgi1EACgkQmmx57+YA GNm/DxAAkkP1d+cxi4q/sHLNjIG315rRnah9nQ6CIdG8UamcJEhuqKhw/aCR0UXd 2oeMfOEf/u0epNyRd+zqh9aTwI1cwLgRyFQVGp0+i4e6cVlDhZHqJMpAbCe3+0vk sQ3BoVqyLSe7svmBbjedVWMlia9kufZGxhEuOhQz2uYHjrVAocvBuIrh17wEBS6t zjdVI7fpD1zLVSEQv4LuaiZadjyb/PoEATaBujbBskSw9K3oaCv+y6T0u1aCppBL 4xVcARRblCTdxbSr8R3oQICKZTNLYHc7u+10eiDMZbTUfc40pHZe32HUdNcbI+G4 LsHg5SmrDi8ZLgZs2ZCm7a33QH5QMbD42K0jfFdeQNXu/iht4b3WjfjUaLkSSUF/ SIt6bI03Lmle9drIENThKZX7WpGQ7ejHujkRHJuWU7oJdab/tIT+3t4lfrOf+RLo cfLLzobi1GgNBstUJ14N7VsvEJn0c0nuNVTxfNlzmrzQO0ou4Pvq2u8nDYZ9eSwl T6Mray1XGLOyxYwtAz3clupwqitaiYQ8/mviFz2Yv26t7gCMJw2tEUSWTcvy8/mE 24l4FZ4nYONl/oyeKT8uqFHHUQ9Yhcqmp5b6dpHgN9vB3s/IqEoPzS1tF+PdDVHX I982r+UFJ1Zlo+TacJXiOLviMHIvPa9VloUlyNaQ7RFxfH/9aO8= =RdSU -----END PGP SIGNATURE----- Merge tag 'tegra-for-6.19-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt arm64: tegra: Device tree changes for v6.19-rc1 This contains a bunch of additions and improvements for older devices. Tegra210 devices now have empty reserved-memory nodes to improve inter- operability with certain bootloaders. These chips now also support more multimedia engines. A new variant of the Jetson Nano is also added. Jetson TX2 sees some improvements. PCI endpoint mode is improved for Tegra234 so that reset interrupts are properly routed. A new RTC device is added starting with Orin. Rounding things off is a flurry of small fixes for DT validation and USB OTG mode. * tag 'tegra-for-6.19-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (25 commits) arm64: tegra: Remove OTG ID GPIO from Jetson TX2 NX arm64: tegra: Set USB Micro-B port to OTG mode on P3450 arm64: tegra: Add NVJPG node for Tegra210 platforms arm64: tegra: Add Tegra210 NVJPG power-domain node arm64: tegra: Add interrupts for Tegra234 USB wake events arm64: tegra: Add reserved-memory node for P2180 arm64: tegra: Add reserved-memory node for P3450 arm64: tegra: Enable NVDEC and NVENC on Tegra210 arm64: tegra: Fix APB DMA controller node name arm64: tegra: Add default GIC address cells on Tegra210 arm64: tegra: Add default GIC address cells on Tegra194 arm64: tegra: Add default GIC address cells on Tegra186 arm64: tegra: Add default GIC address cells on Tegra132 arm64: tegra: Add OPP tables on Tegra210 arm64: tegra: Add interconnect properties for Tegra210 arm64: tegra: Add ACTMON on Tegra210 arm64: tegra: Add device-tree node for NVVRS RTC arm64: tegra: Move avdd-dsi-csi-supply into CSI node arm64: tegra: Drop redundant clock and reset names from TSEC node arm64: tegra: Move HDA into the correct bus ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
252f83d547
|
|
@ -3,6 +3,7 @@
|
|||
# Enables support for device-tree overlays
|
||||
DTC_FLAGS_tegra210-p2371-2180 := -@
|
||||
DTC_FLAGS_tegra210-p3450-0000 := -@
|
||||
DTC_FLAGS_tegra210-p3541-0000 := -@
|
||||
DTC_FLAGS_tegra186-p2771-0000 := -@
|
||||
DTC_FLAGS_tegra186-p3509-0000+p3636-0001 := -@
|
||||
DTC_FLAGS_tegra194-p2972-0000 := -@
|
||||
|
|
@ -19,6 +20,7 @@ dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
|
|||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-2180.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2571.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p3450-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p3541-0000.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-smaug.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2894-0050-a08.dtb
|
||||
dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p2771-0000.dtb
|
||||
|
|
|
|||
|
|
@ -175,6 +175,7 @@ i2c-bus {
|
|||
|
||||
gic: interrupt-controller@50041000 {
|
||||
compatible = "arm,cortex-a15-gic";
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0x50041000 0x0 0x1000>,
|
||||
|
|
@ -271,7 +272,7 @@ gpio: gpio@6000d000 {
|
|||
interrupt-controller;
|
||||
};
|
||||
|
||||
apbdma: dma@60020000 {
|
||||
apbdma: dma-controller@60020000 {
|
||||
compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
|
||||
reg = <0x0 0x60020000 0x0 0x1400>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
|
|||
|
|
@ -671,7 +671,6 @@ connector {
|
|||
vbus-gpios = <&gpio
|
||||
TEGRA186_MAIN_GPIO(L, 4)
|
||||
GPIO_ACTIVE_LOW>;
|
||||
id-gpios = <&pmic 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,12 @@ gpio: gpio@2200000 {
|
|||
interrupt-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pinmux 0 0 140>;
|
||||
};
|
||||
|
||||
pinmux: pinmux@2430000 {
|
||||
compatible = "nvidia,tegra186-pinmux";
|
||||
reg = <0x0 0x2430000 0x0 0x15000>;
|
||||
};
|
||||
|
||||
ethernet@2490000 {
|
||||
|
|
@ -1173,6 +1179,7 @@ fuse@3820000 {
|
|||
|
||||
gic: interrupt-controller@3881000 {
|
||||
compatible = "arm,gic-400";
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0x03881000 0x0 0x1000>,
|
||||
|
|
@ -1274,10 +1281,16 @@ gpio_aon: gpio@c2f0000 {
|
|||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinmux_aon 0 0 47>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
pinmux_aon: pinmux@c300000 {
|
||||
compatible = "nvidia,tegra186-pinmux-aon";
|
||||
reg = <0x0 0xc300000 0x0 0x4000>;
|
||||
};
|
||||
|
||||
pwm4: pwm@c340000 {
|
||||
compatible = "nvidia,tegra186-pwm";
|
||||
reg = <0x0 0xc340000 0x0 0x10000>;
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ phy: ethernet-phy@0 {
|
|||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA194_MAIN_GPIO(G, 4) IRQ_TYPE_LEVEL_LOW>;
|
||||
#phy-cells = <0>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1331,6 +1331,7 @@ fuse@3820000 {
|
|||
|
||||
gic: interrupt-controller@3881000 {
|
||||
compatible = "arm,gic-400";
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0x03881000 0x0 0x1000>,
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@ chosen {
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x1 0x0>;
|
||||
|
|
|
|||
|
|
@ -20,10 +20,10 @@ dpaux@54040000 {
|
|||
vi@54080000 {
|
||||
status = "okay";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
|
||||
|
||||
csi@838 {
|
||||
status = "okay";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@ chosen {
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x1 0x0>;
|
||||
|
|
@ -64,10 +70,10 @@ dpaux@54040000 {
|
|||
vi@54080000 {
|
||||
status = "okay";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_sys_1v2>;
|
||||
|
||||
csi@838 {
|
||||
status = "okay";
|
||||
|
||||
avdd-dsi-csi-supply = <&vdd_sys_1v2>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -520,7 +526,7 @@ pcie-6 {
|
|||
ports {
|
||||
usb2-0 {
|
||||
status = "okay";
|
||||
mode = "peripheral";
|
||||
mode = "otg";
|
||||
usb-role-switch;
|
||||
|
||||
vbus-supply = <&vdd_5v0_usb>;
|
||||
|
|
|
|||
59
arch/arm64/boot/dts/nvidia/tegra210-p3541-0000.dts
Normal file
59
arch/arm64/boot/dts/nvidia/tegra210-p3541-0000.dts
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
|
||||
#include "tegra210-p3450-0000.dts"
|
||||
|
||||
/ {
|
||||
model = "NVIDIA Jetson Nano 2GB Developer Kit";
|
||||
compatible = "nvidia,p3541-0000", "nvidia,p3450-0000", "nvidia,tegra210";
|
||||
|
||||
memory@80000000 {
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
sor@54540000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dpaux@545c0000 {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
padctl@7009f000 {
|
||||
ports {
|
||||
usb2-1 {
|
||||
vbus-supply = <&vdd_hub_5v0>;
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
vbus-supply = <&vdd_hub_5v0>;
|
||||
};
|
||||
|
||||
usb3-0 {
|
||||
/delete-property/ vbus-supply;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
regulator-vdd-hdmi-5v0 {
|
||||
gpio = <&gpio TEGRA_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
/delete-node/ regulator-vdd-hub-3v3;
|
||||
|
||||
vdd_hub_5v0: regulator-vdd-hub-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "VDD_HUB_5V0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&gpio TEGRA_GPIO(I, 2) GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
|
||||
vin-supply = <&vdd_5v0_sys>;
|
||||
};
|
||||
};
|
||||
135
arch/arm64/boot/dts/nvidia/tegra210-peripherals-opp.dtsi
Normal file
135
arch/arm64/boot/dts/nvidia/tegra210-peripherals-opp.dtsi
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
/ {
|
||||
/* EMC DVFS OPP table */
|
||||
emc_icc_dvfs_opp_table: opp-table-dvfs0 {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-40800000-800 {
|
||||
opp-microvolt = <800000 800000 1150000>;
|
||||
opp-hz = /bits/ 64 <40800000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-68000000-800 {
|
||||
opp-microvolt = <800000 800000 1150000>;
|
||||
opp-hz = /bits/ 64 <68000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-102000000-800 {
|
||||
opp-microvolt = <800000 800000 1150000>;
|
||||
opp-hz = /bits/ 64 <102000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-204000000-800 {
|
||||
opp-microvolt = <800000 800000 1150000>;
|
||||
opp-hz = /bits/ 64 <204000000>;
|
||||
opp-supported-hw = <0x0007>;
|
||||
opp-suspend;
|
||||
};
|
||||
|
||||
opp-408000000-812 {
|
||||
opp-microvolt = <812000 812000 1150000>;
|
||||
opp-hz = /bits/ 64 <408000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-665600000-825 {
|
||||
opp-microvolt = <825000 825000 1150000>;
|
||||
opp-hz = /bits/ 64 <665600000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-800000000-825 {
|
||||
opp-microvolt = <825000 825000 1150000>;
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-1065600000-837 {
|
||||
opp-microvolt = <837000 837000 1150000>;
|
||||
opp-hz = /bits/ 64 <1065600000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-1331200000-850 {
|
||||
opp-microvolt = <850000 850000 1150000>;
|
||||
opp-hz = /bits/ 64 <1331200000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
};
|
||||
|
||||
opp-1600000000-887 {
|
||||
opp-microvolt = <887000 887000 1150000>;
|
||||
opp-hz = /bits/ 64 <1600000000>;
|
||||
opp-supported-hw = <0x0007>;
|
||||
};
|
||||
};
|
||||
|
||||
/* EMC bandwidth OPP table */
|
||||
emc_bw_dfs_opp_table: opp-table-dvfs1 {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-40800000 {
|
||||
opp-hz = /bits/ 64 <40800000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <652800>;
|
||||
};
|
||||
|
||||
opp-68000000 {
|
||||
opp-hz = /bits/ 64 <68000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <1088000>;
|
||||
};
|
||||
|
||||
opp-102000000 {
|
||||
opp-hz = /bits/ 64 <102000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <1632000>;
|
||||
};
|
||||
|
||||
opp-204000000 {
|
||||
opp-hz = /bits/ 64 <204000000>;
|
||||
opp-supported-hw = <0x0007>;
|
||||
opp-peak-kBps = <3264000>;
|
||||
opp-suspend;
|
||||
};
|
||||
|
||||
opp-408000000 {
|
||||
opp-hz = /bits/ 64 <408000000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <6528000>;
|
||||
};
|
||||
|
||||
opp-665600000 {
|
||||
opp-hz = /bits/ 64 <665600000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <10649600>;
|
||||
};
|
||||
|
||||
opp-800000000 {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
opp-supported-hw = <0x001F>;
|
||||
opp-peak-kBps = <12800000>;
|
||||
};
|
||||
|
||||
opp-1065600000 {
|
||||
opp-hz = /bits/ 64 <1065600000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <17049600>;
|
||||
};
|
||||
|
||||
opp-1331200000 {
|
||||
opp-hz = /bits/ 64 <1331200000>;
|
||||
opp-supported-hw = <0x0003>;
|
||||
opp-peak-kBps = <21299200>;
|
||||
};
|
||||
|
||||
opp-1600000000 {
|
||||
opp-hz = /bits/ 64 <1600000000>;
|
||||
opp-supported-hw = <0x0007>;
|
||||
opp-peak-kBps = <25600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -9,6 +9,8 @@
|
|||
#include <dt-bindings/thermal/tegra124-soctherm.h>
|
||||
#include <dt-bindings/soc/tegra-pmc.h>
|
||||
|
||||
#include "tegra210-peripherals-opp.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,tegra210";
|
||||
interrupt-parent = <&lic>;
|
||||
|
|
@ -183,9 +185,7 @@ tsec@54100000 {
|
|||
reg = <0x0 0x54100000 0x0 0x00040000>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_TSEC>;
|
||||
clock-names = "tsec";
|
||||
resets = <&tegra_car 83>;
|
||||
reset-names = "tsec";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
@ -202,6 +202,19 @@ dc@54200000 {
|
|||
|
||||
nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
|
||||
nvidia,head = <0>;
|
||||
|
||||
interconnects = <&mc TEGRA210_MC_DISPLAY0A &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAY0B &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAY0C &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAYHC &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAYD &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAYT &emc>;
|
||||
interconnect-names = "wina",
|
||||
"winb",
|
||||
"winc",
|
||||
"cursor",
|
||||
"wind",
|
||||
"wint";
|
||||
};
|
||||
|
||||
dc@54240000 {
|
||||
|
|
@ -217,6 +230,15 @@ dc@54240000 {
|
|||
|
||||
nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
|
||||
nvidia,head = <1>;
|
||||
|
||||
interconnects = <&mc TEGRA210_MC_DISPLAY0AB &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAY0BB &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAY0CB &emc>,
|
||||
<&mc TEGRA210_MC_DISPLAYHCB &emc>;
|
||||
interconnect-names = "wina",
|
||||
"winb",
|
||||
"winc",
|
||||
"cursor";
|
||||
};
|
||||
|
||||
dsia: dsi@54300000 {
|
||||
|
|
@ -253,7 +275,13 @@ vic@54340000 {
|
|||
nvjpg@54380000 {
|
||||
compatible = "nvidia,tegra210-nvjpg";
|
||||
reg = <0x0 0x54380000 0x0 0x00040000>;
|
||||
status = "disabled";
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVJPG>;
|
||||
clock-names = "nvjpg";
|
||||
resets = <&tegra_car 195>;
|
||||
reset-names = "nvjpg";
|
||||
|
||||
iommus = <&mc TEGRA_SWGROUP_NVJPG>;
|
||||
power-domains = <&pd_nvjpg>;
|
||||
};
|
||||
|
||||
dsib: dsi@54400000 {
|
||||
|
|
@ -277,13 +305,25 @@ dsib: dsi@54400000 {
|
|||
nvdec@54480000 {
|
||||
compatible = "nvidia,tegra210-nvdec";
|
||||
reg = <0x0 0x54480000 0x0 0x00040000>;
|
||||
status = "disabled";
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
|
||||
clock-names = "nvdec";
|
||||
resets = <&tegra_car 194>;
|
||||
reset-names = "nvdec";
|
||||
|
||||
iommus = <&mc TEGRA_SWGROUP_NVDEC>;
|
||||
power-domains = <&pd_nvdec>;
|
||||
};
|
||||
|
||||
nvenc@544c0000 {
|
||||
compatible = "nvidia,tegra210-nvenc";
|
||||
reg = <0x0 0x544c0000 0x0 0x00040000>;
|
||||
status = "disabled";
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVENC>;
|
||||
clock-names = "nvenc";
|
||||
resets = <&tegra_car 219>;
|
||||
reset-names = "nvenc";
|
||||
|
||||
iommus = <&mc TEGRA_SWGROUP_NVENC>;
|
||||
power-domains = <&pd_nvenc>;
|
||||
};
|
||||
|
||||
tsec@54500000 {
|
||||
|
|
@ -409,6 +449,7 @@ i2c@546c0000 {
|
|||
|
||||
gic: interrupt-controller@50041000 {
|
||||
compatible = "arm,gic-400";
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0x50041000 0x0 0x1000>,
|
||||
|
|
@ -485,6 +526,21 @@ flow-controller@60007000 {
|
|||
reg = <0x0 0x60007000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
actmon@6000c800 {
|
||||
compatible = "nvidia,tegra210-actmon", "nvidia,tegra124-actmon";
|
||||
reg = <0x0 0x6000c800 0x0 0x400>;
|
||||
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_ACTMON>,
|
||||
<&tegra_car TEGRA210_CLK_EMC>;
|
||||
clock-names = "actmon", "emc";
|
||||
resets = <&tegra_car 119>;
|
||||
reset-names = "actmon";
|
||||
operating-points-v2 = <&emc_bw_dfs_opp_table>;
|
||||
interconnects = <&mc TEGRA210_MC_MPCORER &emc>;
|
||||
interconnect-names = "cpu-read";
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
gpio: gpio@6000d000 {
|
||||
compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
|
||||
reg = <0x0 0x6000d000 0x0 0x1000>;
|
||||
|
|
@ -502,7 +558,7 @@ gpio: gpio@6000d000 {
|
|||
interrupt-controller;
|
||||
};
|
||||
|
||||
apbdma: dma@60020000 {
|
||||
apbdma: dma-controller@60020000 {
|
||||
compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
|
||||
reg = <0x0 0x60020000 0x0 0x1400>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
@ -894,6 +950,18 @@ pd_audio: aud {
|
|||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_nvenc: mpe {
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVENC>;
|
||||
resets = <&tegra_car 219>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_nvdec: nvdec {
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVDEC>;
|
||||
resets = <&tegra_car 194>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_sor: sor {
|
||||
clocks = <&tegra_car TEGRA210_CLK_SOR0>,
|
||||
<&tegra_car TEGRA210_CLK_SOR1>,
|
||||
|
|
@ -947,6 +1015,12 @@ pd_xusbhost: xusbc {
|
|||
resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_nvjpg: nvjpg {
|
||||
clocks = <&tegra_car TEGRA210_CLK_NVJPG>;
|
||||
resets = <&tegra_car 195>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -978,6 +1052,7 @@ mc: memory-controller@70019000 {
|
|||
|
||||
#iommu-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
#interconnect-cells = <1>;
|
||||
};
|
||||
|
||||
emc: external-memory-controller@7001b000 {
|
||||
|
|
@ -989,6 +1064,9 @@ emc: external-memory-controller@7001b000 {
|
|||
clock-names = "emc";
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
nvidia,memory-controller = <&mc>;
|
||||
operating-points-v2 = <&emc_icc_dvfs_opp_table>;
|
||||
|
||||
#interconnect-cells = <0>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ / {
|
|||
aliases {
|
||||
mmc0 = "/bus@0/mmc@3460000";
|
||||
mmc1 = "/bus@0/mmc@3400000";
|
||||
rtc0 = "/bpmp/i2c/pmic@3c";
|
||||
};
|
||||
|
||||
bus@0 {
|
||||
|
|
@ -170,6 +171,16 @@ bpmp {
|
|||
i2c {
|
||||
status = "okay";
|
||||
|
||||
pmic@3c {
|
||||
compatible = "nvidia,vrs-10";
|
||||
reg = <0x3c>;
|
||||
interrupt-parent = <&pmc>;
|
||||
/* VRS Wake ID is 24 */
|
||||
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
thermal-sensor@4c {
|
||||
compatible = "ti,tmp451";
|
||||
status = "okay";
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ / {
|
|||
|
||||
aliases {
|
||||
mmc0 = "/bus@0/mmc@3400000";
|
||||
rtc0 = "/bpmp/i2c/pmic@3c";
|
||||
};
|
||||
|
||||
bus@0 {
|
||||
|
|
@ -121,6 +122,20 @@ pmc@c360000 {
|
|||
};
|
||||
};
|
||||
|
||||
bpmp {
|
||||
i2c {
|
||||
pmic@3c {
|
||||
compatible = "nvidia,vrs-10";
|
||||
reg = <0x3c>;
|
||||
interrupt-parent = <&pmc>;
|
||||
/* VRS Wake ID is 24 */
|
||||
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vdd_5v0_sys: regulator-vdd-5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_5V0_SYS";
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include <dt-bindings/power/tegra234-powergate.h>
|
||||
#include <dt-bindings/reset/tegra234-reset.h>
|
||||
#include <dt-bindings/thermal/tegra234-bpmp-thermal.h>
|
||||
#include <dt-bindings/pinctrl/pinctrl-tegra.h>
|
||||
|
||||
/ {
|
||||
compatible = "nvidia,tegra234";
|
||||
|
|
@ -127,6 +128,56 @@ gpio: gpio@2200000 {
|
|||
pinmux: pinmux@2430000 {
|
||||
compatible = "nvidia,tegra234-pinmux";
|
||||
reg = <0x0 0x2430000 0x0 0x19100>;
|
||||
|
||||
pex_rst_c4_in_state: pinmux-pex-rst-c4-in {
|
||||
pex_rst {
|
||||
nvidia,pins = "pex_l4_rst_n_pl1";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
};
|
||||
|
||||
pex_rst_c5_in_state: pinmux-pex-rst-c5-in {
|
||||
pex_rst {
|
||||
nvidia,pins = "pex_l5_rst_n_paf1";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
};
|
||||
|
||||
pex_rst_c6_in_state: pinmux-pex-rst-c6-in {
|
||||
pex_rst {
|
||||
nvidia,pins = "pex_l6_rst_n_paf3";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
};
|
||||
|
||||
pex_rst_c7_in_state: pinmux-pex-rst-c7-in {
|
||||
pex_rst {
|
||||
nvidia,pins = "pex_l7_rst_n_pag1";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
};
|
||||
|
||||
pex_rst_c10_in_state: pinmux-pex-rst-c10-in {
|
||||
pex_rst {
|
||||
nvidia,pins = "pex_l10_rst_n_pag7";
|
||||
nvidia,function = "rsvd1";
|
||||
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
|
||||
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||||
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpcdma: dma-controller@2600000 {
|
||||
|
|
@ -3276,8 +3327,15 @@ usb@3610000 {
|
|||
<0x0 0x03650000 0x0 0x10000>;
|
||||
reg-names = "hcd", "fpci", "bar2";
|
||||
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts-extended = <&gic GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 76 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 77 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 78 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 79 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pmc 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
clocks = <&bpmp TEGRA234_CLK_XUSB_CORE_HOST>,
|
||||
<&bpmp TEGRA234_CLK_XUSB_FALCON>,
|
||||
|
|
@ -4630,6 +4688,8 @@ pcie-ep@140e0000 {
|
|||
<&bpmp TEGRA234_RESET_PEX2_CORE_10>;
|
||||
reset-names = "apb", "core";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pex_rst_c10_in_state>;
|
||||
interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
||||
interrupt-names = "intr";
|
||||
|
||||
|
|
@ -4881,6 +4941,8 @@ pcie-ep@14160000 {
|
|||
<&bpmp TEGRA234_RESET_PEX0_CORE_4>;
|
||||
reset-names = "apb", "core";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pex_rst_c4_in_state>;
|
||||
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
||||
interrupt-names = "intr";
|
||||
nvidia,bpmp = <&bpmp 4>;
|
||||
|
|
@ -5023,6 +5085,8 @@ pcie-ep@141a0000 {
|
|||
<&bpmp TEGRA234_RESET_PEX1_CORE_5>;
|
||||
reset-names = "apb", "core";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pex_rst_c5_in_state>;
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
||||
interrupt-names = "intr";
|
||||
|
||||
|
|
@ -5115,6 +5179,8 @@ pcie-ep@141c0000 {
|
|||
<&bpmp TEGRA234_RESET_PEX1_CORE_6>;
|
||||
reset-names = "apb", "core";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pex_rst_c6_in_state>;
|
||||
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
||||
interrupt-names = "intr";
|
||||
|
||||
|
|
@ -5207,6 +5273,8 @@ pcie-ep@141e0000 {
|
|||
<&bpmp TEGRA234_RESET_PEX2_CORE_7>;
|
||||
reset-names = "apb", "core";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pex_rst_c7_in_state>;
|
||||
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
|
||||
interrupt-names = "intr";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,112 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
|
||||
/ {
|
||||
bus@0 {
|
||||
aconnect@9000000 {
|
||||
status = "okay";
|
||||
|
||||
dma-controller@9440000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ahub@9630000 {
|
||||
status = "okay";
|
||||
|
||||
i2s@9280000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2s@9290000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2s@92b0000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
interrupt-controller@9960000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bus@8800000000 {
|
||||
hda@90b0000 {
|
||||
nvidia,model = "NVIDIA Jetson Thor AGX HDA";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
sound {
|
||||
status = "okay";
|
||||
|
||||
dais = /* ADMAIF (FE) Ports */
|
||||
<&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
|
||||
<&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
|
||||
<&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
|
||||
<&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
|
||||
<&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
|
||||
<&admaif20_port>, <&admaif21_port>, <&admaif22_port>, <&admaif23_port>,
|
||||
<&admaif24_port>, <&admaif25_port>, <&admaif26_port>, <&admaif27_port>,
|
||||
<&admaif28_port>, <&admaif29_port>, <&admaif30_port>, <&admaif31_port>,
|
||||
/* XBAR Ports */
|
||||
<&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>,
|
||||
<&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
|
||||
<&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
|
||||
<&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
|
||||
<&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
|
||||
<&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
|
||||
<&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
|
||||
<&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
|
||||
<&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
|
||||
<&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
|
||||
<&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
|
||||
<&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
|
||||
<&xbar_amx5_in1_port>, <&xbar_amx5_in2_port>,
|
||||
<&xbar_amx5_in3_port>, <&xbar_amx5_in4_port>,
|
||||
<&xbar_amx6_in1_port>, <&xbar_amx6_in2_port>,
|
||||
<&xbar_amx6_in3_port>, <&xbar_amx6_in4_port>,
|
||||
<&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
|
||||
<&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
|
||||
<&xbar_adx5_in_port>, <&xbar_adx6_in_port>,
|
||||
<&xbar_mix_in1_port>, <&xbar_mix_in2_port>,
|
||||
<&xbar_mix_in3_port>, <&xbar_mix_in4_port>,
|
||||
<&xbar_mix_in5_port>, <&xbar_mix_in6_port>,
|
||||
<&xbar_mix_in7_port>, <&xbar_mix_in8_port>,
|
||||
<&xbar_mix_in9_port>, <&xbar_mix_in10_port>,
|
||||
<&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
|
||||
<&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
|
||||
<&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
|
||||
<&xbar_asrc_in7_port>,
|
||||
<&xbar_ope1_in_port>,
|
||||
/* HW accelerators */
|
||||
<&sfc1_out_port>, <&sfc2_out_port>,
|
||||
<&sfc3_out_port>, <&sfc4_out_port>,
|
||||
<&mvc1_out_port>, <&mvc2_out_port>,
|
||||
<&amx1_out_port>, <&amx2_out_port>,
|
||||
<&amx3_out_port>, <&amx4_out_port>,
|
||||
<&amx5_out_port>, <&amx6_out_port>,
|
||||
<&adx1_out1_port>, <&adx1_out2_port>,
|
||||
<&adx1_out3_port>, <&adx1_out4_port>,
|
||||
<&adx2_out1_port>, <&adx2_out2_port>,
|
||||
<&adx2_out3_port>, <&adx2_out4_port>,
|
||||
<&adx3_out1_port>, <&adx3_out2_port>,
|
||||
<&adx3_out3_port>, <&adx3_out4_port>,
|
||||
<&adx4_out1_port>, <&adx4_out2_port>,
|
||||
<&adx4_out3_port>, <&adx4_out4_port>,
|
||||
<&adx5_out1_port>, <&adx5_out2_port>,
|
||||
<&adx5_out3_port>, <&adx5_out4_port>,
|
||||
<&adx6_out1_port>, <&adx6_out2_port>,
|
||||
<&adx6_out3_port>, <&adx6_out4_port>,
|
||||
<&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>,
|
||||
<&mix_out4_port>, <&mix_out5_port>,
|
||||
<&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
|
||||
<&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
|
||||
<&ope1_out_port>,
|
||||
/* BE I/O Ports */
|
||||
<&i2s1_port>, <&i2s2_port>, <&i2s4_port>;
|
||||
|
||||
label = "NVIDIA Jetson Thor AGX APE";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user