From: Shawn Guo <shawnguo@kernel.org>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
patchwork-lst@pengutronix.de
Subject: Re: [PATCH] arm64: dts: imx8mp-debix: add USB host support
Date: Tue, 14 Mar 2023 15:46:02 +0800 [thread overview]
Message-ID: <20230314074602.GD143566@dragon> (raw)
In-Reply-To: <20230228170247.910655-1-l.stach@pengutronix.de>
On Tue, Feb 28, 2023 at 06:02:47PM +0100, Lucas Stach wrote:
> This adds support for the 4 USB3 host ports on the board, which are
> connected to the i.MX8MP SoC via a Realtek RTS5411 hub.
>
> As the schematic for the board is not available, I could not validate
> that this really reflects the reality, but I modeled things after the
> hacked in usage of the GPIOs in the downstream kernel.
>
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
> .../dts/freescale/imx8mp-debix-model-a.dts | 57 +++++++++++++++++++
> 1 file changed, 57 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts b/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> index 2876d18f2a38..94dc089e4550 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> @@ -43,6 +43,17 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
> enable-active-high;
> };
> +
> + reg_usb_hub: regulator-usb-hub {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_reg_usb_hub>;
> + regulator-name = "USB_HUB";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> };
>
> &A53_0 {
> @@ -254,6 +265,39 @@ &uart4 {
> status = "okay";
> };
>
> +&usb3_phy1 {
> + status = "okay";
> +};
> +
> +&usb3_1 {
> + status = "okay";
> +};
> +
> +&usb_dwc3_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usb1>;
> + dr_mode = "host";
> + status = "okay";
I had to fix it up by adding
#address-cells = <1>;
#size-cells = <0>;
Otherwise, DTC emits reg_format warnings.
/soc@0/usb@32f10108/usb@38200000/hub@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
/soc@0/usb@32f10108/usb@38200000/hub@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Shawn
> +
> + /* 2.x hub on port 1 */
> + usb_hub_2_x: hub@1 {
> + compatible = "usbbda,5411";
> + reg = <1>;
> + reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + vdd-supply = <®_usb_hub>;
> + peer-hub = <&usb_hub_3_x>;
> + };
> +
> + /* 3.x hub on port 2 */
> + usb_hub_3_x: hub@2 {
> + compatible = "usbbda,411";
> + reg = <2>;
> + reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + vdd-supply = <®_usb_hub>;
> + peer-hub = <&usb_hub_2_x>;
> + };
> +};
> +
> /* SD Card */
> &usdhc2 {
> pinctrl-names = "default", "state_100mhz", "state_200mhz";
> @@ -384,6 +428,12 @@ MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41
> >;
> };
>
> + pinctrl_reg_usb_hub: regusbhubgrp {
> + fsl,pins = <
> + MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x19
> + >;
> + };
> +
> pinctrl_rtc_int: rtcintgrp {
> fsl,pins = <
> MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140
> @@ -411,6 +461,13 @@ MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49
> >;
> };
>
> + pinctrl_usb1: usb1grp {
> + fsl,pins = <
> + MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x10
> + MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x19
> + >;
> + };
> +
> pinctrl_usdhc2: usdhc2grp {
> fsl,pins = <
> MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190
> --
> 2.30.2
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Shawn Guo <shawnguo@kernel.org>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
patchwork-lst@pengutronix.de
Subject: Re: [PATCH] arm64: dts: imx8mp-debix: add USB host support
Date: Tue, 14 Mar 2023 15:46:02 +0800 [thread overview]
Message-ID: <20230314074602.GD143566@dragon> (raw)
In-Reply-To: <20230228170247.910655-1-l.stach@pengutronix.de>
On Tue, Feb 28, 2023 at 06:02:47PM +0100, Lucas Stach wrote:
> This adds support for the 4 USB3 host ports on the board, which are
> connected to the i.MX8MP SoC via a Realtek RTS5411 hub.
>
> As the schematic for the board is not available, I could not validate
> that this really reflects the reality, but I modeled things after the
> hacked in usage of the GPIOs in the downstream kernel.
>
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
> .../dts/freescale/imx8mp-debix-model-a.dts | 57 +++++++++++++++++++
> 1 file changed, 57 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts b/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> index 2876d18f2a38..94dc089e4550 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
> @@ -43,6 +43,17 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
> gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
> enable-active-high;
> };
> +
> + reg_usb_hub: regulator-usb-hub {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_reg_usb_hub>;
> + regulator-name = "USB_HUB";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + gpio = <&gpio4 26 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> };
>
> &A53_0 {
> @@ -254,6 +265,39 @@ &uart4 {
> status = "okay";
> };
>
> +&usb3_phy1 {
> + status = "okay";
> +};
> +
> +&usb3_1 {
> + status = "okay";
> +};
> +
> +&usb_dwc3_1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usb1>;
> + dr_mode = "host";
> + status = "okay";
I had to fix it up by adding
#address-cells = <1>;
#size-cells = <0>;
Otherwise, DTC emits reg_format warnings.
/soc@0/usb@32f10108/usb@38200000/hub@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
/soc@0/usb@32f10108/usb@38200000/hub@2:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Shawn
> +
> + /* 2.x hub on port 1 */
> + usb_hub_2_x: hub@1 {
> + compatible = "usbbda,5411";
> + reg = <1>;
> + reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + vdd-supply = <®_usb_hub>;
> + peer-hub = <&usb_hub_3_x>;
> + };
> +
> + /* 3.x hub on port 2 */
> + usb_hub_3_x: hub@2 {
> + compatible = "usbbda,411";
> + reg = <2>;
> + reset-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
> + vdd-supply = <®_usb_hub>;
> + peer-hub = <&usb_hub_2_x>;
> + };
> +};
> +
> /* SD Card */
> &usdhc2 {
> pinctrl-names = "default", "state_100mhz", "state_200mhz";
> @@ -384,6 +428,12 @@ MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41
> >;
> };
>
> + pinctrl_reg_usb_hub: regusbhubgrp {
> + fsl,pins = <
> + MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x19
> + >;
> + };
> +
> pinctrl_rtc_int: rtcintgrp {
> fsl,pins = <
> MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140
> @@ -411,6 +461,13 @@ MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49
> >;
> };
>
> + pinctrl_usb1: usb1grp {
> + fsl,pins = <
> + MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x10
> + MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x19
> + >;
> + };
> +
> pinctrl_usdhc2: usdhc2grp {
> fsl,pins = <
> MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190
> --
> 2.30.2
>
next prev parent reply other threads:[~2023-03-14 7:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-28 17:02 [PATCH] arm64: dts: imx8mp-debix: add USB host support Lucas Stach
2023-02-28 17:02 ` Lucas Stach
2023-03-14 3:23 ` Shawn Guo
2023-03-14 3:23 ` Shawn Guo
2023-03-14 7:46 ` Shawn Guo [this message]
2023-03-14 7:46 ` Shawn Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230314074602.GD143566@dragon \
--to=shawnguo@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=l.stach@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=patchwork-lst@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.