xref: /freebsd/sys/contrib/device-tree/Bindings/phy/qcom,ipq8074-qmp-pcie-phy.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/qcom,ipq8074-qmp-pcie-phy.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm QMP PHY controller (PCIe, IPQ8074)
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Vinod Koul <vkoul@kernel.org>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription:
138bab661aSEmmanuel Vadot  QMP PHY controller supports physical layer functionality for a number of
148bab661aSEmmanuel Vadot  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
158bab661aSEmmanuel Vadot
168bab661aSEmmanuel Vadotproperties:
178bab661aSEmmanuel Vadot  compatible:
188bab661aSEmmanuel Vadot    enum:
198bab661aSEmmanuel Vadot      - qcom,ipq6018-qmp-pcie-phy
208bab661aSEmmanuel Vadot      - qcom,ipq8074-qmp-gen3-pcie-phy
218bab661aSEmmanuel Vadot      - qcom,ipq8074-qmp-pcie-phy
228bab661aSEmmanuel Vadot
238bab661aSEmmanuel Vadot  reg:
248bab661aSEmmanuel Vadot    items:
258bab661aSEmmanuel Vadot      - description: serdes
268bab661aSEmmanuel Vadot
278bab661aSEmmanuel Vadot  clocks:
28*aa1a8ff2SEmmanuel Vadot    maxItems: 3
298bab661aSEmmanuel Vadot
308bab661aSEmmanuel Vadot  clock-names:
31*aa1a8ff2SEmmanuel Vadot    items:
32*aa1a8ff2SEmmanuel Vadot      - const: aux
33*aa1a8ff2SEmmanuel Vadot      - const: cfg_ahb
34*aa1a8ff2SEmmanuel Vadot      - const: pipe
358bab661aSEmmanuel Vadot
368bab661aSEmmanuel Vadot  resets:
378bab661aSEmmanuel Vadot    maxItems: 2
388bab661aSEmmanuel Vadot
398bab661aSEmmanuel Vadot  reset-names:
408bab661aSEmmanuel Vadot    items:
41*aa1a8ff2SEmmanuel Vadot      - const: phy
42*aa1a8ff2SEmmanuel Vadot      - const: common
438bab661aSEmmanuel Vadot
448bab661aSEmmanuel Vadot  "#clock-cells":
458bab661aSEmmanuel Vadot    const: 0
468bab661aSEmmanuel Vadot
478bab661aSEmmanuel Vadot  clock-output-names:
488bab661aSEmmanuel Vadot    maxItems: 1
498bab661aSEmmanuel Vadot
508bab661aSEmmanuel Vadot  "#phy-cells":
518bab661aSEmmanuel Vadot    const: 0
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadotrequired:
54*aa1a8ff2SEmmanuel Vadot  - compatible
558bab661aSEmmanuel Vadot  - reg
568bab661aSEmmanuel Vadot  - clocks
57*aa1a8ff2SEmmanuel Vadot  - clock-names
58*aa1a8ff2SEmmanuel Vadot  - resets
59*aa1a8ff2SEmmanuel Vadot  - reset-names
608bab661aSEmmanuel Vadot  - "#clock-cells"
618bab661aSEmmanuel Vadot  - clock-output-names
628bab661aSEmmanuel Vadot  - "#phy-cells"
638bab661aSEmmanuel Vadot
648bab661aSEmmanuel VadotadditionalProperties: false
658bab661aSEmmanuel Vadot
668bab661aSEmmanuel Vadotexamples:
678bab661aSEmmanuel Vadot  - |
68*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
69*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/reset/qcom,gcc-ipq6018.h>
708bab661aSEmmanuel Vadot
71*aa1a8ff2SEmmanuel Vadot    phy@84000 {
72*aa1a8ff2SEmmanuel Vadot        compatible = "qcom,ipq6018-qmp-pcie-phy";
73*aa1a8ff2SEmmanuel Vadot        reg = <0x00084000 0x1000>;
748bab661aSEmmanuel Vadot
75*aa1a8ff2SEmmanuel Vadot        clocks = <&gcc GCC_PCIE0_AUX_CLK>,
76*aa1a8ff2SEmmanuel Vadot                 <&gcc GCC_PCIE0_AHB_CLK>,
77*aa1a8ff2SEmmanuel Vadot                 <&gcc GCC_PCIE0_PIPE_CLK>;
78*aa1a8ff2SEmmanuel Vadot        clock-names = "aux",
79*aa1a8ff2SEmmanuel Vadot                      "cfg_ahb",
80*aa1a8ff2SEmmanuel Vadot                      "pipe";
818bab661aSEmmanuel Vadot
82*aa1a8ff2SEmmanuel Vadot        clock-output-names = "gcc_pcie0_pipe_clk_src";
838bab661aSEmmanuel Vadot        #clock-cells = <0>;
848bab661aSEmmanuel Vadot
858bab661aSEmmanuel Vadot        #phy-cells = <0>;
86*aa1a8ff2SEmmanuel Vadot
87*aa1a8ff2SEmmanuel Vadot        resets = <&gcc GCC_PCIE0_PHY_BCR>,
88*aa1a8ff2SEmmanuel Vadot                 <&gcc GCC_PCIE0PHY_PHY_BCR>;
89*aa1a8ff2SEmmanuel Vadot        reset-names = "phy",
90*aa1a8ff2SEmmanuel Vadot                      "common";
918bab661aSEmmanuel Vadot    };
92