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