Unverified Commit 664abe88 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'tegra-for-5.18-arm64-dt' of...

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: default avatarArnd Bergmann <arnd@arndb.de>
parents f08a71d2 f0a48120
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
# 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_210_SOC) += tegra210-p2371-0000.dtb
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-2180.dtb
+44 −2
Original line number Diff line number Diff line
@@ -73,6 +73,48 @@ ethernet@2490000 {
		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 {
		compatible = "nvidia,tegra186-aconnect",
			     "nvidia,tegra210-aconnect";
@@ -1938,14 +1980,14 @@ L2_A57: l2-cache1 {
	};

	pmu_denver {
		compatible = "nvidia,denver-pmu", "arm,armv8-pmuv3";
		compatible = "nvidia,denver-pmu";
		interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-affinity = <&denver_0 &denver_1>;
	};

	pmu_a57 {
		compatible = "arm,cortex-a57-pmu", "arm,armv8-pmuv3";
		compatible = "arm,cortex-a57-pmu";
		interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
+25 −0
Original line number Diff line number Diff line
@@ -1826,6 +1826,10 @@ padctl@3520000 {
			pads {
				usb2 {
					lanes {
						usb2-0 {
							status = "okay";
						};

						usb2-1 {
							status = "okay";
						};
@@ -1846,6 +1850,20 @@ usb3-2 {
			};

			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 {
					mode = "host";
					status = "okay";
@@ -1874,6 +1892,13 @@ usb@3610000 {
			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 {
			status = "okay";

+48 −6
Original line number Diff line number Diff line
@@ -115,6 +115,49 @@ ethernet@2490000 {
			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 {
			compatible = "nvidia,tegra194-aconnect",
				     "nvidia,tegra210-aconnect";
@@ -243,6 +286,10 @@ tegra_admaif: admaif@290f000 {
						    "rx19", "tx19",
						    "rx20", "tx20";
					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 {
@@ -2839,7 +2886,7 @@ l3c: l3-cache {
	};

	pmu {
		compatible = "arm,armv8-pmuv3";
		compatible = "nvidia,carmel-pmu";
		interrupts = <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>,
@@ -2876,11 +2923,6 @@ sound {
		 * for 8x and 11.025x sample rate streams.
		 */
		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 {
+1824 −0

File changed.

Preview size limit exceeded, changes collapsed.

Loading