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:
19e8e58e29SJohan Hovold      - qcom,sc8280xp-qmp-usb3-uni-phy
20e8e58e29SJohan Hovold
21e8e58e29SJohan Hovold  reg:
22e8e58e29SJohan Hovold    maxItems: 1
23e8e58e29SJohan Hovold
24e8e58e29SJohan Hovold  clocks:
25*1446d03eSJohan Hovold    maxItems: 4
26e8e58e29SJohan Hovold
27e8e58e29SJohan Hovold  clock-names:
28e8e58e29SJohan Hovold    items:
29e8e58e29SJohan Hovold      - const: aux
30e8e58e29SJohan Hovold      - const: ref
31e8e58e29SJohan Hovold      - const: com_aux
32e8e58e29SJohan Hovold      - const: pipe
33e8e58e29SJohan Hovold
34e8e58e29SJohan Hovold  power-domains:
35e8e58e29SJohan Hovold    maxItems: 1
36e8e58e29SJohan Hovold
37e8e58e29SJohan Hovold  resets:
38e8e58e29SJohan Hovold    maxItems: 2
39e8e58e29SJohan Hovold
40e8e58e29SJohan Hovold  reset-names:
41e8e58e29SJohan Hovold    items:
42e8e58e29SJohan Hovold      - const: phy
43e8e58e29SJohan Hovold      - const: phy_phy
44e8e58e29SJohan Hovold
45e8e58e29SJohan Hovold  vdda-phy-supply: true
46e8e58e29SJohan Hovold
47e8e58e29SJohan Hovold  vdda-pll-supply: true
48e8e58e29SJohan Hovold
49e8e58e29SJohan Hovold  "#clock-cells":
50e8e58e29SJohan Hovold    const: 0
51e8e58e29SJohan Hovold
52e8e58e29SJohan Hovold  clock-output-names:
53e8e58e29SJohan Hovold    maxItems: 1
54e8e58e29SJohan Hovold
55e8e58e29SJohan Hovold  "#phy-cells":
56e8e58e29SJohan Hovold    const: 0
57e8e58e29SJohan Hovold
58e8e58e29SJohan Hovoldrequired:
59e8e58e29SJohan Hovold  - compatible
60e8e58e29SJohan Hovold  - reg
61e8e58e29SJohan Hovold  - clocks
62e8e58e29SJohan Hovold  - clock-names
63e8e58e29SJohan Hovold  - power-domains
64e8e58e29SJohan Hovold  - resets
65e8e58e29SJohan Hovold  - reset-names
66e8e58e29SJohan Hovold  - vdda-phy-supply
67e8e58e29SJohan Hovold  - vdda-pll-supply
68e8e58e29SJohan Hovold  - "#clock-cells"
69e8e58e29SJohan Hovold  - clock-output-names
70e8e58e29SJohan Hovold  - "#phy-cells"
71e8e58e29SJohan Hovold
72e8e58e29SJohan HovoldadditionalProperties: false
73e8e58e29SJohan Hovold
74e8e58e29SJohan Hovoldexamples:
75e8e58e29SJohan Hovold  - |
76e8e58e29SJohan Hovold    #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
77e8e58e29SJohan Hovold    #include <dt-bindings/clock/qcom,rpmh.h>
78e8e58e29SJohan Hovold
79e8e58e29SJohan Hovold    phy@88ef000 {
80e8e58e29SJohan Hovold      compatible = "qcom,sc8280xp-qmp-usb3-uni-phy";
81e8e58e29SJohan Hovold      reg = <0x088ef000 0x2000>;
82e8e58e29SJohan Hovold
83e8e58e29SJohan Hovold      clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
84e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP0_CLKREF_CLK>,
85e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
86e8e58e29SJohan Hovold               <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
87*1446d03eSJohan Hovold      clock-names = "aux", "ref", "com_aux", "pipe";
88e8e58e29SJohan Hovold
89e8e58e29SJohan Hovold      power-domains = <&gcc USB30_MP_GDSC>;
90e8e58e29SJohan Hovold
91e8e58e29SJohan Hovold      resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
92e8e58e29SJohan Hovold               <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
93e8e58e29SJohan Hovold      reset-names = "phy", "phy_phy";
94e8e58e29SJohan Hovold
95e8e58e29SJohan Hovold      vdda-phy-supply = <&vreg_l3a>;
96e8e58e29SJohan Hovold      vdda-pll-supply = <&vreg_l5a>;
97e8e58e29SJohan Hovold
98e8e58e29SJohan Hovold      #clock-cells = <0>;
99e8e58e29SJohan Hovold      clock-output-names = "usb2_phy0_pipe_clk";
100e8e58e29SJohan Hovold
101e8e58e29SJohan Hovold      #phy-cells = <0>;
102e8e58e29SJohan Hovold    };
103