[PATCH] arm64: tegra: Enable SMMU support for USB on Tegra194
Jon Hunter
jonathanh at nvidia.com
Fri Jul 9 07:47:10 PDT 2021
On 08/07/2021 11:39, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> As of commit c7289b1c8a4e ("arm64: tegra: Enable SMMU support on
> Tegra194"), SMMU support is enabled system-wide on Tegra194. However,
> there was a bit of overlap between the SMMU enablement and the USB
> support addition, so the USB device tree nodes are missing the iommus
> and interconnects properties. This in turn leads to SMMU faults for
> these devices, since by default the ARM SMMU will fault.
>
> Add the iommus and interconnects properties to the XUSB and XUDC device
> tree nodes to restore their functionality.
>
> Fixes: c7289b1c8a4e ("arm64: tegra: Enable SMMU support on Tegra194")
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> arch/arm64/boot/dts/nvidia/tegra194.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> index 07e61f084123..7cc6dc19ff9f 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
> @@ -952,6 +952,10 @@ usb at 3550000 {
> <&bpmp TEGRA194_CLK_XUSB_SS>,
> <&bpmp TEGRA194_CLK_XUSB_FS>;
> clock-names = "dev", "ss", "ss_src", "fs_src";
> + interconnects = <&mc TEGRA194_MEMORY_CLIENT_XUSB_DEVR &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_XUSB_DEVW &emc>;
> + interconnect-names = "dma-mem", "write";
> + iommus = <&smmu TEGRA194_SID_XUSB_DEV>;
> power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBB>,
> <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>;
> power-domain-names = "dev", "ss";
> @@ -981,6 +985,10 @@ usb at 3610000 {
> "xusb_ss", "xusb_ss_src", "xusb_hs_src",
> "xusb_fs_src", "pll_u_480m", "clk_m",
> "pll_e";
> + interconnects = <&mc TEGRA194_MEMORY_CLIENT_XUSB_HOSTR &emc>,
> + <&mc TEGRA194_MEMORY_CLIENT_XUSB_HOSTW &emc>;
> + interconnect-names = "dma-mem", "write";
> + iommus = <&smmu TEGRA194_SID_XUSB_HOST>;
>
> power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBC>,
> <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>;
>
Reviewed-by: Jon Hunter <jonathanh at nvidia.com>
Thanks!
Jon
--
nvpublic
More information about the linux-arm-kernel
mailing list