diff options
author | Sriharsha Allenki <sallenki@qti.qualcomm.com> | 2019-05-22 11:01:37 +0530 |
---|---|---|
committer | Sriharsha Allenki <sallenki@qti.qualcomm.com> | 2019-06-28 11:37:00 +0530 |
commit | 1e83d54771197c5d301b8aa761edda3b55802f66 (patch) | |
tree | dd2eb74fc218e62213e4deecab5755cc1d24e223 /qcom/bengal-usb.dtsi | |
parent | e7eb899a11d2f7b24631ee28168000a70b07428c (diff) | |
download | devicetree-1e83d54771197c5d301b8aa761edda3b55802f66.tar.gz |
ARM: dts: msm: Add USB nodes for Bengal
Add the USB core and glue driver related dt nodes
to support USB on Bengal.
Also add the support for USB on RUMI.
Change-Id: Iae4bf8f9a6055e3bc79be8e3586cd5fff05cb56c
Diffstat (limited to 'qcom/bengal-usb.dtsi')
-rw-r--r-- | qcom/bengal-usb.dtsi | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/qcom/bengal-usb.dtsi b/qcom/bengal-usb.dtsi new file mode 100644 index 00000000..e887bcf6 --- /dev/null +++ b/qcom/bengal-usb.dtsi @@ -0,0 +1,119 @@ +#include <dt-bindings/clock/qcom,gcc-bengal.h> +#include <dt-bindings/msm/msm-bus-ids.h> + +&soc { + /* Primary USB port related controller */ + usb0: ssusb@4e00000 { + compatible = "qcom,dwc-usb3-msm"; + reg = <0x4e00000 0x100000>; + reg-names = "core_base"; + + #address-cells = <1>; + #size-cells = <1>; + ranges; + + interrupts = <0 302 0>, <0 422 0>, <0 260 0>; + interrupt-names = "pwr_event_irq", "ss_phy_irq", "hs_phy_irq"; + + clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>, + <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB3_PRIM_CLKREF_CLK>, + <&gcc GCC_USB30_PRIM_SLEEP_CLK>, + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; + clock-names = "core_clk", "iface_clk", "bus_aggr_clk", + "xo", "sleep_clk", "utmi_clk"; + + resets = <&gcc GCC_USB30_PRIM_BCR>; + reset-names = "core_reset"; + + qcom,core-clk-rate = <133333333>; + qcom,core-clk-rate-hs = <66666667>; + qcom,num-gsi-evt-buffs = <0x3>; + qcom,gsi-reg-offset = + <0x0fc /* GSI_GENERAL_CFG */ + 0x110 /* GSI_DBL_ADDR_L */ + 0x120 /* GSI_DBL_ADDR_H */ + 0x130 /* GSI_RING_BASE_ADDR_L */ + 0x144 /* GSI_RING_BASE_ADDR_H */ + 0x1a4>; /* GSI_IF_STS */ + qcom,dwc-usb3-msm-tx-fifo-size = <21288>; + + qcom,msm-bus,name = "usb0"; + qcom,msm-bus,num-cases = <4>; + qcom,msm-bus,num-paths = <3>; + qcom,msm-bus,vectors-KBps = + /* suspend vote */ + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 0 0>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 0>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 0>, + + /* nominal vote */ + <MSM_BUS_MASTER_USB3 + MSM_BUS_SLAVE_EBI_CH0 240000 700000>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, + + /* svs vote */ + <MSM_BUS_MASTER_USB3 + MSM_BUS_SLAVE_EBI_CH0 240000 700000>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, + + /* min vote */ + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1 1>, + <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 1 1>, + <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 1 1>; + + dwc3@4e00000 { + compatible = "snps,dwc3"; + reg = <0x4e00000 0xcd00>; + interrupt-parent = <&intc>; + interrupts = <0 255 0>; + tx-fifo-resize; + linux,sysdev_is_parent; + snps,disable-clk-gating; + snps,dis_u2_susphy_quirk; + snps,dis_enblslpm_quirk; + snps,has-lpm-erratum; + snps,hird-threshold = /bits/ 8 <0x10>; + snps,usb3_lpm_capable; + usb-core-id = <0>; + maximum-speed = "super-speed"; + dr_mode = "otg"; + }; + + qcom,usbbam@0x04f04000 { + compatible = "qcom,usb-bam-msm"; + reg = <0x04f04000 0x17000>; + interrupts = <0 253 0>; + + qcom,usb-bam-fifo-baseaddr = <0xc121000>; + qcom,usb-bam-num-pipes = <4>; + 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,reset-bam-on-connect; + + qcom,pipe0 { + label = "ssusb-qdss-in-0"; + qcom,usb-bam-mem-type = <2>; + qcom,dir = <1>; + qcom,pipe-num = <0>; + qcom,peer-bam = <0>; + qcom,peer-bam-physical-address = <0x08064000>; + qcom,src-bam-pipe-index = <0>; + qcom,dst-bam-pipe-index = <0>; + qcom,data-fifo-offset = <0x0>; + qcom,data-fifo-size = <0x1800>; + qcom,descriptor-fifo-offset = <0x1800>; + qcom,descriptor-fifo-size = <0x800>; + }; + }; + }; + + usb_nop_phy: usb_nop_phy { + compatible = "usb-nop-xceiv"; + }; +}; |