204 lines
5.3 KiB
YAML
204 lines
5.3 KiB
YAML
# 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>;
|
|
};
|