[linux-sunxi] [PATCH 1/7] arm64: dts: allwinner: H6/A64: properly connect USB PHY to port 0

Chen-Yu Tsai wens at csie.org
Wed Jan 6 10:56:35 EST 2021


Hi,

On Wed, Jan 6, 2021 at 11:05 PM Andre Przywara <andre.przywara at arm.com> wrote:
>
> In recent Allwinner SoCs the first USB host controller (HCI0) shares
> the first PHY with the MUSB controller. Probably to make this sharing
> work, we were avoiding to declare this in the DT. This has two
> shortcomings:
> - U-Boot (which uses the same .dts) cannot use this port in host mode
>   without a PHY linked, so we were loosing one USB port there.
> - It requires the MUSB driver to be enabled and loaded, although we
>   don't actually use it.
>
> To avoid those issues, let's add this PHY link to the A64 and H6 .dtsi
> files. After all PHY port 0 *is* connected to HCI0, so we should describe
> it as this. Remove the part from the boards which were already doing
> that.
>
> This makes it work in U-Boot, also improves compatiblity when no MUSB
> driver is loaded (for instance in distribution installers).
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 4 ----
>  arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi         | 4 ++++
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi          | 4 ++++

It would be better if the H6 parts were separated out.

Please also add a fixes tag, which helps with backporting.

>  3 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
> index 896f34fd9fc3..d07cf05549c3 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
> @@ -126,8 +126,6 @@
>  };
>
>  &ehci0 {
> -       phys = <&usbphy 0>;
> -       phy-names = "usb";
>         status = "okay";
>  };
>
> @@ -177,8 +175,6 @@
>  };
>
>  &ohci0 {
> -       phys = <&usbphy 0>;
> -       phy-names = "usb";
>         status = "okay";
>  };
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> index 51cc30e84e26..19e9b8ca8432 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> @@ -593,6 +593,8 @@
>                                  <&ccu CLK_USB_OHCI0>;
>                         resets = <&ccu RST_BUS_OHCI0>,
>                                  <&ccu RST_BUS_EHCI0>;
> +                       phys = <&usbphy 0>;
> +                       phy-names = "usb";
>                         status = "disabled";
>                 };
>
> @@ -603,6 +605,8 @@
>                         clocks = <&ccu CLK_BUS_OHCI0>,
>                                  <&ccu CLK_USB_OHCI0>;
>                         resets = <&ccu RST_BUS_OHCI0>;
> +                       phys = <&usbphy 0>;
> +                       phy-names = "usb";
>                         status = "disabled";
>                 };
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> index 8a62a9fbe347..f593cfeaecc9 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> @@ -680,6 +680,8 @@
>                                  <&ccu CLK_USB_OHCI0>;
>                         resets = <&ccu RST_BUS_OHCI0>,
>                                  <&ccu RST_BUS_EHCI0>;
> +                       phys = <&usb2phy 0>;
> +                       phy-names = "usb";
>                         status = "disabled";
>                 };
>
> @@ -690,6 +692,8 @@
>                         clocks = <&ccu CLK_BUS_OHCI0>,
>                                  <&ccu CLK_USB_OHCI0>;
>                         resets = <&ccu RST_BUS_OHCI0>;
> +                       phys = <&usb2phy 0>;
> +                       phy-names = "usb";
>                         status = "disabled";
>                 };
>
> --
> 2.17.5
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/msgid/linux-sunxi/20210106150525.15403-2-andre.przywara%40arm.com.



More information about the linux-arm-kernel mailing list