From 52dedf079c2fa014fb0e0406d7cf805c96df55e9 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Fri, 9 May 2025 01:24:23 -0500 Subject: [PATCH] arm64: tegra: Add Tegra210B01 support Also known as Tegra X1+, the Tegra210B01 has higher CPU and GPU clocks than the original Tegra210. Add a SoC-level device tree file that describes most of the hardware available on the SoC. This is derived from the Tegra210 dtsi, as they share a lot. Co-authored-by: Thomas Makin Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/nvidia/tegra210b01.dtsi | 116 ++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 arch/arm64/boot/dts/nvidia/tegra210b01.dtsi diff --git a/arch/arm64/boot/dts/nvidia/tegra210b01.dtsi b/arch/arm64/boot/dts/nvidia/tegra210b01.dtsi new file mode 100644 index 000000000000..07755307dc07 --- /dev/null +++ b/arch/arm64/boot/dts/nvidia/tegra210b01.dtsi @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "tegra210.dtsi" + +/ { + compatible = "nvidia,tegra210b01", "nvidia,tegra210"; + + pcie@1003000 { + compatible = "nvidia,tegra210b01-pcie"; + }; + + host1x@50000000 { + /delete-node/ sor@54540000; + /delete-node/ dpaux@545c0000; + /delete-node/ vi@54080000; + /delete-node/ i2c@546c0000; + + dc@54200000 { + nvidia,outputs = <&dsia &dsib &sor1>; + }; + + dc@54240000 { + nvidia,outputs = <&dsia &dsib &sor1>; + }; + + dsi@54300000 { + compatible = "nvidia,tegra210b01-dsi"; + }; + + dsi@54400000 { + compatible = "nvidia,tegra210b01-dsi"; + }; + }; + + clock@60006000 { + compatible = "nvidia,tegra210b01-car"; + }; + + i2c@7000d100 { + /delete-property/ pinctrl-0; + /delete-property/ pinctrl-1; + /delete-property/ pinctrl-names; + }; + + mmc@700b0000 { + nvidia,default-tap = <0xb>; + nvidia,default-trim = <0xe>; + }; + + mmc@700b0200 { + nvidia,default-tap = <0x8>; + nvidia,default-trim = <0xd>; + }; + + mmc@700b0400 { + nvidia,default-tap = <0xb>; + nvidia,default-trim = <0x12>; + }; + + mmc@700b0600 { + nvidia,default-tap = <0x9>; + nvidia,default-trim = <0xd>; + + assigned-clocks = <&tegra_car TEGRA210_CLK_SDMMC4>, + <&tegra_car TEGRA210_CLK_PLL_C4_OUT2>; + assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT2>; + }; + + pmc@7000e400 { + compatible = "nvidia,tegra210b01-pmc"; + + powergates { + /delete-node/ venc; + }; + }; + + external-memory-controller@7001b000 { + compatible = "nvidia,tegra210b01-emc"; + + clocks = <&bpmp 0>; + clock-names = "emc"; + + nvidia,bpmp = <&bpmp>; + /delete-property/ operating-points-v2; + }; + + bpmp@70016000 { + status = "okay"; + }; + + usb@70090000 { + compatible = "nvidia,tegra210b01-xusb"; + }; + + padctl@7009f000 { + compatible = "nvidia,tegra210b01-xusb-padctl"; + }; + + usb@700d0000 { + compatible = "nvidia,tegra210b01-xudc"; + }; + + thermal-sensor@700e2000 { + compatible = "nvidia,tegra210b01-soctherm"; + + throttle-cfgs { + heavy { + nvidia,cpu-throt-percent = <0>; + nvidia,gpu-throt-level = ; + }; + }; + }; + + clock@70110000 { + compatible = "nvidia,tegra210b01-dfll"; + }; +};