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