[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2059dfe5-b084-42a4-7f35-9da9561fc12b@linaro.org>
Date: Thu, 27 Oct 2022 22:23:59 -0400
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Wayne Chang <waynec@...dia.com>, gregkh@...uxfoundation.org,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
treding@...dia.com, jonathanh@...dia.com, thierry.reding@...il.com,
heikki.krogerus@...ux.intel.com, ajayg@...dia.com, kishon@...com,
vkoul@...nel.org, p.zabel@...gutronix.de, balbi@...nel.org,
mathias.nyman@...el.com, jckuo@...dia.com
Cc: linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, singhanc@...dia.com,
linux-i2c@...r.kernel.org, linux-phy@...ts.infradead.org,
linux-tegra@...r.kernel.org
Subject: Re: [PATCH 04/11] arm64: tegra: Enable XUSB host and device on Jetson
AGX Orin
On 24/10/2022 03:41, Wayne Chang wrote:
> This commit enables XUSB host, device, and pad controller on
> Jetson AGX Orin.
>
> Signed-off-by: Wayne Chang <waynec@...dia.com>
> ---
> .../boot/dts/nvidia/tegra234-p3701-0000.dtsi | 48 +++++
> .../nvidia/tegra234-p3737-0000+p3701-0000.dts | 184 ++++++++++++++++++
> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 170 ++++++++++++++++
> 3 files changed, 402 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3701-0000.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3701-0000.dtsi
> index 9e4d72cfa69f..8acef87a5398 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra234-p3701-0000.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3701-0000.dtsi
> @@ -61,6 +61,29 @@ mmc@...0000 {
> non-removable;
> };
>
> + padctl@...0000 {
> + vclamp-usb-supply = <&vdd_ao_1v8>;
> + avdd-usb-supply = <&vdd_ao_3v3>;
> +
> + ports {
> + usb2-0 {
> + vbus-supply = <&vdd_5v0_sys>;
> + };
> +
> + usb2-1 {
> + vbus-supply = <&vdd_5v0_sys>;
> + };
> +
> + usb2-2 {
> + vbus-supply = <&vdd_5v0_sys>;
> + };
> +
> + usb2-3 {
> + vbus-supply = <&vdd_5v0_sys>;
> + };
> + };
> + };
> +
> rtc@...0000 {
> status = "okay";
> };
> @@ -69,4 +92,29 @@ pmc@...0000 {
> nvidia,invert-interrupt;
> };
> };
> +
> + vdd_5v0_sys: regulator@0 {
> + compatible = "regulator-fixed";
> + regulator-name = "VIN_SYS_5V0";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + vdd_ao_1v8: regulator@1 {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-AO-1v8";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + };
> +
> + vdd_ao_3v3: regulator@2 {
> + compatible = "regulator-fixed";
> + regulator-name = "vdd-AO-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> };
> diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts b/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts
> index 57ab75328814..b4630280bb32 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts
> +++ b/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts
> @@ -2011,6 +2011,190 @@ hda@...0000 {
> nvidia,model = "NVIDIA Jetson AGX Orin HDA";
> status = "okay";
> };
> +
> + padctl@...0000 {
> + status = "okay";
> +
> + pads {
> + usb2 {
> + lanes {
> + usb2-0 {
> + status = "okay";
> + };
> +
> + usb2-1 {
> + status = "okay";
> + };
> +
> + usb2-2 {
> + status = "okay";
> + };
> +
> + usb2-3 {
> + status = "okay";
> + };
> + };
> + };
> +
> + usb3 {
> + lanes {
> + usb3-0 {
> + status = "okay";
> + };
> +
> + usb3-1 {
> + status = "okay";
> + };
> +
> + usb3-2 {
> + status = "okay";
> + };
> + };
> + };
> + };
> +
> + ports {
> + usb2-0 {
> + mode = "otg";
> + usb-role-switch;
> + status = "okay";
> + port {
> + hs_typec_p1: endpoint {
> + remote-endpoint = <&hs_ucsi_ccg_p1>;
> + };
> + };
> + };
> +
> + usb2-1 {
> + mode = "host";
> + status = "okay";
> + port {
> + hs_typec_p0: endpoint {
> + remote-endpoint = <&hs_ucsi_ccg_p0>;
> + };
> + };
> + };
> +
> + usb2-2 {
> + mode = "host";
> + status = "okay";
> + };
> +
> + usb2-3 {
> + mode = "host";
> + status = "okay";
> + };
> +
> + usb3-0 {
> + nvidia,usb2-companion = <1>;
> + status = "okay";
> + port {
> + ss_typec_p0: endpoint {
> + remote-endpoint = <&ss_ucsi_ccg_p0>;
> + };
> + };
> + };
> +
> + usb3-1 {
> + nvidia,usb2-companion = <0>;
> + status = "okay";
> + port {
> + ss_typec_p1: endpoint {
> + remote-endpoint = <&ss_ucsi_ccg_p1>;
> + };
> + };
> + };
> +
> + usb3-2 {
> + nvidia,usb2-companion = <3>;
> + status = "okay";
> + };
> + };
> + };
> +
> + usb@...0000 {
> + status = "okay";
> +
> + phys = <&{/bus@...adctl@...0000/pads/usb2/lanes/usb2-0}>,
> + <&{/bus@...adctl@...0000/pads/usb3/lanes/usb3-1}>;
> + phy-names = "usb2-0", "usb3-1";
> + };
> +
> + usb@...0000 {
> + status = "okay";
> +
> + phys = <&{/bus@...adctl@...0000/pads/usb2/lanes/usb2-0}>,
> + <&{/bus@...adctl@...0000/pads/usb2/lanes/usb2-1}>,
> + <&{/bus@...adctl@...0000/pads/usb2/lanes/usb2-2}>,
> + <&{/bus@...adctl@...0000/pads/usb2/lanes/usb2-3}>,
> + <&{/bus@...adctl@...0000/pads/usb3/lanes/usb3-0}>,
> + <&{/bus@...adctl@...0000/pads/usb3/lanes/usb3-1}>,
> + <&{/bus@...adctl@...0000/pads/usb3/lanes/usb3-2}>;
> + phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
> + "usb3-0", "usb3-1", "usb3-2";
> + };
> +
> + i2c@...0000 {
> + status = "okay";
> + ucsi_ccg: ucsi_ccg@8 {
No underscores in node names.
> + compatible = "cypress,cypd4226";
> + cypress,firmware-build = "gn";
> + interrupt-parent = <&gpio>;
> + interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
> + reg = <0x08>;
> + status = "okay";
The pattern of redefining full path in Tegra is confusing - I have no
clue which of these status=okay are correct which are redundant.
Do you?
> + #address-cells = <1>;
> + #size-cells = <0>;
> + ccg_typec_con0: connector@0 {
> + compatible = "usb-c-connector";
> + reg = <0>;
> + label = "USB-C";
> + data-role = "host";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
Hm, why do you have here cells?
Did you test the DTS with dtbs_check?
Best regards,
Krzysztof
Powered by blists - more mailing lists