1e8e58e29SJohan Hovold# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2e8e58e29SJohan Hovold%YAML 1.2
3e8e58e29SJohan Hovold---
4e8e58e29SJohan Hovold$id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml#
5e8e58e29SJohan Hovold$schema: http://devicetree.org/meta-schemas/core.yaml#
6e8e58e29SJohan Hovold
7e8e58e29SJohan Hovoldtitle: Qualcomm QMP PHY controller (USB, SC8280XP)
8e8e58e29SJohan Hovold
9e8e58e29SJohan Hovoldmaintainers:
10e8e58e29SJohan Hovold  - Vinod Koul <vkoul@kernel.org>
11e8e58e29SJohan Hovold
12e8e58e29SJohan Hovolddescription:
13e8e58e29SJohan Hovold  The QMP PHY controller supports physical layer functionality for a number of
14e8e58e29SJohan Hovold  controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
15e8e58e29SJohan Hovold
16e8e58e29SJohan Hovoldproperties:
17e8e58e29SJohan Hovold  compatible:
18e8e58e29SJohan Hovold    enum:
19*b225e912SVaradarajan Narayanan      - qcom,ipq9574-qmp-usb3-phy
20bfd73c85SShazad Hussain      - qcom,sa8775p-qmp-usb3-uni-phy
21e8e58e29SJohan Hovold      - qcom,sc8280xp-qmp-usb3-uni-phy
22e8e58e29SJohan Hovold
23e8e58e29SJohan Hovold  reg:
24e8e58e29SJohan Hovold    maxItems: 1
25e8e58e29SJohan Hovold
26e8e58e29SJohan Hovold  clocks:
271446d03eSJohan Hovold    maxItems: 4
28e8e58e29SJohan Hovold
29e8e58e29SJohan Hovold  clock-names:
30*b225e912SVaradarajan Narayanan    maxItems: 4
31e8e58e29SJohan Hovold
32e8e58e29SJohan Hovold  power-domains:
33e8e58e29SJohan Hovold    maxItems: 1
34e8e58e29SJohan Hovold
35e8e58e29SJohan Hovold  resets:
36e8e58e29SJohan Hovold    maxItems: 2
37e8e58e29SJohan Hovold
38e8e58e29SJohan Hovold  reset-names:
39e8e58e29SJohan Hovold    items:
40e8e58e29SJohan Hovold      - const: phy
41e8e58e29SJohan Hovold      - const: phy_phy
42e8e58e29SJohan Hovold
43e8e58e29SJohan Hovold  vdda-phy-supply: true
44e8e58e29SJohan Hovold
45e8e58e29SJohan Hovold  vdda-pll-supply: true
46e8e58e29SJohan Hovold
47e8e58e29SJohan Hovold  "#clock-cells":
48e8e58e29SJohan Hovold    const: 0
49e8e58e29SJohan Hovold
50e8e58e29SJohan Hovold  clock-output-names:
51e8e58e29SJohan Hovold    maxItems: 1
52e8e58e29SJohan Hovold
53e8e58e29SJohan Hovold  "#phy-cells":
54e8e58e29SJohan Hovold    const: 0
55e8e58e29SJohan Hovold
56e8e58e29SJohan Hovoldrequired:
57e8e58e29SJohan Hovold  - compatible
58e8e58e29SJohan Hovold  - reg
59e8e58e29SJohan Hovold  - clocks
60e8e58e29SJohan Hovold  - clock-names
61e8e58e29SJohan Hovold  - resets
62e8e58e29SJohan Hovold  - reset-names
63e8e58e29SJohan Hovold  - vdda-phy-supply
64e8e58e29SJohan Hovold  - vdda-pll-supply
65e8e58e29SJohan Hovold  - "#clock-cells"
66e8e58e29SJohan Hovold  - clock-output-names
67e8e58e29SJohan Hovold  - "#phy-cells"
68e8e58e29SJohan Hovold
69*b225e912SVaradarajan NarayananallOf:
70*b225e912SVaradarajan Narayanan  - if:
71*b225e912SVaradarajan Narayanan      properties:
72*b225e912SVaradarajan Narayanan        compatible:
73*b225e912SVaradarajan Narayanan          contains:
74*b225e912SVaradarajan Narayanan            enum:
75*b225e912SVaradarajan Narayanan              - qcom,ipq9574-qmp-usb3-phy
76*b225e912SVaradarajan Narayanan    then:
77*b225e912SVaradarajan Narayanan      properties:
78*b225e912SVaradarajan Narayanan        clock-names:
79*b225e912SVaradarajan Narayanan          items:
80*b225e912SVaradarajan Narayanan            - const: aux
81*b225e912SVaradarajan Narayanan            - const: ref
82*b225e912SVaradarajan Narayanan            - const: cfg_ahb
83*b225e912SVaradarajan Narayanan            - const: pipe
84*b225e912SVaradarajan Narayanan
85*b225e912SVaradarajan Narayanan  - if:
86*b225e912SVaradarajan Narayanan      properties:
87*b225e912SVaradarajan Narayanan        compatible:
88*b225e912SVaradarajan Narayanan          contains:
89*b225e912SVaradarajan Narayanan            enum:
90*b225e912SVaradarajan Narayanan              - qcom,sa8775p-qmp-usb3-uni-phy
91*b225e912SVaradarajan Narayanan              - qcom,sc8280xp-qmp-usb3-uni-phy
92*b225e912SVaradarajan Narayanan    then:
93*b225e912SVaradarajan Narayanan      properties:
94*b225e912SVaradarajan Narayanan        clocks:
95*b225e912SVaradarajan Narayanan          maxItems: 4
96*b225e912SVaradarajan Narayanan        clock-names:
97*b225e912SVaradarajan Narayanan          items:
98*b225e912SVaradarajan Narayanan            - const: aux
99*b225e912SVaradarajan Narayanan            - const: ref
100*b225e912SVaradarajan Narayanan            - const: com_aux
101*b225e912SVaradarajan Narayanan            - const: pipe
102*b225e912SVaradarajan Narayanan      required:
103*b225e912SVaradarajan Narayanan        - power-domains
104*b225e912SVaradarajan Narayanan
105e8e58e29SJohan HovoldadditionalProperties: false
106e8e58e29SJohan Hovold
107e8e58e29SJohan Hovoldexamples:
108e8e58e29SJohan Hovold  - |
109e8e58e29SJohan Hovold    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
110e8e58e29SJohan Hovold    #include <dt-bindings/clock/qcom,rpmh.h>
111e8e58e29SJohan Hovold
112e8e58e29SJohan Hovold    phy@88ef000 {
113e8e58e29SJohan Hovold      compatible = "qcom,sc8280xp-qmp-usb3-uni-phy";
114e8e58e29SJohan Hovold      reg = <0x088ef000 0x2000>;
115e8e58e29SJohan Hovold
116e8e58e29SJohan Hovold      clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
117e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP0_CLKREF_CLK>,
118e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
119e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
1201446d03eSJohan Hovold      clock-names = "aux", "ref", "com_aux", "pipe";
121e8e58e29SJohan Hovold
122e8e58e29SJohan Hovold      power-domains = <&gcc USB30_MP_GDSC>;
123e8e58e29SJohan Hovold
124e8e58e29SJohan Hovold      resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
125e8e58e29SJohan Hovold               <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
126e8e58e29SJohan Hovold      reset-names = "phy", "phy_phy";
127e8e58e29SJohan Hovold
128e8e58e29SJohan Hovold      vdda-phy-supply = <&vreg_l3a>;
129e8e58e29SJohan Hovold      vdda-pll-supply = <&vreg_l5a>;
130e8e58e29SJohan Hovold
131e8e58e29SJohan Hovold      #clock-cells = <0>;
132e8e58e29SJohan Hovold      clock-output-names = "usb2_phy0_pipe_clk";
133e8e58e29SJohan Hovold
134e8e58e29SJohan Hovold      #phy-cells = <0>;
135e8e58e29SJohan Hovold    };
136