Re: [PATCH RFT 4/4] arm64: dts: qcom: msm8994: Describe USB interrupts

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

 



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>,




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux