18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#" 68c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Qualcomm QUSB2 phy controller 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Manu Gautam <mgautam@codeaurora.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: 148c2ecf20Sopenharmony_ci QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciproperties: 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci oneOf: 198c2ecf20Sopenharmony_ci - items: 208c2ecf20Sopenharmony_ci - enum: 218c2ecf20Sopenharmony_ci - qcom,ipq8074-qusb2-phy 228c2ecf20Sopenharmony_ci - qcom,msm8996-qusb2-phy 238c2ecf20Sopenharmony_ci - qcom,msm8998-qusb2-phy 248c2ecf20Sopenharmony_ci - items: 258c2ecf20Sopenharmony_ci - enum: 268c2ecf20Sopenharmony_ci - qcom,sc7180-qusb2-phy 278c2ecf20Sopenharmony_ci - qcom,sdm845-qusb2-phy 288c2ecf20Sopenharmony_ci - const: qcom,qusb2-v2-phy 298c2ecf20Sopenharmony_ci reg: 308c2ecf20Sopenharmony_ci maxItems: 1 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci "#phy-cells": 338c2ecf20Sopenharmony_ci const: 0 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci clocks: 368c2ecf20Sopenharmony_ci minItems: 2 378c2ecf20Sopenharmony_ci maxItems: 3 388c2ecf20Sopenharmony_ci items: 398c2ecf20Sopenharmony_ci - description: phy config clock 408c2ecf20Sopenharmony_ci - description: 19.2 MHz ref clk 418c2ecf20Sopenharmony_ci - description: phy interface clock (Optional) 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci clock-names: 448c2ecf20Sopenharmony_ci minItems: 2 458c2ecf20Sopenharmony_ci maxItems: 3 468c2ecf20Sopenharmony_ci items: 478c2ecf20Sopenharmony_ci - const: cfg_ahb 488c2ecf20Sopenharmony_ci - const: ref 498c2ecf20Sopenharmony_ci - const: iface 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci vdda-pll-supply: 528c2ecf20Sopenharmony_ci description: 538c2ecf20Sopenharmony_ci Phandle to 1.8V regulator supply to PHY refclk pll block. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci vdda-phy-dpdm-supply: 568c2ecf20Sopenharmony_ci description: 578c2ecf20Sopenharmony_ci Phandle to 3.1V regulator supply to Dp/Dm port signals. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci resets: 608c2ecf20Sopenharmony_ci maxItems: 1 618c2ecf20Sopenharmony_ci description: 628c2ecf20Sopenharmony_ci Phandle to reset to phy block. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci nvmem-cells: 658c2ecf20Sopenharmony_ci maxItems: 1 668c2ecf20Sopenharmony_ci description: 678c2ecf20Sopenharmony_ci Phandle to nvmem cell that contains 'HS Tx trim' 688c2ecf20Sopenharmony_ci tuning parameter value for qusb2 phy. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci qcom,tcsr-syscon: 718c2ecf20Sopenharmony_ci description: 728c2ecf20Sopenharmony_ci Phandle to TCSR syscon register region. 738c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciif: 768c2ecf20Sopenharmony_ci properties: 778c2ecf20Sopenharmony_ci compatible: 788c2ecf20Sopenharmony_ci contains: 798c2ecf20Sopenharmony_ci const: qcom,qusb2-v2-phy 808c2ecf20Sopenharmony_cithen: 818c2ecf20Sopenharmony_ci properties: 828c2ecf20Sopenharmony_ci qcom,imp-res-offset-value: 838c2ecf20Sopenharmony_ci description: 848c2ecf20Sopenharmony_ci It is a 6 bit value that specifies offset to be 858c2ecf20Sopenharmony_ci added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY 868c2ecf20Sopenharmony_ci tuning parameter that may vary for different boards of same SOC. 878c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 888c2ecf20Sopenharmony_ci minimum: 0 898c2ecf20Sopenharmony_ci maximum: 63 908c2ecf20Sopenharmony_ci default: 0 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci qcom,bias-ctrl-value: 938c2ecf20Sopenharmony_ci description: 948c2ecf20Sopenharmony_ci It is a 6 bit value that specifies bias-ctrl-value. It is a PHY 958c2ecf20Sopenharmony_ci tuning parameter that may vary for different boards of same SOC. 968c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 978c2ecf20Sopenharmony_ci minimum: 0 988c2ecf20Sopenharmony_ci maximum: 63 998c2ecf20Sopenharmony_ci default: 32 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci qcom,charge-ctrl-value: 1028c2ecf20Sopenharmony_ci description: 1038c2ecf20Sopenharmony_ci It is a 2 bit value that specifies charge-ctrl-value. It is a PHY 1048c2ecf20Sopenharmony_ci tuning parameter that may vary for different boards of same SOC. 1058c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1068c2ecf20Sopenharmony_ci minimum: 0 1078c2ecf20Sopenharmony_ci maximum: 3 1088c2ecf20Sopenharmony_ci default: 0 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci qcom,hstx-trim-value: 1118c2ecf20Sopenharmony_ci description: 1128c2ecf20Sopenharmony_ci It is a 4 bit value that specifies tuning for HSTX 1138c2ecf20Sopenharmony_ci output current. 1148c2ecf20Sopenharmony_ci Possible range is - 15mA to 24mA (stepsize of 600 uA). 1158c2ecf20Sopenharmony_ci See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 1168c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1178c2ecf20Sopenharmony_ci minimum: 0 1188c2ecf20Sopenharmony_ci maximum: 15 1198c2ecf20Sopenharmony_ci default: 3 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci qcom,preemphasis-level: 1228c2ecf20Sopenharmony_ci description: 1238c2ecf20Sopenharmony_ci It is a 2 bit value that specifies pre-emphasis level. 1248c2ecf20Sopenharmony_ci Possible range is 0 to 15% (stepsize of 5%). 1258c2ecf20Sopenharmony_ci See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 1268c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1278c2ecf20Sopenharmony_ci minimum: 0 1288c2ecf20Sopenharmony_ci maximum: 3 1298c2ecf20Sopenharmony_ci default: 2 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci qcom,preemphasis-width: 1328c2ecf20Sopenharmony_ci description: 1338c2ecf20Sopenharmony_ci It is a 1 bit value that specifies how long the HSTX 1348c2ecf20Sopenharmony_ci pre-emphasis (specified using qcom,preemphasis-level) must be in 1358c2ecf20Sopenharmony_ci effect. Duration could be half-bit of full-bit. 1368c2ecf20Sopenharmony_ci See dt-bindings/phy/phy-qcom-qusb2.h for applicable values. 1378c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1388c2ecf20Sopenharmony_ci minimum: 0 1398c2ecf20Sopenharmony_ci maximum: 1 1408c2ecf20Sopenharmony_ci default: 0 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci qcom,hsdisc-trim-value: 1438c2ecf20Sopenharmony_ci description: 1448c2ecf20Sopenharmony_ci It is a 2 bit value tuning parameter that control disconnect 1458c2ecf20Sopenharmony_ci threshold and may vary for different boards of same SOC. 1468c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 1478c2ecf20Sopenharmony_ci minimum: 0 1488c2ecf20Sopenharmony_ci maximum: 3 1498c2ecf20Sopenharmony_ci default: 0 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_cirequired: 1528c2ecf20Sopenharmony_ci - compatible 1538c2ecf20Sopenharmony_ci - reg 1548c2ecf20Sopenharmony_ci - "#phy-cells" 1558c2ecf20Sopenharmony_ci - clocks 1568c2ecf20Sopenharmony_ci - clock-names 1578c2ecf20Sopenharmony_ci - vdda-pll-supply 1588c2ecf20Sopenharmony_ci - vdda-phy-dpdm-supply 1598c2ecf20Sopenharmony_ci - resets 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ciadditionalProperties: false 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ciexamples: 1648c2ecf20Sopenharmony_ci - | 1658c2ecf20Sopenharmony_ci #include <dt-bindings/clock/qcom,gcc-msm8996.h> 1668c2ecf20Sopenharmony_ci hsusb_phy: phy@7411000 { 1678c2ecf20Sopenharmony_ci compatible = "qcom,msm8996-qusb2-phy"; 1688c2ecf20Sopenharmony_ci reg = <0x7411000 0x180>; 1698c2ecf20Sopenharmony_ci #phy-cells = <0>; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 1728c2ecf20Sopenharmony_ci <&gcc GCC_RX1_USB2_CLKREF_CLK>; 1738c2ecf20Sopenharmony_ci clock-names = "cfg_ahb", "ref"; 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci vdda-pll-supply = <&pm8994_l12>; 1768c2ecf20Sopenharmony_ci vdda-phy-dpdm-supply = <&pm8994_l24>; 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ci resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 1798c2ecf20Sopenharmony_ci nvmem-cells = <&qusb2p_hstx_trim>; 1808c2ecf20Sopenharmony_ci }; 181