Re: [PATCH] arm64: dts: ti: k3-j784s4-j742s2-evm: Add overlay to enable USB0 Type-A

From: Siddharth Vadapalli
Date: Sun Feb 02 2025 - 04:42:46 EST


On Fri, Jan 24, 2025 at 06:11:49PM +0530, Siddharth Vadapalli wrote:

This patch has been merged with the following series due to Makefile
dependencies:
https://lore.kernel.org/r/20250202093636.2699064-1-s-vadapalli@xxxxxx/
and therefore has been superseded by its equivalent in the above series.

Regards,
Siddharth.

> The USB0 instance of the USB controller on both the J742S2 EVM and the
> J784S4 EVM supports a single USB interface at a time among the following:
> 1. USB3.1 Gen1 Type C interface
> 2. Two USB2.0 Type A interfaces via an on-board USB Hub.
>
> By default, the USB3.1 Gen1 Type C interface is supported on both of the
> EVMs. Enable the USB2.0 Type A interface by configuring the USB2.0_MUX_SEL
> mux. Additionally, set the Dual-Role Mode to Host since a Type-A interface
> is only associated with the Host Mode of operation.
>
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@xxxxxx>
> ---
>
> Hello,
>
> This patch is based on linux-next tagged next-20250124.
> Since Linux boot is broken on all TI K3 SoCs including
> J742S2 and J784S4 due to:
> https://github.com/torvalds/linux/commit/ba5095ebbc7a
> as indicated at:
> https://lore.kernel.org/r/b2413460-ec8b-4c77-99b8-4c32b262439a@xxxxxx/
> this patch was tested on J784S4-EVM by reverting the aforementioned commit.
> Logs validating the USB2.0 Type-A Connector on J784S4-EVM using a USB Pen
> Drive:
> https://gist.github.com/Siddharth-Vadapalli-at-TI/663d703912ae574e39d7a78421e404c8
>
> Regards,
> Siddharth.
>
> arch/arm64/boot/dts/ti/Makefile | 7 +++++
> .../ti/k3-j784s4-j742s2-evm-usb0-type-a.dtso | 29 +++++++++++++++++++
> 2 files changed, 36 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-usb0-type-a.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 8a4bdf87e2d4..95b8fd0981d7 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -127,6 +127,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm-pcie0-pcie1-ep.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm-quad-port-eth-exp1.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm-usxgmii-exp1-exp2.dtbo
> +dtb-$(CONFIG_ARCH_K3) += k3-j784s4-j742s2-evm-usb0-type-a.dtbo
>
> # Boards with J742S2 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-j742s2-evm.dtb
> @@ -209,10 +210,14 @@ k3-j721e-sk-csi2-dual-imx219-dtbs := k3-j721e-sk.dtb \
> k3-j721e-sk-csi2-dual-imx219.dtbo
> k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
> k3-j721s2-evm-pcie1-ep.dtbo
> +k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
> + k3-j784s4-j742s2-evm-usb0-type-a.dtbo
> k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtbo
> k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-quad-port-eth-exp1.dtbo
> +k3-j784s4-evm-usb0-type-a-dtbs := k3-j784s4-evm.dtb \
> + k3-j784s4-j742s2-evm-usb0-type-a.dtbo
> k3-j784s4-evm-usxgmii-exp1-exp2-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-usxgmii-exp1-exp2.dtbo
> dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> @@ -243,8 +248,10 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> k3-j721e-evm-pcie1-ep.dtb \
> k3-j721e-sk-csi2-dual-imx219.dtb \
> k3-j721s2-evm-pcie1-ep.dtb \
> + k3-j742s2-evm-usb0-type-a.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtb \
> k3-j784s4-evm-quad-port-eth-exp1.dtb \
> + k3-j784s4-evm-usb0-type-a.dtb \
> k3-j784s4-evm-usxgmii-exp1-exp2.dtb
>
> # Enable support for device-tree overlays
> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-usb0-type-a.dtso b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-usb0-type-a.dtso
> new file mode 100644
> index 000000000000..ba15d72d86d6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-evm-usb0-type-a.dtso
> @@ -0,0 +1,29 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/**
> + * DT Overlay for enabling USB0 instance of USB on J784S4 and J742S2 EVMs for
> + * Host Mode of operation with the Type-A Connector.
> + *
> + * J784S4 EVM Product Link: https://www.ti.com/tool/J784S4XEVM
> + * J742S2 EVM Product Link: https://www.ti.com/tool/J742S2XH01EVM
> + *
> + * Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&exp2 {
> + p12-hog {
> + /* P12 - USB2.0_MUX_SEL */
> + gpio-hog;
> + gpios = <12 GPIO_ACTIVE_HIGH>;
> + output-high;
> + line-name = "USB2.0_MUX_SEL";
> + };
> +};
> +
> +&usb0 {
> + dr_mode = "host";
> +};
> --
> 2.43.0
>