1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: Qualcomm QUSB2 phy controller 9 10maintainers: 11 - Wesley Cheng <quic_wcheng@quicinc.com> 12 13description: 14 QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets. 15 16properties: 17 compatible: 18 oneOf: 19 - items: 20 - enum: 21 - qcom,ipq6018-qusb2-phy 22 - qcom,ipq8074-qusb2-phy 23 - qcom,ipq9574-qusb2-phy 24 - qcom,msm8953-qusb2-phy 25 - qcom,msm8996-qusb2-phy 26 - qcom,msm8998-qusb2-phy 27 - qcom,qcm2290-qusb2-phy 28 - qcom,sdm660-qusb2-phy 29 - qcom,sm4250-qusb2-phy 30 - qcom,sm6115-qusb2-phy 31 - items: 32 - enum: 33 - qcom,sc7180-qusb2-phy 34 - qcom,sdm670-qusb2-phy 35 - qcom,sdm845-qusb2-phy 36 - qcom,sm6350-qusb2-phy 37 - const: qcom,qusb2-v2-phy 38 reg: 39 maxItems: 1 40 41 "#phy-cells": 42 const: 0 43 44 clocks: 45 minItems: 2 46 items: 47 - description: phy config clock 48 - description: 19.2 MHz ref clk 49 - description: phy interface clock (Optional) 50 51 clock-names: 52 minItems: 2 53 items: 54 - const: cfg_ahb 55 - const: ref 56 - const: iface 57 58 vdd-supply: 59 description: 60 Phandle to 0.9V regulator supply to PHY digital circuit. 61 62 vdda-pll-supply: 63 description: 64 Phandle to 1.8V regulator supply to PHY refclk pll block. 65 66 vdda-phy-dpdm-supply: 67 description: 68 Phandle to 3.1V regulator supply to Dp/Dm port signals. 69 70 resets: 71 maxItems: 1 72 description: 73 Phandle to reset to phy block. 74 75 nvmem-cells: 76 maxItems: 1 77 description: 78 Phandle to nvmem cell that contains 'HS Tx trim' 79 tuning parameter value for qusb2 phy. 80 81 qcom,tcsr-syscon: 82 description: 83 Phandle to TCSR syscon register region. 84 $ref: /schemas/types.yaml#/definitions/phandle 85 86 qcom,imp-res-offset-value: 87 description: 88 It is a 6 bit value that specifies offset to be 89 added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY 90 tuning parameter that may vary for different boards of same SOC. 91 $ref: /schemas/types.yaml#/definitions/uint32 92 minimum: 0 93 maximum: 63 94 default: 0 95 96 qcom,bias-ctrl-value: 97 description: 98 It is a 6 bit value that specifies bias-ctrl-value. It is a PHY 99 tuning parameter that may vary for different boards of same SOC. 100 $ref: /schemas/types.yaml#/definitions/uint32 101 minimum: 0 102 maximum: 63 103 default: 32 104 105 qcom,charge-ctrl-value: 106 description: 107 It is a 2 bit value that specifies charge-ctrl-value. It is a PHY 108 tuning parameter that may vary for different boards of same SOC. 109 $ref: /schemas/types.yaml#/definitions/uint32 110 minimum: 0 111 maximum: 3 112 default: 0 113 114 qcom,hstx-trim-value: 115 description: 116 It is a 4 bit value that specifies tuning for HSTX 117 output current. 118 Possible range is - 15mA to 24mA (stepsize of 600 uA). 119 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 120 $ref: /schemas/types.yaml#/definitions/uint32 121 minimum: 0 122 maximum: 15 123 default: 3 124 125 qcom,preemphasis-level: 126 description: 127 It is a 2 bit value that specifies pre-emphasis level. 128 Possible range is 0 to 15% (stepsize of 5%). 129 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 130 $ref: /schemas/types.yaml#/definitions/uint32 131 minimum: 0 132 maximum: 3 133 default: 2 134 135 qcom,preemphasis-width: 136 description: 137 It is a 1 bit value that specifies how long the HSTX 138 pre-emphasis (specified using qcom,preemphasis-level) must be in 139 effect. Duration could be half-bit of full-bit. 140 See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 141 $ref: /schemas/types.yaml#/definitions/uint32 142 minimum: 0 143 maximum: 1 144 default: 0 145 146 qcom,hsdisc-trim-value: 147 description: 148 It is a 2 bit value tuning parameter that control disconnect 149 threshold and may vary for different boards of same SOC. 150 $ref: /schemas/types.yaml#/definitions/uint32 151 minimum: 0 152 maximum: 3 153 default: 0 154 155required: 156 - compatible 157 - reg 158 - "#phy-cells" 159 - clocks 160 - clock-names 161 - vdd-supply 162 - vdda-pll-supply 163 - vdda-phy-dpdm-supply 164 - resets 165 166allOf: 167 - if: 168 not: 169 properties: 170 compatible: 171 contains: 172 const: qcom,qusb2-v2-phy 173 then: 174 properties: 175 qcom,imp-res-offset-value: false 176 qcom,bias-ctrl-value: false 177 qcom,charge-ctrl-value: false 178 qcom,hstx-trim-value: false 179 qcom,preemphasis-level: false 180 qcom,preemphasis-width: false 181 qcom,hsdisc-trim-value: false 182 183additionalProperties: false 184 185examples: 186 - | 187 #include <dt-bindings/clock/qcom,gcc-msm8996.h> 188 hsusb_phy: phy@7411000 { 189 compatible = "qcom,msm8996-qusb2-phy"; 190 reg = <0x7411000 0x180>; 191 #phy-cells = <0>; 192 193 clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 194 <&gcc GCC_RX1_USB2_CLKREF_CLK>; 195 clock-names = "cfg_ahb", "ref"; 196 197 vdd-supply = <&pm8994_l28>; 198 vdda-pll-supply = <&pm8994_l12>; 199 vdda-phy-dpdm-supply = <&pm8994_l24>; 200 201 resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 202 nvmem-cells = <&qusb2p_hstx_trim>; 203 }; 204