From 9e4030a47786b7695f88758e745f6b5a3e2e71f3 Mon Sep 17 00:00:00 2001 From: Aaron Kling Date: Thu, 8 May 2025 23:56:33 -0500 Subject: [PATCH] WIP: arm64: tegra: Enable XUSB controller on P2894 TODO: Correct otg connector for full size A port Enable the XUSB controller on P2894. One of the USB 3.0 lanes goes to a switchable USB-A port, while the second USB 3.0 lane supports the normal USB-A port. Signed-off-by: Aaron Kling --- .../arm64/boot/dts/nvidia/tegra210-p2894.dtsi | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2894.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2894.dtsi index 24d4229a0e52..9a88123c9bea 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210-p2894.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2894.dtsi @@ -1604,6 +1604,122 @@ status = "okay"; }; + usb@70090000 { + phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, + <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, + <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>, + <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; + phy-names = "usb2-0", "usb2-2", "usb3-0", "usb3-1"; + dvddio-pex-supply = <&max77620_ldo1>; + hvddio-pex-supply = <&max77620_sd3>; + avdd-usb-supply = <&vdd_3v3>; + + status = "okay"; + }; + + padctl@7009f000 { + status = "okay"; + + avdd-pll-utmip-supply = <&max77620_sd3>; + avdd-pll-uerefe-supply = <&max77620_ldo7>; + dvdd-pex-pll-supply = <&max77620_ldo1>; + hvdd-pex-pll-e-supply = <&max77620_sd3>; + + pads { + usb2 { + status = "okay"; + + lanes { + micro_b: usb2-0 { + nvidia,function = "xusb"; + status = "okay"; + }; + + usb2-2 { + nvidia,function = "xusb"; + status = "okay"; + }; + }; + }; + + pcie { + status = "okay"; + + lanes { + pcie-0 { + nvidia,function = "pcie-x1"; + status = "okay"; + }; + + pcie-1 { + nvidia,function = "pcie-x4"; + status = "okay"; + }; + + pcie-2 { + nvidia,function = "pcie-x4"; + status = "okay"; + }; + + pcie-3 { + nvidia,function = "pcie-x4"; + status = "okay"; + }; + + pcie-4 { + nvidia,function = "pcie-x4"; + status = "okay"; + }; + + pcie-5 { + nvidia,function = "usb3-ss"; + status = "okay"; + }; + + pcie-6 { + nvidia,function = "usb3-ss"; + status = "okay"; + }; + }; + }; + }; + + ports { + usb2-0 { + status = "okay"; + vbus-supply = <&usb_vbus1>; + usb-role-switch; + mode = "otg"; + + connector { + compatible = "gpio-usb-b-connector", + "usb-b-connector"; + label = "micro-USB"; + type = "micro"; + vbus-gpios = <&gpio TEGRA_GPIO(Z, 0) + GPIO_ACTIVE_LOW>; + id-gpios = <&pmic 0 GPIO_ACTIVE_HIGH>; + }; + }; + + usb2-2 { + status = "okay"; + vbus-supply = <&usb_vbus2>; + mode = "host"; + }; + + usb3-0 { + nvidia,usb2-companion = <0>; + status = "okay"; + }; + + usb3-1 { + nvidia,usb2-companion = <2>; + status = "okay"; + }; + }; + }; + mmc@700b0200 { status = "okay"; bus-width = <4>; @@ -1629,6 +1745,14 @@ status = "okay"; }; + usb@700d0000 { + status = "okay"; + phys = <µ_b>; + phy-names = "usb2-0"; + avddio-usb-supply = <&max77620_ldo1>; + hvdd-usb-supply = <&vdd_3v3>; + }; + clk32k_in: clock-32k { compatible = "fixed-clock"; clock-frequency = <32768>;