| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Qualcomm QUSB2 phy controller
- maintainers:
- - Wesley Cheng <quic_wcheng@quicinc.com>
- description:
- QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets.
- properties:
- compatible:
- oneOf:
- - items:
- - enum:
- - qcom,ipq6018-qusb2-phy
- - qcom,ipq8074-qusb2-phy
- - qcom,ipq9574-qusb2-phy
- - qcom,msm8953-qusb2-phy
- - qcom,msm8996-qusb2-phy
- - qcom,msm8998-qusb2-phy
- - qcom,qcm2290-qusb2-phy
- - qcom,sdm660-qusb2-phy
- - qcom,sm4250-qusb2-phy
- - qcom,sm6115-qusb2-phy
- - items:
- - enum:
- - qcom,sc7180-qusb2-phy
- - qcom,sdm670-qusb2-phy
- - qcom,sdm845-qusb2-phy
- - qcom,sm6350-qusb2-phy
- - const: qcom,qusb2-v2-phy
- reg:
- maxItems: 1
- "#phy-cells":
- const: 0
- clocks:
- minItems: 2
- items:
- - description: phy config clock
- - description: 19.2 MHz ref clk
- - description: phy interface clock (Optional)
- clock-names:
- minItems: 2
- items:
- - const: cfg_ahb
- - const: ref
- - const: iface
- vdd-supply:
- description:
- Phandle to 0.9V regulator supply to PHY digital circuit.
- vdda-pll-supply:
- description:
- Phandle to 1.8V regulator supply to PHY refclk pll block.
- vdda-phy-dpdm-supply:
- description:
- Phandle to 3.1V regulator supply to Dp/Dm port signals.
- resets:
- maxItems: 1
- description:
- Phandle to reset to phy block.
- nvmem-cells:
- maxItems: 1
- description:
- Phandle to nvmem cell that contains 'HS Tx trim'
- tuning parameter value for qusb2 phy.
- qcom,tcsr-syscon:
- description:
- Phandle to TCSR syscon register region.
- $ref: /schemas/types.yaml#/definitions/phandle
- qcom,imp-res-offset-value:
- description:
- It is a 6 bit value that specifies offset to be
- added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY
- tuning parameter that may vary for different boards of same SOC.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 63
- default: 0
- qcom,bias-ctrl-value:
- description:
- It is a 6 bit value that specifies bias-ctrl-value. It is a PHY
- tuning parameter that may vary for different boards of same SOC.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 63
- default: 32
- qcom,charge-ctrl-value:
- description:
- It is a 2 bit value that specifies charge-ctrl-value. It is a PHY
- tuning parameter that may vary for different boards of same SOC.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 3
- default: 0
- qcom,hstx-trim-value:
- description:
- It is a 4 bit value that specifies tuning for HSTX
- output current.
- Possible range is - 15mA to 24mA (stepsize of 600 uA).
- See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 15
- default: 3
- qcom,preemphasis-level:
- description:
- It is a 2 bit value that specifies pre-emphasis level.
- Possible range is 0 to 15% (stepsize of 5%).
- See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 3
- default: 2
- qcom,preemphasis-width:
- description:
- It is a 1 bit value that specifies how long the HSTX
- pre-emphasis (specified using qcom,preemphasis-level) must be in
- effect. Duration could be half-bit of full-bit.
- See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 1
- default: 0
- qcom,hsdisc-trim-value:
- description:
- It is a 2 bit value tuning parameter that control disconnect
- threshold and may vary for different boards of same SOC.
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 0
- maximum: 3
- default: 0
- required:
- - compatible
- - reg
- - "#phy-cells"
- - clocks
- - clock-names
- - vdd-supply
- - vdda-pll-supply
- - vdda-phy-dpdm-supply
- - resets
- allOf:
- - if:
- not:
- properties:
- compatible:
- contains:
- const: qcom,qusb2-v2-phy
- then:
- properties:
- qcom,imp-res-offset-value: false
- qcom,bias-ctrl-value: false
- qcom,charge-ctrl-value: false
- qcom,hstx-trim-value: false
- qcom,preemphasis-level: false
- qcom,preemphasis-width: false
- qcom,hsdisc-trim-value: false
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/clock/qcom,gcc-msm8996.h>
- hsusb_phy: phy@7411000 {
- compatible = "qcom,msm8996-qusb2-phy";
- reg = <0x7411000 0x180>;
- #phy-cells = <0>;
- clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
- <&gcc GCC_RX1_USB2_CLKREF_CLK>;
- clock-names = "cfg_ahb", "ref";
- vdd-supply = <&pm8994_l28>;
- vdda-pll-supply = <&pm8994_l12>;
- vdda-phy-dpdm-supply = <&pm8994_l24>;
- resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
- nvmem-cells = <&qusb2p_hstx_trim>;
- };
|