[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240924072349.a446hzxw2lfpg34i@pengutronix.de>
Date: Tue, 24 Sep 2024 09:23:49 +0200
From: Marco Felsch <m.felsch@...gutronix.de>
To: Michal Vokáč <michal.vokac@...ft.com>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Shawn Guo <shawnguo@...nel.org>, Petr Benes <petr.benes@...ft.com>,
devicetree@...r.kernel.org, linux-usb@...r.kernel.org,
Michael Walle <mwalle@...nel.org>, imx@...ts.linux.dev,
Alexander Stein <alexander.stein@...tq-group.com>,
Sascha Hauer <s.hauer@...gutronix.de>,
Mathieu Othacehe <m.othacehe@...il.com>,
Hugo Villeneuve <hvilleneuve@...onoff.com>,
linux-kernel@...r.kernel.org,
Hiago De Franco <hiago.franco@...adex.com>,
Herburger <gregor.herburger@...tq-group.com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Joao Paulo Goncalves <joao.goncalves@...adex.com>,
Fabio Estevam <festevam@...il.com>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v3 4/4] arm64: dts: imx8mp-iota2: Enable the USB Type-C
port
On 24-09-23, Michal Vokáč wrote:
> From: Petr Benes <petr.benes@...ft.com>
>
> Enable the USB Type-C port with the Diodes PI5USB30213A port controller.
> The port supports dual role data but can operate only in source power role
> and PD is not supported.
>
> Signed-off-by: Petr Benes <petr.benes@...ft.com>
> Signed-off-by: Michal Vokáč <michal.vokac@...ft.com>
> ---
> v3:
> - none
> v2:
> - Use typec instead of tcpc.
> - Drop unneeded status.
>
> .../boot/dts/freescale/imx8mp-iota2-lumpy.dts | 94 +++++++++++++++++++
> 1 file changed, 94 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-iota2-lumpy.dts b/arch/arm64/boot/dts/freescale/imx8mp-iota2-lumpy.dts
> index 120e6b87a000..bfed410339a4 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mp-iota2-lumpy.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-iota2-lumpy.dts
> @@ -32,6 +32,17 @@ button-reset {
> };
> };
>
> + reg_typec: regulator-typec {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
Can you please put the enable-active-high and gpio property below the
regualtor-* properties?
> + pinctrl-0 = <&pinctrl_usbc_vbus>;
> + pinctrl-names = "default";
> + regulator-max-microvolt = <5000000>;
> + regulator-min-microvolt = <5000000>;
> + regulator-name = "typec";
> + };
> +
> reg_usb_host: regulator-usb-host {
> compatible = "regulator-fixed";
> enable-active-high;
> @@ -218,6 +229,46 @@ &i2c2 {
> pinctrl-names = "default";
> status = "okay";
>
> + typec@d {
> + compatible = "diodes,pi5usb30213a";
> + reg = <0xd>;
> + interrupts-extended = <&gpio1 5 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-0 = <&pinctrl_typec>;
> + pinctrl-names = "default";
> +
> + connector {
> + compatible = "usb-c-connector";
> + data-role = "dual";
> + label = "USB-C";
> + pd-disable;
> + power-role = "source";
> + self-powered;
> + typec-power-opmode = "default";
> + vbus-supply = <®_typec>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + usb_con_hs: endpoint {
> + remote-endpoint = <&typec_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + usb_con_ss: endpoint {
> + remote-endpoint = <&typec_ss>;
> + };
> + };
> + };
> + };
> + };
> +
> rtc: rtc@68 {
> compatible = "dallas,ds1341";
> reg = <0x68>;
> @@ -309,6 +360,12 @@ MX8MP_IOMUXC_SAI3_MCLK__PWM4_OUT 0x102
> >;
> };
>
> + pinctrl_typec: typecgrp {
> + fsl,pins = <
> + MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x1c0
> + >;
> + };
> +
> pinctrl_uart2: uart2grp {
> fsl,pins = <
> MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x0
> @@ -322,6 +379,11 @@ MX8MP_IOMUXC_GPIO1_IO14__USB2_OTG_PWR 0x0
> >;
> };
>
> + pinctrl_usbc_vbus: usbcgrp {
> + fsl,pins = <MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x0
> + >;
> + };
> +
> pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
> fsl,pins = <
> MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194
> @@ -389,15 +451,47 @@ &uart2 {
> status = "okay";
> };
>
> +&usb3_0 {
> + status = "okay";
> +};
> +
> &usb3_1 {
> status = "okay";
> };
>
> +&usb3_phy0 {
> + status = "okay";
> +};
> +
> &usb3_phy1 {
> vbus-supply = <®_usb_host>;
> status = "okay";
> };
>
> +&usb_dwc3_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + dr_mode = "otg";
> + usb-role-switch;
> + status = "okay";
> +
ports {
#address-cells = <1>;
#size-cells = <0>;
> + port@0 {
> + reg = <0>;
> +
> + typec_hs: endpoint {
> + remote-endpoint = <&usb_con_hs>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> +
> + typec_ss: endpoint {
> + remote-endpoint = <&usb_con_ss>;
> + };
> + };
}
like you did for the connector node.
> +};
> +
> &usb_dwc3_1 {
> dr_mode = "host";
> status = "okay";
> --
> 2.43.0
>
>
>
Powered by blists - more mailing lists