xref: /linux/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml (revision fbd3b6fe36242562bcd70464cfa8ee0fb26882d6)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/phy/qcom,usb-snps-femto-v2.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Synopsys Femto High-Speed USB PHY V2
8
9maintainers:
10  - Wesley Cheng <quic_wcheng@quicinc.com>
11
12description: |
13  Qualcomm High-Speed USB PHY
14
15properties:
16  compatible:
17    oneOf:
18      - enum:
19          - qcom,sc8180x-usb-hs-phy
20          - qcom,usb-snps-femto-v2-phy
21      - items:
22          - enum:
23              - qcom,sa8775p-usb-hs-phy
24              - qcom,sc8280xp-usb-hs-phy
25          - const: qcom,usb-snps-hs-5nm-phy
26      - items:
27          - enum:
28              - qcom,qdu1000-usb-hs-phy
29              - qcom,sc7280-usb-hs-phy
30              - qcom,sdx55-usb-hs-phy
31              - qcom,sdx65-usb-hs-phy
32              - qcom,sm6375-usb-hs-phy
33              - qcom,sm8150-usb-hs-phy
34              - qcom,sm8250-usb-hs-phy
35              - qcom,sm8350-usb-hs-phy
36              - qcom,sm8450-usb-hs-phy
37          - const: qcom,usb-snps-hs-7nm-phy
38
39  reg:
40    maxItems: 1
41
42  "#phy-cells":
43    const: 0
44
45  clocks:
46    items:
47      - description: rpmhcc ref clock
48
49  clock-names:
50    items:
51      - const: ref
52
53  resets:
54    items:
55      - description: PHY core reset
56
57  vdda-pll-supply:
58    description: phandle to the regulator VDD supply node.
59
60  vdda18-supply:
61    description: phandle to the regulator 1.8V supply node.
62
63  vdda33-supply:
64    description: phandle to the regulator 3.3V supply node.
65
66  qcom,hs-disconnect-bp:
67    description:
68      This adjusts the voltage level for the threshold used to
69      detect a disconnect event at the host.
70      The hardware accepts only discrete values. The value closest to the
71      provided input will be chosen as the override value for this param.
72    minimum: -272
73    maximum: 2156
74
75  qcom,squelch-detector-bp:
76    description:
77      This adjusts the voltage level for the threshold used to
78      detect valid high-speed data.
79      The hardware accepts only discrete values. The value closest to the
80      provided input will be chosen as the override value for this param.
81    minimum: -2090
82    maximum: 1590
83
84  qcom,hs-amplitude-bp:
85    description:
86      This adjusts the high-speed DC level voltage.
87      The hardware accepts only discrete values. The value closest to the
88      provided input will be chosen as the override value for this param.
89    minimum: -660
90    maximum: 2670
91
92  qcom,pre-emphasis-duration-bp:
93    description:
94      This signal controls the duration for which the
95      HS pre-emphasis current is sourced onto DP<#> or DM<#>.
96      The HS Transmitter pre-emphasis duration is defined in terms of
97      unit amounts. One unit of pre-emphasis duration is approximately
98      650 ps and is defined as 1X pre-emphasis duration.
99      The hardware accepts only discrete values. The value closest to the
100      provided input will be chosen as the override value for this param.
101    minimum: 10000
102    maximum: 20000
103
104  qcom,pre-emphasis-amplitude-bp:
105    description:
106      This signal controls the amount of current sourced to
107      DP<#> and DM<#> after a J-to-K or K-to-J transition.
108      The HS Transmitter pre-emphasis current is defined in terms of unit
109      amounts. One unit amount is approximately 2 mA and is defined as
110      1X pre-emphasis current.
111      The hardware accepts only discrete values. The value closest to the
112      provided input will be chosen as the override value for this param.
113    minimum: 10000
114    maximum: 40000
115
116  qcom,hs-rise-fall-time-bp:
117    description:
118      This adjusts the rise/fall times of the high-speed waveform.
119      The hardware accepts only discrete values. The value closest to the
120      provided input will be chosen as the override value for this param.
121    minimum: -4100
122    maximum: 5430
123
124  qcom,hs-crossover-voltage-microvolt:
125    description:
126      This adjusts the voltage at which the DP<#> and DM<#>
127      signals cross while transmitting in HS mode.
128      The hardware accepts only discrete values. The value closest to the
129      provided input will be chosen as the override value for this param.
130    minimum: -31000
131    maximum: 28000
132
133  qcom,hs-output-impedance-micro-ohms:
134    description:
135      In some applications, there can be significant series resistance
136      on the D+ and D- paths between the transceiver and cable. This adjusts
137      the driver source impedance to compensate for added series
138      resistance on the USB. The hardware accepts only discrete values. The
139      value closest to the provided input will be chosen as the override value
140      for this param.
141    minimum: -2300000
142    maximum: 6100000
143
144  qcom,ls-fs-output-impedance-bp:
145    description:
146      This adjusts the low- and full-speed single-ended source
147      impedance while driving high. The following adjustment values are based
148      on nominal process, voltage, and temperature.
149      The hardware accepts only discrete values. The value closest to the
150      provided input will be chosen as the override value for this param.
151    minimum: -1053
152    maximum: 1310
153
154required:
155  - compatible
156  - reg
157  - "#phy-cells"
158  - clocks
159  - clock-names
160  - resets
161  - vdda-pll-supply
162  - vdda18-supply
163  - vdda33-supply
164
165additionalProperties: false
166
167examples:
168  - |
169    #include <dt-bindings/clock/qcom,rpmh.h>
170    #include <dt-bindings/clock/qcom,gcc-sm8150.h>
171    phy@88e2000 {
172        compatible = "qcom,sm8150-usb-hs-phy", "qcom,usb-snps-hs-7nm-phy";
173        reg = <0x088e2000 0x400>;
174        #phy-cells = <0>;
175
176        clocks = <&rpmhcc RPMH_CXO_CLK>;
177        clock-names = "ref";
178
179        resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
180
181        vdda-pll-supply = <&vdd_usb_hs_core>;
182        vdda33-supply = <&vdda_usb_hs_3p1>;
183        vdda18-supply = <&vdda_usb_hs_1p8>;
184    };
185...
186