Commit e7393b60 authored by David Heidelberg's avatar David Heidelberg Committed by Vinod Koul
Browse files

dt-bindings: phy: convert Qualcomm USB HS phy to yaml



Conversion of Qualcomm USB HS phy documentation to yaml.

Signed-off-by: default avatarDavid Heidelberg <david@ixit.cz>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211230000740.103869-1-david@ixit.cz


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 6f1dedf0
Loading
Loading
Loading
Loading
+0 −84
Original line number Diff line number Diff line
Qualcomm's USB HS PHY

PROPERTIES

- compatible:
    Usage: required
    Value type: <string>
    Definition: Should contain "qcom,usb-hs-phy" and more specifically one of the
                following:

                        "qcom,usb-hs-phy-apq8064"
                        "qcom,usb-hs-phy-msm8916"
                        "qcom,usb-hs-phy-msm8974"

- #phy-cells:
    Usage: required
    Value type: <u32>
    Definition: Should contain 0

- clocks:
    Usage: required
    Value type: <prop-encoded-array>
    Definition: Should contain clock specifier for the reference and sleep
                clocks

- clock-names:
    Usage: required
    Value type: <stringlist>
    Definition: Should contain "ref" and "sleep" for the reference and sleep
                clocks respectively

- resets:
    Usage: required
    Value type: <prop-encoded-array>
    Definition: Should contain the phy and POR resets

- reset-names:
    Usage: required
    Value type: <stringlist>
    Definition: Should contain "phy" and "por" for the phy and POR resets
                respectively

- v3p3-supply:
    Usage: required
    Value type: <phandle>
    Definition: Should contain a reference to the 3.3V supply

- v1p8-supply:
    Usage: required
    Value type: <phandle>
    Definition: Should contain a reference to the 1.8V supply

- extcon:
    Usage: optional
    Value type: <prop-encoded-array>
    Definition: Should contain the vbus extcon

- qcom,init-seq:
    Usage: optional
    Value type: <u8 array>
    Definition: Should contain a sequence of ULPI address and value pairs to
                program into the ULPI_EXT_VENDOR_SPECIFIC area. This is related
                to Device Mode Eye Diagram test. The addresses are offsets
                from the ULPI_EXT_VENDOR_SPECIFIC address, for example,
                <0x1 0x53> would mean "write the value 0x53 to address 0x81".

EXAMPLE

otg: usb-controller {
	ulpi {
		phy {
			compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
			#phy-cells = <0>;
			clocks = <&xo_board>, <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
			clock-names = "ref", "sleep";
			resets = <&gcc GCC_USB2A_PHY_BCR>, <&otg 0>;
			reset-names = "phy", "por";
			v3p3-supply = <&pm8941_l24>;
			v1p8-supply = <&pm8941_l6>;
			extcon = <&smbb>;
			qcom,init-seq = /bits/ 8 <0x1 0x63>;
		};
	};
};
+108 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/qcom,usb-hs-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm's USB HS PHY binding description

maintainers:
  - Bjorn Andersson <bjorn.andersson@linaro.org>

if:
  properties:
    compatible:
      contains:
        const: qcom,usb-hs-phy-apq8064
  then:
    properties:
      resets:
        maxItems: 1

      reset-names:
        const: por

  else:
    properties:
      resets:
        minItems: 2
        maxItems: 2

      reset-names:
        items:
          - const: phy
          - const: por

properties:
  compatible:
    items:
      - enum:
          - qcom,usb-hs-phy-apq8064
          - qcom,usb-hs-phy-msm8916
          - qcom,usb-hs-phy-msm8974
      - const: qcom,usb-hs-phy

  clocks:
    minItems: 2
    maxItems: 2

  clock-names:
    maxItems: 2
    contains:
      items:
        - const: ref
        - const: sleep

  resets: true

  reset-names: true

  v1p8-supply: true

  v3p3-supply: true

  extcon: true

  "#phy-cells":
    const: 0

  qcom,init-seq:
    $ref: /schemas/types.yaml#/definitions/uint8-matrix
    description: >
      Sequence of ULPI address and value pairs to
      program into the ULPI_EXT_VENDOR_SPECIFIC area.
      This is related to Device Mode Eye Diagram test.
    maxItems: 32 # no hard limit
    items:
      items:
        - description: >
            the address is offset from the ULPI_EXT_VENDOR_SPECIFIC address
        - description: value

required:
  - clocks
  - clock-names
  - resets
  - reset-names
  - "#phy-cells"

additionalProperties: false

examples:
  - |
    otg: usb-controller {
      ulpi {
        phy {
          compatible = "qcom,usb-hs-phy-msm8974", "qcom,usb-hs-phy";
          #phy-cells = <0>;
          clocks = <&clk 0>, <&clk 258>;
          clock-names = "ref", "sleep";
          resets = <&gcc 10>, <&otg 0>;
          reset-names = "phy", "por";
          v3p3-supply = <&pm8941_l24>;
          v1p8-supply = <&pm8941_l6>;
          extcon = <&smbb>;
          qcom,init-seq = /bits/ 8 <0x1 0x63>;
        };
      };
    };