Re: [PATCH RFT 4/4] arm64: dts: qcom: msm8994: Describe USB interrupts
From: Petr Vorel
Date: Fri Dec 06 2024 - 17:03:11 EST
Hi Konrad, all,
> From: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> Previously the interrupt lanes were not described, fix that.
> Fixes: d9be0bc95f25 ("arm64: dts: qcom: msm8994: Add USB support")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/msm8994.dtsi | 9 +++++++++
> 1 file changed, 9 insertions(+)
> diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> index 1acb0f159511996db07bc7543cf4f194a4ebd0fa..8c0b1e3a99a767e7c28bcaf3b9687501cc15cd58 100644
> --- a/arch/arm64/boot/dts/qcom/msm8994.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi
> @@ -437,6 +437,15 @@ usb3: usb@f92f8800 {
> #size-cells = <1>;
> ranges;
> + interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "pwr_event",
> + "qusb2_phy",
> + "hs_phy_irq",
> + "ss_phy_irq";
> +
Tested-by: Petr Vorel <petr.vorel@xxxxxxxxx>
Well, I tested this on msm8994 Huawei Nexus 6P. It did not break anything,
but obviously it's not enough for phone to get USB working. IMHO none of
msm899[24] has working USB.
msm8996 has usb3phy, hsusb_phy[12] labels, I suppose USB will not be working
until this is set. Below is a snippet of a downstream device tree. I might
be able to transform it to the mainline tree, but feel free to post a patch
(probably obvious for you).
Kind regards,
Petr
ssphy@f9b38000 {
phandle = <0xf1>;
linux,phandle = <0xf1>;
clock-names = "aux_clk\0pipe_clk\0cfg_ahb_clk\0phy_reset\0phy_phy_reset\0ldo_clk";
clocks = <0xaa 0xd9a36e0 0xaa 0xf279aff2 0xaa 0xd1231a0e 0xaa 0x3d559f1 0xaa 0xb1a4f885 0xaa 0x124410f7>;
qcom,no-pipe-clk-switch;
qcom,vbus-valid-override;
qcom,vdd-voltage-level = <0x00 0xf4240 0xf4240>;
vdda18-supply = <0xf4>;
vdd-supply = <0x2e>;
reg-names = "qmp_phy_base\0qmp_ahb2phy_base";
reg = <0xf9b38000 0x800 0xf9b3e000 0x3ff>;
status = "ok";
compatible = "qcom,usb-ssphy-qmp";
};
hsphy@f92f8800 {
phandle = <0xf0>;
linux,phandle = <0xf0>;
qcom,hsphy-host-init = <0xd1c9a7>;
clock-names = "phy_sleep_clk";
clocks = <0xaa 0x2e4d8839>;
qcom,vdda-force-on;
qcom,sleep-clk-reset;
qcom,set-pllbtune;
qcom,vbus-valid-override;
qcom,ext-vbus-id;
qcom,vdd-voltage-level = <0x01 0x05 0x07>;
vdda33-supply = <0xed>;
vdda18-supply = <0xf4>;
vddcx-supply = <0xf3>;
vdd-supply = <0xf2>;
qcom,hsphy-init = <0xd191a4>;
reg-names = "core\0phy_csr";
reg = <0xf92f8800 0x3ff 0xf9b3a000 0x110>;
status = "ok";
compatible = "qcom,usb-hsphy";
};
ssusb@f9200000 {
phandle = <0xea>;
linux,phandle = <0xea>;
clock-names = "core_clk\0iface_clk\0utmi_clk\0sleep_clk\0ref_clk\0xo";
clocks = <0xaa 0xb3b4e2cb 0xaa 0x94d26800 0xaa 0xa800b65a 0xaa 0xd0b65c92 0x47 0x3ab0b36d 0x47 0xf79c19f6>;
qcom,por-after-power-collapse;
qcom,power-collapse-on-cable-disconnect;
qcom,msm-bus,vectors-KBps = <0x3d 0x200 0x00 0x00 0x3d 0x200 0x3a980 0xea600>;
qcom,msm-bus,num-paths = <0x01>;
qcom,msm-bus,num-cases = <0x02>;
qcom,msm-bus,name = "usb3";
qcom,usb-dbm = <0xef>;
qcom,dwc-usb3-msm-qdss-tx-fifo-size = <0x2000>;
qcom,dwc-usb3-msm-tx-fifo-size = <0x7400>;
vbus_dwc3-supply = <0xee>;
vdda33-supply = <0xed>;
USB3_GDSC-supply = <0xec>;
interrupt-names = "hs_phy_irq\0pwr_event_irq\0pmic_id_irq";
interrupt-map = <0x00 0x00 0x01 0x00 0x85 0x00 0x00 0x01 0x01 0x00 0xb4 0x00 0x00 0x01 0xeb 0x00 0x00 0x09 0x00>;
interrupt-map-mask = <0x00 0xffffffff>;
#interrupt-cells = <0x01>;
interrupts = <0x00 0x01>;
interrupt-parent = <0xea>;
ranges;
#size-cells = <0x01>;
#address-cells = <0x01>;
reg = <0xf9200000 0xfc000 0xfd4ab000 0x04>;
status = "ok";
compatible = "qcom,dwc-usb3-msm";
dwc3@f9200000 {
maximum-speed = "high-speed";
usb-phy = <0xf0 0xf1>;
snps,usb3-u1u2-disable;
tx-fifo-resize;
interrupts = <0x00 0x83 0x00>;
interrupt-parent = <0x01>;
reg = <0xf9200000 0xfc000>;
compatible = "synopsys,dwc3";
};
};
> clocks = <&gcc GCC_USB30_MASTER_CLK>,
> <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
> <&gcc GCC_USB30_SLEEP_CLK>,