Documentation / devicetree / bindings / phy / qcom,ipq5332-uniphy-pcie-phy.yaml


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/qcom,ipq5332-uniphy-pcie-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm UNIPHY PCIe 28LP PHY

maintainers:
  - Nitheesh Sekar <quic_nsekar@quicinc.com>
  - Varadarajan Narayanan <quic_varada@quicinc.com>

description:
  PCIe and USB combo PHY found in Qualcomm IPQ5018 & IPQ5332 SoCs

properties:
  compatible:
    enum:
      - qcom,ipq5018-uniphy-pcie-phy
      - qcom,ipq5332-uniphy-pcie-phy

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

  resets:
    minItems: 2
    maxItems: 3
 
  "#phy-cells":
    const: 0
 
  "#clock-cells":
    const: 0

  num-lanes:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2]

required:
  - compatible
  - reg
  - clocks
  - resets
  - "#phy-cells"
  - "#clock-cells"
  - num-lanes

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq5018-uniphy-pcie-phy
    then:
      properties:
        clocks:
          items:
            - description: pcie pipe clock
        resets:
          items:
            - description: phy reset
            - description: cfg reset

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq5332-uniphy-pcie-phy
    then:
      properties:
        clocks:
          items:
            - description: pcie pipe clock
            - description: pcie ahb clock
        resets:
          items:
            - description: phy reset
            - description: ahb reset
            - description: cfg reset

examples:
  - |
    #include <dt-bindings/clock/qcom,ipq5332-gcc.h>
 
    pcie0_phy: phy@4b0000 {
        compatible = "qcom,ipq5332-uniphy-pcie-phy";
        reg = <0x004b0000 0x800>;
 
        clocks = <&gcc GCC_PCIE3X1_0_PIPE_CLK>,
                 <&gcc GCC_PCIE3X1_PHY_AHB_CLK>;
 
        resets = <&gcc GCC_PCIE3X1_0_PHY_BCR>,
                 <&gcc GCC_PCIE3X1_PHY_AHB_CLK_ARES>,
                 <&gcc GCC_PCIE3X1_0_PHY_PHY_BCR>;
 
        #clock-cells = <0>;
 
        #phy-cells = <0>;
 
        num-lanes = <1>;
    };