[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zsz+YjOyGoReEqUm@lizhi-Precision-Tower-5810>
Date: Mon, 26 Aug 2024 18:14:58 -0400
From: Frank Li <Frank.li@....com>
To: Francesco Dolcini <francesco@...cini.it>
Cc: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Emanuele Ghidoli <emanuele.ghidoli@...adex.com>,
devicetree@...r.kernel.org, imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Francesco Dolcini <francesco.dolcini@...adex.com>
Subject: Re: [PATCH v1 01/10] arm64: dts: colibri-imx8x: Add usb support
On Mon, Aug 26, 2024 at 11:59:13PM +0200, Francesco Dolcini wrote:
> From: Emanuele Ghidoli <emanuele.ghidoli@...adex.com>
>
> Add USB HOST and OTG support to Colibri-iMX8X carrier boards.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@...adex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
> ---
> .../dts/freescale/imx8x-colibri-aster.dtsi | 26 +++++++++++++
> .../dts/freescale/imx8x-colibri-eval-v3.dtsi | 26 +++++++++++++
> .../dts/freescale/imx8x-colibri-iris.dtsi | 26 +++++++++++++
> .../boot/dts/freescale/imx8x-colibri.dtsi | 37 +++++++++++++++++--
> 4 files changed, 111 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri-aster.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri-aster.dtsi
> index bc659066e19a..c02dfdd75b60 100644
> --- a/arch/arm64/boot/dts/freescale/imx8x-colibri-aster.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8x-colibri-aster.dtsi
> @@ -7,6 +7,10 @@ &colibri_gpio_keys {
> status = "okay";
> };
>
> +&extcon_usbc_det {
> + status = "okay";
> +};
> +
> /* Colibri Ethernet */
> &fec1 {
> status = "okay";
> @@ -38,6 +42,28 @@ &lpuart3 {
> status = "okay";
> };
>
> +/* USB PHY for usbotg3 */
> +&usb3_phy {
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + status = "okay";
> +};
> +
> +&usbotg3 {
> + status = "okay";
> +};
> +
> +&usbotg3_cdns3 {
> + status = "okay";
> +};
> +
> +/* USB PHY for usbotg1 */
> +&usbphy1 {
> + status = "okay";
> +};
> +
> /* Colibri SDCard */
> &usdhc2 {
> status = "okay";
> diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri-eval-v3.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri-eval-v3.dtsi
> index 9af769ab8ceb..91de84772e1c 100644
> --- a/arch/arm64/boot/dts/freescale/imx8x-colibri-eval-v3.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8x-colibri-eval-v3.dtsi
> @@ -23,6 +23,10 @@ &colibri_gpio_keys {
> status = "okay";
> };
>
> +&extcon_usbc_det {
> + status = "okay";
> +};
> +
> &i2c1 {
> status = "okay";
>
> @@ -90,6 +94,28 @@ &fec1 {
> status = "okay";
> };
>
> +/* USB PHY for usbotg3 */
> +&usb3_phy {
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + status = "okay";
> +};
> +
> +&usbotg3 {
> + status = "okay";
> +};
> +
> +&usbotg3_cdns3 {
> + status = "okay";
> +};
> +
> +/* USB PHY for usbotg1 */
> +&usbphy1 {
> + status = "okay";
> +};
> +
> /* Colibri SD/MMC Card */
> &usdhc2 {
> status = "okay";
> diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri-iris.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri-iris.dtsi
> index 8d06925a8ebd..a6b013cc6929 100644
> --- a/arch/arm64/boot/dts/freescale/imx8x-colibri-iris.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8x-colibri-iris.dtsi
> @@ -21,6 +21,10 @@ &colibri_gpio_keys {
> status = "okay";
> };
>
> +&extcon_usbc_det {
> + status = "okay";
> +};
> +
> /* Colibri FastEthernet */
> &fec1 {
> status = "okay";
> @@ -108,6 +112,28 @@ &lsio_pwm2 {
> status = "okay";
> };
>
> +/* USB PHY for usbotg3 */
> +&usb3_phy {
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + status = "okay";
> +};
> +
> +&usbotg3 {
> + status = "okay";
> +};
> +
> +&usbotg3_cdns3 {
> + status = "okay";
> +};
> +
> +/* USB PHY for usbotg1 */
> +&usbphy1 {
> + status = "okay";
> +};
> +
> /* Colibri SD/MMC Card */
> &usdhc2 {
> status = "okay";
> diff --git a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
> index 49d105eb4769..1199e311d6f9 100644
> --- a/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8x-colibri.dtsi
> @@ -23,12 +23,31 @@ key-wakeup {
> };
> };
>
> + extcon_usbc_det: usbc-det {
> + compatible = "linux,extcon-usb-gpio";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usbc_det>;
> + id-gpio = <&lsio_gpio5 9 GPIO_ACTIVE_HIGH>;
Not sure if I missed something, CHECK_DTBS report below warning.
arch/arm64/boot/dts/freescale/imx8qxp-colibri-iris.dtb: usbc-det: 'id-gpio' does not match any of the regexes: 'pinctrl-[0-9]+'
from schema $id: http://devicetree.org/schemas/extcon/linux,extcon-usb-gpio.yaml
> + status = "disabled";
> + };
> +
> reg_module_3v3: regulator-module-3v3 {
> compatible = "regulator-fixed";
> regulator-name = "+V3.3";
> regulator-min-microvolt = <3300000>;
> regulator-max-microvolt = <3300000>;
> };
> +
> + reg_usbh_vbus: regulator-usbh-vbus {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_usbh1_reg>;
> + gpio = <&lsio_gpio4 3 GPIO_ACTIVE_LOW>;
> + regulator-always-on;
Needn't regulator-always-on, because reg_usbh_vbus referece by other node.
> + regulator-max-microvolt = <5000000>;
> + regulator-min-microvolt = <5000000>;
> + regulator-name = "usbh_vbus";
> + };
> };
>
> /* TODO Analogue Inputs */
> @@ -329,6 +348,20 @@ &lsio_pwm2 {
>
> /* TODO On-module i2s / Audio */
>
> +&usbotg1 {
> + adp-disable;
> + disable-over-current;
> + extcon = <&extcon_usbc_det &extcon_usbc_det>;
> + hnp-disable;
> + power-active-high;
> + srp-disable;
> + vbus-supply = <®_usbh_vbus>;
> +};
> +
> +&usbotg3_cdns3 {
> + dr_mode = "host";
> +};
> +
> /* On-module eMMC */
> &usdhc1 {
> bus-width = <8>;
> @@ -356,10 +389,6 @@ &usdhc2 {
> no-1-8-v;
> };
>
> -/* TODO USB Client/Host */
> -
> -/* TODO USB Host */
> -
> /* TODO VPU Encoder/Decoder */
>
> &iomuxc {
> --
> 2.39.2
>
Powered by blists - more mailing lists