Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7724ba3f authored by Jack Pham's avatar Jack Pham
Browse files

ARM: dts: msm: Add USB 3.0 device entries to msm8994



Add device node definitions for the USB 3.0 controller,
the HS and SS PHYs, and the USB BAM. Define three BAM
pipes, two for IPA and one for QDSS.

These are initially disabled, and can be enabled in
the respective platform DTS files.

Change-Id: I1298094f2864ab369af1d3b279ec5d625ba17a6b
Signed-off-by: default avatarJack Pham <jackp@codeaurora.org>
parent 354e25a6
Loading
Loading
Loading
Loading
+152 −0
Original line number Diff line number Diff line
@@ -831,6 +831,158 @@
		qcom,not-wakeup; /* Needed until MPM is fully configured. */
	};

	usb3: ssusb@f9200000 {
		compatible = "qcom,dwc-usb3-msm";
		status = "disabled";
		reg = <0xf9200000 0xfc000>,
			 <0xfd4ab000 0x4>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		interrupt-parent = <&usb3>;
		interrupts = <0 1>;
		#interrupt-cells = <1>;
		interrupt-map-mask = <0x0 0xffffffff>;
		interrupt-map = <0x0 0 &intc 0 133 0
				 0x0 1 &spmi_bus 0x0 0x0 0x9 0x0>;
		interrupt-names = "hs_phy_irq", "pmic_id_irq";

		USB3_GDSC-supply = <&gdsc_usb30>;
		qcom,dwc-usb3-msm-tx-fifo-size = <29696>;
		qcom,dwc-usb3-msm-qdss-tx-fifo-size = <8192>;
		qcom,otg-capability;
		qcom,usb-dbm = <&dbm_1p5>;

		qcom,msm-bus,name = "usb3";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<61 512 0 0>,
				<61 512 240000 960000>;

		clocks = <&clock_gcc clk_gcc_usb30_master_clk>,
			 <&clock_gcc clk_gcc_sys_noc_usb3_axi_clk>,
			 <&clock_gcc clk_gcc_usb30_mock_utmi_clk>,
			 <&clock_gcc clk_gcc_usb30_sleep_clk>,
			 <&clock_gcc clk_gcc_usb2_hs_phy_sleep_clk>,
			 <&clock_rpm clk_ln_bb_clk>,
			 <&clock_rpm clk_cxo_dwc3_clk>;
		clock-names = "core_clk", "iface_clk", "utmi_clk", "sleep_clk",
				"phy_sleep_clk", "ref_clk", "xo";

		dwc3@f9200000 {
			compatible = "synopsys,dwc3";
			reg = <0xf9200000 0xfc000>;
			interrupt-parent = <&intc>;
			interrupts = <0 131 0>, <0 179 0>;
			interrupt-names = "irq", "otg_irq";
			tx-fifo-resize;
			usb-phy = <&hsphy0>, <&ssphy0>;
			core_reset_after_phy_init;
		};
	};

	hsphy0: hsphy@f92f8800 {
		compatible = "qcom,usb-hsphy";
		status = "disabled";
		reg = <0xf92f8800 0x3ff>;
		qcom,hsphy-init = <0x00D191A4>;
		vdd-supply = <&pm8994_s2_corner>;
		vdda18-supply = <&pm8994_l6>;
		vdda33-supply = <&pm8994_l24>;
		qcom,vdd-voltage-level = <1 5 7>;
		qcom,ext-vbus-id;
		qcom,vbus-valid-override;
	};

	ssphy0: ssphy@f9b38000 {
		compatible = "qcom,usb-ssphy-qmp";
		status = "disabled";
		reg = <0xf9b38000 0x16c>;
		vdd-supply = <&pm8994_s2_corner>;
		vdda18-supply = <&pm8994_l6>;
		qcom,vdd-voltage-level = <1 5 7>;
		qcom,vbus-valid-override;

		clocks = <&clock_gcc clk_gcc_usb3_phy_aux_clk>,
			 <&clock_gcc clk_gcc_usb3_phy_pipe_clk>,
			 <&clock_gcc clk_gcc_usb_phy_cfg_ahb2phy_clk>,
			 <&clock_gcc clk_gcc_usb3_phy_reset>;
		clock-names = "aux_clk", "pipe_clk", "cfg_ahb_clk", "phy_reset";
	};

	dbm_1p5: dbm@f92f8000 {
		compatible = "qcom,usb-dbm-1p5";
		reg = <0xf92f8000 0x1000>;
		qcom,reset-ep-after-lpm-resume;
	};

	qcom,usbbam@f9304000 {
		compatible = "qcom,usb-bam-msm";
		reg = <0xf9304000 0x9000>,
		      <0xf92f880c 0x4>;
		reg-names = "ssusb", "qscratch_ram1_reg";
		interrupts = <0 132 0>;
		interrupt-names = "ssusb";
		clocks = <&clock_gcc clk_gcc_usb30_master_clk>,
			 <&clock_gcc clk_gcc_sys_noc_usb3_axi_clk>;
		clock-names = "mem_clk", "mem_iface_clk";

		qcom,usb-bam-fifo-baseaddr = <0xf9200000>;
		qcom,usb-bam-num-pipes = <16>;
		qcom,ignore-core-reset-ack;
		qcom,disable-clk-gating;
		qcom,usb-bam-override-threshold = <0x4001>;
		qcom,usb-bam-max-mbps-highspeed = <400>;
		qcom,usb-bam-max-mbps-superspeed = <3600>;

		qcom,pipe0 {
			label = "ssusb-ipa-out-0";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <0>;
			qcom,dir = <0>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,src-bam-physical-address = <0xf9304000>;
			qcom,src-bam-pipe-index = <1>;
			qcom,data-fifo-size = <0x8000>;
			qcom,descriptor-fifo-size = <0x2000>;
			qcom,reset-bam-on-connect;
			qcom,pipe-connection-type = <1>;
		};
		qcom,pipe1 {
			label = "ssusb-ipa-in-0";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <0>;
			qcom,dir = <1>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,dst-bam-physical-address = <0xf9304000>;
			qcom,dst-bam-pipe-index = <0>;
			qcom,data-fifo-size = <0x8000>;
			qcom,descriptor-fifo-size = <0x2000>;
			qcom,reset-bam-on-connect;
		};
		qcom,pipe2 {
			label = "ssusb-qdss-in-0";
			qcom,usb-bam-mem-type = <1>;
			qcom,bam-type = <0>;
			qcom,dir = <1>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <1>;
			qcom,src-bam-physical-address = <0xfc37C000>;
			qcom,src-bam-pipe-index = <0>;
			qcom,dst-bam-physical-address = <0xf9304000>;
			qcom,dst-bam-pipe-index = <2>;
			qcom,data-fifo-offset = <0xf0000>;
			qcom,data-fifo-size = <0x1800>;
			qcom,descriptor-fifo-offset = <0xf4000>;
			qcom,descriptor-fifo-size = <0x1400>;
			qcom,reset-bam-on-connect;
		};
	};

	usb_otg: usb@f9a55000 {
		compatible = "qcom,hsusb-otg";
		status = "disabled";