forked from Minki/linux
arm64: tegra: Device tree changes for v5.18-rc1
Based on the for-5.18/dt-bindings changes, this adds various new features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM support. Device trees for 64-bit Tegra boards are now also built with overlay support enabled, which allows firmware to apply overlays and customize the DTB that is passed to the kernel. There are also a couple of cleanups and additions for older devices, such as USB device mode support on Jetson Xavier NX. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBv4THHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zoQCxD/91Rrrx6YerbjauJbX8on8yFhRGQUuf MNvOkfyzI3fSZjJyfZxR13gcJp0gh8oaFBEoBnIaSUEN+lLtlWZl4oQOU+Y1ZE1x vXiResOWGJaugKcRsR1CiGPnsWUDBiJtnRqoRdZSWUDHKno2ekqMS9lhMp+PmMY0 8U/m3VV4C6JvNe9gO5kwo0egYRe9jFuncwtepi/YFUpMkGQ6P5WC1PjrLH3xJm3i 609zobLbbOreV/ZN3W3x3uUgh49bm9FORwRSHrlmv79rlnBLMEXDEbWP4GHuDSUR jVFu9tghxv6PGy6JxkNomdv9EYOjrLa8NgmXKkfbLEIZf4jT1cNXrtSufhyj4GXC 5KKkPB19fMtv/t53EzDjkDLfVAuCb/yBO62rtj28DLsR30ubhlVBK4GcHIsAcmot wz0mE7+NkBsr3X2qCUr0JBC6thFv6X8E5bXTc/zsGDfVNnKl8k+zXejiZDh68aVN EHYgQLneAWIQ2Af1nK6gQjs3pMdiqtAUZlCVFL0vM6VgT9hGi1N8l1DeHZa7elJw WHUrSFr/56WBdC0eKT2nxDzhygEGxkjkI2HKI/7hVrsRaOOC4rY4PDat0VwWyUIN JYPjTKqVcvYa+rNuAr7P4/EMl4kglB6dBTQFyeT446ff9R5Umxpvv+CaPD0aDz0o 8TzA9Gc89MiH2Q== =ZfCL -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2QUACgkQmmx57+YA GNm8RxAAn4b8uK0TQ/AMvgdFabENBfsNGm6cYVIUp28SW1PBwacSzXRJYLypVXqv HWb6GmWoDqgvCHPFYtUF68IvC1SY3pgT517UFSXucnfqXw17Ew9rY45lNkW4rEI3 jEmaTGNdqon33KTNQyH6r8m4qL8lKOAdU7TO4UjvcAK41eHL2r4uTLe2hNW+etqR /3Vbc5aVY6gq89hQh00KNjd6RSaLC/axJCBd2fMEwGFYHajk8IEldKe2bTPU/hWZ egNEmWjRPy3SvJ+zKl8irbaEIvgGv59gE9mTiqDfgTHXI3FPe8I3DwqYo0a9Wmjb 6ACU9NfO6pyXgfaPtiqtQRN/QHhJngc/pZLX7x0GdszSDGff44Z/GY6Sowi3Y56i h8H+bYXZouCqH8Sb850fO+Bxlrl5TuwCQ8CwVzwlKgkbnmfVMPk6pmdSuLRJGcpr d+Tor0jbZWF4OO1vNcJ9YmA+/CVWmOuDDJU40IwuQldHwAZsVcAt2J88FkteYn28 seVQOkfbXIhR8r80aUU+E9yTgYAr7k9wJU+B4qB2HLZM6CxEkfRk82BpJODTakD8 42CvZIZXBCQ+ulTUTxz0nmHCjipJPOIxJ83eYEwuCZkgM79b0APiSVjw0htPmCzD znh6zecOBtxr1ftNnZPi+aVfyuJDpmnkpuw+netaDms3gRqFpxE= =l0Ys -----END PGP SIGNATURE----- Merge tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt arm64: tegra: Device tree changes for v5.18-rc1 Based on the for-5.18/dt-bindings changes, this adds various new features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM support. Device trees for 64-bit Tegra boards are now also built with overlay support enabled, which allows firmware to apply overlays and customize the DTB that is passed to the kernel. There are also a couple of cleanups and additions for older devices, such as USB device mode support on Jetson Xavier NX. * tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Drop arm,armv8-pmuv3 compatible string arm64: tegra: Enable Jetson Xavier NX USB device mode arm64: tegra: Enable UART instance on 40-pin header arm64: tegra: Add HDA device tree node for Tegra234 arm64: tegra: Enable device-tree overlay support arm64: tegra: APE sound card for Jetson AGX Orin arm64: tegra: Add audio devices on Tegra234 arm64: tegra: Move audio IOMMU properties to ADMAIF node arm64: tegra: Add Tegra234 IOMMUs arm64: tegra: Enable gpio-keys on Jetson AGX Orin Developer Kit arm64: tegra: Add GPCDMA node for tegra186 and tegra194 arm64: tegra: Add Tegra234 PWM devicetree nodes arm64: tegra: Add Tegra234 I2C devicetree nodes Link: https://lore.kernel.org/r/20220225164741.1064416-4-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
664abe8866
@ -1,4 +1,15 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
# Enables support for device-tree overlays
|
||||||
|
DTC_FLAGS_tegra210-p2371-2180 := -@
|
||||||
|
DTC_FLAGS_tegra210-p3450-0000 := -@
|
||||||
|
DTC_FLAGS_tegra186-p2771-0000 := -@
|
||||||
|
DTC_FLAGS_tegra186-p3509-0000+p3636-0001 := -@
|
||||||
|
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 := -@
|
||||||
|
|
||||||
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
|
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
|
||||||
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
|
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-p2371-2180.dtb
|
||||||
|
@ -73,6 +73,48 @@
|
|||||||
snps,rxpbl = <8>;
|
snps,rxpbl = <8>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gpcdma: dma-controller@2600000 {
|
||||||
|
compatible = "nvidia,tegra186-gpcdma";
|
||||||
|
reg = <0x0 0x2600000 0x0 0x210000>;
|
||||||
|
resets = <&bpmp TEGRA186_RESET_GPCDMA>;
|
||||||
|
reset-names = "gpcdma";
|
||||||
|
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
|
||||||
|
dma-coherent;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
aconnect@2900000 {
|
aconnect@2900000 {
|
||||||
compatible = "nvidia,tegra186-aconnect",
|
compatible = "nvidia,tegra186-aconnect",
|
||||||
"nvidia,tegra210-aconnect";
|
"nvidia,tegra210-aconnect";
|
||||||
@ -1938,14 +1980,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
pmu_denver {
|
pmu_denver {
|
||||||
compatible = "nvidia,denver-pmu", "arm,armv8-pmuv3";
|
compatible = "nvidia,denver-pmu";
|
||||||
interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
interrupt-affinity = <&denver_0 &denver_1>;
|
interrupt-affinity = <&denver_0 &denver_1>;
|
||||||
};
|
};
|
||||||
|
|
||||||
pmu_a57 {
|
pmu_a57 {
|
||||||
compatible = "arm,cortex-a57-pmu", "arm,armv8-pmuv3";
|
compatible = "arm,cortex-a57-pmu";
|
||||||
interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
@ -1826,6 +1826,10 @@
|
|||||||
pads {
|
pads {
|
||||||
usb2 {
|
usb2 {
|
||||||
lanes {
|
lanes {
|
||||||
|
usb2-0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
usb2-1 {
|
usb2-1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
@ -1846,6 +1850,20 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
ports {
|
ports {
|
||||||
|
usb2-0 {
|
||||||
|
mode = "otg";
|
||||||
|
status = "okay";
|
||||||
|
usb-role-switch;
|
||||||
|
connector {
|
||||||
|
compatible = "gpio-usb-b-connector",
|
||||||
|
"usb-b-connector";
|
||||||
|
label = "micro-USB";
|
||||||
|
type = "micro";
|
||||||
|
vbus-gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 1)
|
||||||
|
GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
usb2-1 {
|
usb2-1 {
|
||||||
mode = "host";
|
mode = "host";
|
||||||
status = "okay";
|
status = "okay";
|
||||||
@ -1874,6 +1892,13 @@
|
|||||||
phy-names = "usb2-1", "usb2-2", "usb3-2";
|
phy-names = "usb2-1", "usb2-2", "usb3-2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
usb@3550000 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>;
|
||||||
|
phy-names = "usb2-0";
|
||||||
|
};
|
||||||
|
|
||||||
spi@3270000 {
|
spi@3270000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
@ -115,6 +115,49 @@
|
|||||||
snps,rxpbl = <8>;
|
snps,rxpbl = <8>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gpcdma: dma-controller@2600000 {
|
||||||
|
compatible = "nvidia,tegra194-gpcdma",
|
||||||
|
"nvidia,tegra186-gpcdma";
|
||||||
|
reg = <0x2600000 0x210000>;
|
||||||
|
resets = <&bpmp TEGRA194_RESET_GPCDMA>;
|
||||||
|
reset-names = "gpcdma";
|
||||||
|
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
iommus = <&smmu TEGRA194_SID_GPCDMA_0>;
|
||||||
|
dma-coherent;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
aconnect@2900000 {
|
aconnect@2900000 {
|
||||||
compatible = "nvidia,tegra194-aconnect",
|
compatible = "nvidia,tegra194-aconnect",
|
||||||
"nvidia,tegra210-aconnect";
|
"nvidia,tegra210-aconnect";
|
||||||
@ -243,6 +286,10 @@
|
|||||||
"rx19", "tx19",
|
"rx19", "tx19",
|
||||||
"rx20", "tx20";
|
"rx20", "tx20";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
interconnects = <&mc TEGRA194_MEMORY_CLIENT_APEDMAR &emc>,
|
||||||
|
<&mc TEGRA194_MEMORY_CLIENT_APEDMAW &emc>;
|
||||||
|
interconnect-names = "dma-mem", "write";
|
||||||
|
iommus = <&smmu TEGRA194_SID_APE>;
|
||||||
};
|
};
|
||||||
|
|
||||||
tegra_i2s1: i2s@2901000 {
|
tegra_i2s1: i2s@2901000 {
|
||||||
@ -2839,7 +2886,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
pmu {
|
pmu {
|
||||||
compatible = "arm,armv8-pmuv3";
|
compatible = "nvidia,carmel-pmu";
|
||||||
interrupts = <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
@ -2876,11 +2923,6 @@
|
|||||||
* for 8x and 11.025x sample rate streams.
|
* for 8x and 11.025x sample rate streams.
|
||||||
*/
|
*/
|
||||||
assigned-clock-rates = <258000000>;
|
assigned-clock-rates = <258000000>;
|
||||||
|
|
||||||
interconnects = <&mc TEGRA194_MEMORY_CLIENT_APEDMAR &emc>,
|
|
||||||
<&mc TEGRA194_MEMORY_CLIENT_APEDMAW &emc>;
|
|
||||||
interconnect-names = "dma-mem", "write";
|
|
||||||
iommus = <&smmu TEGRA194_SID_APE>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tcu: serial {
|
tcu: serial {
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user