xref: /linux/Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1a2e93488SNitheesh Sekar# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2a2e93488SNitheesh Sekar%YAML 1.2
3a2e93488SNitheesh Sekar---
4a2e93488SNitheesh Sekar$id: http://devicetree.org/schemas/phy/qcom,ipq5332-uniphy-pcie-phy.yaml#
5a2e93488SNitheesh Sekar$schema: http://devicetree.org/meta-schemas/core.yaml#
6a2e93488SNitheesh Sekar
7a2e93488SNitheesh Sekartitle: Qualcomm UNIPHY PCIe 28LP PHY
8a2e93488SNitheesh Sekar
9a2e93488SNitheesh Sekarmaintainers:
10a2e93488SNitheesh Sekar  - Nitheesh Sekar <quic_nsekar@quicinc.com>
11a2e93488SNitheesh Sekar  - Varadarajan Narayanan <quic_varada@quicinc.com>
12a2e93488SNitheesh Sekar
13a2e93488SNitheesh Sekardescription:
14*aae29082SNitheesh Sekar  PCIe and USB combo PHY found in Qualcomm IPQ5018 & IPQ5332 SoCs
15a2e93488SNitheesh Sekar
16a2e93488SNitheesh Sekarproperties:
17a2e93488SNitheesh Sekar  compatible:
18a2e93488SNitheesh Sekar    enum:
19*aae29082SNitheesh Sekar      - qcom,ipq5018-uniphy-pcie-phy
20a2e93488SNitheesh Sekar      - qcom,ipq5332-uniphy-pcie-phy
21a2e93488SNitheesh Sekar
22a2e93488SNitheesh Sekar  reg:
23a2e93488SNitheesh Sekar    maxItems: 1
24a2e93488SNitheesh Sekar
25a2e93488SNitheesh Sekar  clocks:
26*aae29082SNitheesh Sekar    minItems: 1
27*aae29082SNitheesh Sekar    maxItems: 2
28a2e93488SNitheesh Sekar
29a2e93488SNitheesh Sekar  resets:
30*aae29082SNitheesh Sekar    minItems: 2
31*aae29082SNitheesh Sekar    maxItems: 3
32a2e93488SNitheesh Sekar
33a2e93488SNitheesh Sekar  "#phy-cells":
34a2e93488SNitheesh Sekar    const: 0
35a2e93488SNitheesh Sekar
36a2e93488SNitheesh Sekar  "#clock-cells":
37a2e93488SNitheesh Sekar    const: 0
38a2e93488SNitheesh Sekar
39a2e93488SNitheesh Sekar  num-lanes:
40a2e93488SNitheesh Sekar    $ref: /schemas/types.yaml#/definitions/uint32
41a2e93488SNitheesh Sekar    enum: [1, 2]
42a2e93488SNitheesh Sekar
43a2e93488SNitheesh Sekarrequired:
44a2e93488SNitheesh Sekar  - compatible
45a2e93488SNitheesh Sekar  - reg
46a2e93488SNitheesh Sekar  - clocks
47a2e93488SNitheesh Sekar  - resets
48a2e93488SNitheesh Sekar  - "#phy-cells"
49a2e93488SNitheesh Sekar  - "#clock-cells"
50a2e93488SNitheesh Sekar  - num-lanes
51a2e93488SNitheesh Sekar
52a2e93488SNitheesh SekaradditionalProperties: false
53a2e93488SNitheesh Sekar
54*aae29082SNitheesh SekarallOf:
55*aae29082SNitheesh Sekar  - if:
56*aae29082SNitheesh Sekar      properties:
57*aae29082SNitheesh Sekar        compatible:
58*aae29082SNitheesh Sekar          contains:
59*aae29082SNitheesh Sekar            enum:
60*aae29082SNitheesh Sekar              - qcom,ipq5018-uniphy-pcie-phy
61*aae29082SNitheesh Sekar    then:
62*aae29082SNitheesh Sekar      properties:
63*aae29082SNitheesh Sekar        clocks:
64*aae29082SNitheesh Sekar          items:
65*aae29082SNitheesh Sekar            - description: pcie pipe clock
66*aae29082SNitheesh Sekar        resets:
67*aae29082SNitheesh Sekar          items:
68*aae29082SNitheesh Sekar            - description: phy reset
69*aae29082SNitheesh Sekar            - description: cfg reset
70*aae29082SNitheesh Sekar
71*aae29082SNitheesh Sekar  - if:
72*aae29082SNitheesh Sekar      properties:
73*aae29082SNitheesh Sekar        compatible:
74*aae29082SNitheesh Sekar          contains:
75*aae29082SNitheesh Sekar            enum:
76*aae29082SNitheesh Sekar              - qcom,ipq5332-uniphy-pcie-phy
77*aae29082SNitheesh Sekar    then:
78*aae29082SNitheesh Sekar      properties:
79*aae29082SNitheesh Sekar        clocks:
80*aae29082SNitheesh Sekar          items:
81*aae29082SNitheesh Sekar            - description: pcie pipe clock
82*aae29082SNitheesh Sekar            - description: pcie ahb clock
83*aae29082SNitheesh Sekar        resets:
84*aae29082SNitheesh Sekar          items:
85*aae29082SNitheesh Sekar            - description: phy reset
86*aae29082SNitheesh Sekar            - description: ahb reset
87*aae29082SNitheesh Sekar            - description: cfg reset
88*aae29082SNitheesh Sekar
89a2e93488SNitheesh Sekarexamples:
90a2e93488SNitheesh Sekar  - |
91a2e93488SNitheesh Sekar    #include <dt-bindings/clock/qcom,ipq5332-gcc.h>
92a2e93488SNitheesh Sekar
93a2e93488SNitheesh Sekar    pcie0_phy: phy@4b0000 {
94a2e93488SNitheesh Sekar        compatible = "qcom,ipq5332-uniphy-pcie-phy";
95a2e93488SNitheesh Sekar        reg = <0x004b0000 0x800>;
96a2e93488SNitheesh Sekar
97a2e93488SNitheesh Sekar        clocks = <&gcc GCC_PCIE3X1_0_PIPE_CLK>,
98a2e93488SNitheesh Sekar                 <&gcc GCC_PCIE3X1_PHY_AHB_CLK>;
99a2e93488SNitheesh Sekar
100a2e93488SNitheesh Sekar        resets = <&gcc GCC_PCIE3X1_0_PHY_BCR>,
101a2e93488SNitheesh Sekar                 <&gcc GCC_PCIE3X1_PHY_AHB_CLK_ARES>,
102a2e93488SNitheesh Sekar                 <&gcc GCC_PCIE3X1_0_PHY_PHY_BCR>;
103a2e93488SNitheesh Sekar
104a2e93488SNitheesh Sekar        #clock-cells = <0>;
105a2e93488SNitheesh Sekar
106a2e93488SNitheesh Sekar        #phy-cells = <0>;
107a2e93488SNitheesh Sekar
108a2e93488SNitheesh Sekar        num-lanes = <1>;
109a2e93488SNitheesh Sekar    };
110