blob: bc66690db2d93ac2594fb5baf8699df3c4964580 [file] [log] [blame]
Mayank Rana511f3b22016-08-02 12:00:11 -07001MSM SuperSpeed USB3.0 SoC controller
2
3Required properties :
4- compatible : should be "qcom,dwc-usb3-msm"
5 - reg: Address and length of the register set for the device
6 Required regs are:
7 "core_base" : usb controller register set
8- interrupts: IRQ lines used by this controller
9- interrupt-names : Interrupt resource entries are :
10 "hs_phy_irq" : Interrupt from HS PHY for asynchronous events in LPM.
11 "pwr_event_irq" : Interrupt to controller for asynchronous events in LPM.
12 Used for SS-USB power events.
13 - clocks: a list of phandles to the controller clocks. Use as per
14 Documentation/devicetree/bindings/clock/clock-bindings.txt
15 - clock-names: Names of the clocks in 1-1 correspondence with the "clocks"
16 property. Required clocks are "xo", "iface_clk", "core_clk", "sleep_clk"
17 and "utmi_clk".
Amit Nischal4d278212016-06-06 17:54:34 +053018- resets: reset specifier pair consists of phandle for the reset provider
19 and reset lines used by this controller.
20- reset-names: reset signal name strings sorted in the same order as the resets
21 property.
Mayank Rana511f3b22016-08-02 12:00:11 -070022
23Optional properties :
24- reg: Additional registers
25 "tcsr_base" : top-level CSR register to be written during power-on reset
26 initialize the internal MUX that controls whether to use USB3 controller
27 with primary port.
28 "ahb2phy_base" : top-level register to configure read/write wait cycle with
29 both QMP and QUSB PHY registers.
30- Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
31 below optional properties:
32 - qcom,msm_bus,name
33 - qcom,msm_bus,num_cases
34 - qcom,msm_bus,num_paths
35 - qcom,msm_bus,vectors
36- interrupt-names : Optional interrupt resource entries are:
37 "pmic_id_irq" : Interrupt from PMIC for external ID pin notification.
38 "ss_phy_irq" : Interrupt from super speed phy for wake up notification.
39 - clocks: a list of phandles to the controller clocks. Use as per
40 Documentation/devicetree/bindings/clock/clock-bindings.txt
41 - clock-names: Names of the clocks in 1-1 correspondence with the "clocks"
Vijayavardhan Vennapusa934d9cd2016-11-30 13:10:01 +053042 property. Optional clocks are "bus_aggr_clk", "noc_aggr_clk" and "cfg_ahb_clk".
Mayank Rana511f3b22016-08-02 12:00:11 -070043- qcom,charging-disabled: If present then battery charging using USB
44 is disabled.
45- vbus_dwc3-supply: phandle to the 5V VBUS supply regulator used for host mode.
46- USB3_GDSC-supply : phandle to the globally distributed switch controller
47 regulator node to the USB controller.
48- qcom,dwc-usb3-msm-tx-fifo-size: If present, represents RAM size available for
49 TX fifo allocation in bytes
50- qcom,usb-dbm : phandle for the DBM device
51- qcom,lpm-to-suspend-delay-ms: Indicates timeout (in milliseconds) to release wakeup source
52 after USB is kept into LPM.
53- qcom,ext-hub-reset-gpio: This corresponds to gpio which is used for HUB reset.
54- qcom,disable-dev-mode-pm: If present, it disables PM runtime functionality for device mode.
55- qcom,disable-host-mode-pm: If present, it disables XHCI PM runtime functionality when USB
56 host mode is used.
Vijayavardhan Vennapusa3e668f32016-01-08 15:58:35 +053057- qcom,core-clk-rate: If present, indicates clock frequency to be set for USB master clock.
Hemant Kumar8e4c2f22017-01-24 18:13:07 -080058- qcom,core-clk-rate-hs: If present, indicates min core clock frequency required to support
59 hs speed.
Mayank Rana511f3b22016-08-02 12:00:11 -070060- extcon: phandles to external connector devices. First phandle should point to
61 external connector, which provide "USB" cable events, the second
62 should point to external connector device, which provide "USB-HOST"
63 cable events. A single phandle may be specified if a single connector
64 device provides both "USB" and "USB-HOST" events.
Mayank Ranaf4918d32016-12-15 13:35:55 -080065- qcom,num-gsi-evt-buffs: If present, specifies number of GSI based hardware accelerated
66 event buffers. 1 event buffer is needed per h/w accelerated endpoint.
Vijayavardhan Vennapusae6d3f802016-12-15 13:48:39 +053067- qcom,pm-qos-latency: This represents max tolerable CPU latency in microsecs,
68 which is used as a vote by driver to get max performance in perf mode.
Jack Pham283cece2017-04-05 09:58:17 -070069- qcom,smmu-s1-bypass: If present, configure SMMU to bypass stage 1 translation.
Mayank Rana511f3b22016-08-02 12:00:11 -070070
71Sub nodes:
72- Sub node for "DWC3- USB3 controller".
73 This sub node is required property for device node. The properties of this subnode
74 are specified in dwc3.txt.
75
76Example MSM USB3.0 controller device node :
77 usb@f9200000 {
78 compatible = "qcom,dwc-usb3-msm";
79 reg = <0xf9200000 0xfc000>,
80 <0xfd4ab000 0x4>,
81 <0xf9b3e000 0x3ff>;
82 reg-names = "core_base",
83 "tcsr_base",
84 "ahb2phy_base",
85 interrupts = <0 133 0>;
86 interrupt-names = "hs_phy_irq";
87 vbus_dwc3-supply = <&pm8941_mvs1>;
88 USB3_GDSC-supply = <&gdsc_usb30>;
89 qcom,dwc-usb3-msm-dbm-eps = <4>
90 qcom,dwc_usb3-adc_tm = <&pm8941_adc_tm>;
91 qcom,dwc-usb3-msm-tx-fifo-size = <29696>;
92 qcom,usb-dbm = <&dbm_1p4>;
93 qcom,lpm-to-suspend-delay-ms = <2>;
Mayank Ranaf4918d32016-12-15 13:35:55 -080094 qcom,num-gsi-evt-buffs = <0x2>;
Vijayavardhan Vennapusae6d3f802016-12-15 13:48:39 +053095 qcom,pm-qos-latency = <2>;
Mayank Rana511f3b22016-08-02 12:00:11 -070096
97 qcom,msm_bus,name = "usb3";
98 qcom,msm_bus,num_cases = <2>;
99 qcom,msm_bus,num_paths = <1>;
100 qcom,msm_bus,vectors =
101 <61 512 0 0>,
102 <61 512 240000000 960000000>;
103
104 clocks = <&clock_gcc clk_gcc_usb30_master_clk>,
105 <&clock_gcc clk_gcc_cfg_noc_usb3_axi_clk>,
106 <&clock_gcc clk_gcc_aggre1_usb3_axi_clk>,
Vijayavardhan Vennapusa934d9cd2016-11-30 13:10:01 +0530107 <&clock_rpmcc RPM_AGGR2_NOC_CLK>,
Mayank Rana511f3b22016-08-02 12:00:11 -0700108 <&clock_gcc clk_gcc_usb30_mock_utmi_clk>,
109 <&clock_gcc clk_gcc_usb30_sleep_clk>,
110 <&clock_gcc clk_gcc_usb_phy_cfg_ahb2phy_clk>,
111 <&clock_gcc clk_cxo_dwc3_clk>;
112
Vijayavardhan Vennapusa934d9cd2016-11-30 13:10:01 +0530113 clock-names = "core_clk", "iface_clk", "bus_aggr_clk", "noc_aggr_clk",
Mayank Rana511f3b22016-08-02 12:00:11 -0700114 "utmi_clk", "sleep_clk", "cfg_ahb_clk", "xo";
115
Amit Nischal4d278212016-06-06 17:54:34 +0530116 resets = <&clock_gcc GCC_USB_30_BCR>;
117 reset-names = "core_reset";
118
Mayank Rana511f3b22016-08-02 12:00:11 -0700119 dwc3@f9200000 {
120 compatible = "synopsys,dwc3";
121 reg = <0xf9200000 0xfc000>;
122 interrupts = <0 131 0>, <0 179 0>;
123 interrupt-names = "irq", "otg_irq";
124 tx-fifo-resize;
125 };
126 };