arm64: tegra: Enable XUSB host function on Jetson AGX Orin
This commit enables XUSB host and pad controller on Jetson AGX Orin. Signed-off-by: Wayne Chang <waynec@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Link: https://lore.kernel.org/r/20230111110450.24617-4-jonathanh@nvidia.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2648f68bd0
commit
1b17df9973
|
@ -67,6 +67,29 @@
|
|||
non-removable;
|
||||
};
|
||||
|
||||
padctl@3520000 {
|
||||
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@c2a0000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -75,4 +98,29 @@
|
|||
nvidia,invert-interrupt;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_5v0_sys: regulator-vdd-5v0-sys {
|
||||
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-vdd-1v8-ao {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd-AO-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_ao_3v3: regulator-vdd-3v3-ao {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd-AO-3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -2022,6 +2022,99 @@
|
|||
nvidia,model = "NVIDIA Jetson AGX Orin HDA";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
padctl@3520000 {
|
||||
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 = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2-1 {
|
||||
mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2-3 {
|
||||
mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3-0 {
|
||||
nvidia,usb2-companion = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3-1 {
|
||||
nvidia,usb2-companion = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3-2 {
|
||||
nvidia,usb2-companion = <3>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb@3610000 {
|
||||
status = "okay";
|
||||
|
||||
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
|
||||
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
|
||||
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
|
||||
"usb3-0", "usb3-1", "usb3-2";
|
||||
};
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
|
|
@ -1079,6 +1079,151 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
xusb_padctl: padctl@3520000 {
|
||||
compatible = "nvidia,tegra234-xusb-padctl";
|
||||
reg = <0x03520000 0x20000>,
|
||||
<0x03540000 0x10000>;
|
||||
reg-names = "padctl", "ao";
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
resets = <&bpmp TEGRA234_RESET_XUSB_PADCTL>;
|
||||
reset-names = "padctl";
|
||||
|
||||
status = "disabled";
|
||||
|
||||
pads {
|
||||
usb2 {
|
||||
clocks = <&bpmp TEGRA234_CLK_USB2_TRK>;
|
||||
clock-names = "trk";
|
||||
|
||||
lanes {
|
||||
usb2-0 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb2-1 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb2-3 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb3 {
|
||||
lanes {
|
||||
usb3-0 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb3-1 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb3-2 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
usb3-3 {
|
||||
nvidia,function = "xusb";
|
||||
status = "disabled";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
usb2-0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2-1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2-2 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2-3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3-0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3-1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3-2 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3-3 {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb@3610000 {
|
||||
compatible = "nvidia,tegra234-xusb";
|
||||
reg = <0x03610000 0x40000>,
|
||||
<0x03600000 0x10000>,
|
||||
<0x03650000 0x10000>;
|
||||
reg-names = "hcd", "fpci", "bar2";
|
||||
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
clocks = <&bpmp TEGRA234_CLK_XUSB_CORE_HOST>,
|
||||
<&bpmp TEGRA234_CLK_XUSB_FALCON>,
|
||||
<&bpmp TEGRA234_CLK_XUSB_CORE_SS>,
|
||||
<&bpmp TEGRA234_CLK_XUSB_SS>,
|
||||
<&bpmp TEGRA234_CLK_CLK_M>,
|
||||
<&bpmp TEGRA234_CLK_XUSB_FS>,
|
||||
<&bpmp TEGRA234_CLK_UTMIP_PLL>,
|
||||
<&bpmp TEGRA234_CLK_CLK_M>,
|
||||
<&bpmp TEGRA234_CLK_PLLE>;
|
||||
clock-names = "xusb_host", "xusb_falcon_src",
|
||||
"xusb_ss", "xusb_ss_src", "xusb_hs_src",
|
||||
"xusb_fs_src", "pll_u_480m", "clk_m",
|
||||
"pll_e";
|
||||
interconnects = <&mc TEGRA234_MEMORY_CLIENT_XUSB_HOSTR &emc>,
|
||||
<&mc TEGRA234_MEMORY_CLIENT_XUSB_HOSTW &emc>;
|
||||
interconnect-names = "dma-mem", "write";
|
||||
iommus = <&smmu_niso1 TEGRA234_SID_XUSB_HOST>;
|
||||
|
||||
power-domains = <&bpmp TEGRA234_POWER_DOMAIN_XUSBC>,
|
||||
<&bpmp TEGRA234_POWER_DOMAIN_XUSBA>;
|
||||
power-domain-names = "xusb_host", "xusb_ss";
|
||||
|
||||
nvidia,xusb-padctl = <&xusb_padctl>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fuse@3810000 {
|
||||
compatible = "nvidia,tegra234-efuse";
|
||||
reg = <0x03810000 0x10000>;
|
||||
|
|
Loading…
Reference in New Issue