Re: [PATCH 09/10] ARM: dts: qcom: msm8974: add the HSIC USB controller

From: Konrad Dybcio

Date: Tue Aug 18 2026 - 06:18:09 EST


On 8/10/26 5:42 PM, Dmitry Baryshkov wrote:
> The MSM8974 HSIC USB host - a third Chipidea controller with a
> dedicated HSIC PHY on the special hsic_strobe/hsic_data pads - is not
> described, leaving boards with HSIC-attached hubs or modems without
> upstream support.
>
> Add the controller and PHY nodes. The PHY is a ULPI bus driver present
> inside the ulpi subnode.
>
> Assisted-by: Claude:claude-fable-5
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---

[...]

> + usb_hsic: usb@f9a00000 {
> + compatible = "qcom,ci-hdrc";

I see the driver determines whether the controller is a HSIC one by
querying the compatible string of the PHY.. fancy.. would it be
desirable to have a separate compatible for the controller itself, or
is it more or less the same vs a non-hsic one?

> + reg = <0xf9a00000 0x200>,
> + <0xf9a00200 0x200>;
> + interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
> + assigned-clocks = <&gcc GCC_USB_HSIC_SYSTEM_CLK>,
> + <&gcc GCC_USB_HSIC_CLK>,
> + <&gcc GCC_USB_HSIC_IO_CAL_CLK>;
> + assigned-clock-rates = <75000000>,

Do you have any docs that would detail whether we can run with the
slower, 60 MHz clock here?

> + <480000000>,
> + <9600000>;
> + clocks = <&gcc GCC_USB_HSIC_AHB_CLK>,
> + <&gcc GCC_USB_HSIC_SYSTEM_CLK>;
> + clock-names = "iface", "core";
> + resets = <&gcc GCC_USB_HS_HSIC_BCR>;
> + reset-names = "core";
> + power-domains = <&gcc USB_HS_HSIC_GDSC>;
> + phys = <&usb_hsic_phy>;
> + phy-names = "usb-phy";
> + phy_type = "ulpi";
> + dr_mode = "host";
> + ahb-burst-config = <0>;

need required-opps

Konrad