Re: [PATCH v1 01/10] arm64: dts: colibri-imx8x: Add usb support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 26, 2024 at 11:59:13PM +0200, Francesco Dolcini wrote:
> From: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
>
> Add USB HOST and OTG support to Colibri-iMX8X carrier boards.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@xxxxxxxxxxx>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
> ---
>  .../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 = <&reg_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
>




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux