1*a2e8c808SVinod Koul# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*a2e8c808SVinod Koul%YAML 1.2
3*a2e8c808SVinod Koul---
4*a2e8c808SVinod Koul$id: http://devicetree.org/schemas/clock/qcom,gcc-sm8350.yaml#
5*a2e8c808SVinod Koul$schema: http://devicetree.org/meta-schemas/core.yaml#
6*a2e8c808SVinod Koul
7*a2e8c808SVinod Koultitle: Qualcomm Global Clock & Reset Controller Binding for SM8350
8*a2e8c808SVinod Koul
9*a2e8c808SVinod Koulmaintainers:
10*a2e8c808SVinod Koul  - Vinod Koul <vkoul@kernel.org>
11*a2e8c808SVinod Koul
12*a2e8c808SVinod Kouldescription: |
13*a2e8c808SVinod Koul  Qualcomm global clock control module which supports the clocks, resets and
14*a2e8c808SVinod Koul  power domains on SM8350.
15*a2e8c808SVinod Koul
16*a2e8c808SVinod Koul  See also:
17*a2e8c808SVinod Koul  - dt-bindings/clock/qcom,gcc-sm8350.h
18*a2e8c808SVinod Koul
19*a2e8c808SVinod Koulproperties:
20*a2e8c808SVinod Koul  compatible:
21*a2e8c808SVinod Koul    const: qcom,gcc-sm8350
22*a2e8c808SVinod Koul
23*a2e8c808SVinod Koul  clocks:
24*a2e8c808SVinod Koul    items:
25*a2e8c808SVinod Koul      - description: Board XO source
26*a2e8c808SVinod Koul      - description: Sleep clock source
27*a2e8c808SVinod Koul      - description: PLL test clock source (Optional clock)
28*a2e8c808SVinod Koul      - description: PCIE 0 Pipe clock source (Optional clock)
29*a2e8c808SVinod Koul      - description: PCIE 1 Pipe clock source (Optional clock)
30*a2e8c808SVinod Koul      - description: UFS card Rx symbol 0 clock source (Optional clock)
31*a2e8c808SVinod Koul      - description: UFS card Rx symbol 1 clock source (Optional clock)
32*a2e8c808SVinod Koul      - description: UFS card Tx symbol 0 clock source (Optional clock)
33*a2e8c808SVinod Koul      - description: UFS phy Rx symbol 0 clock source (Optional clock)
34*a2e8c808SVinod Koul      - description: UFS phy Rx symbol 1 clock source (Optional clock)
35*a2e8c808SVinod Koul      - description: UFS phy Tx symbol 0 clock source (Optional clock)
36*a2e8c808SVinod Koul      - description: USB3 phy wrapper pipe clock source (Optional clock)
37*a2e8c808SVinod Koul      - description: USB3 phy sec pipe clock source (Optional clock)
38*a2e8c808SVinod Koul    minItems: 2
39*a2e8c808SVinod Koul    maxItems: 13
40*a2e8c808SVinod Koul
41*a2e8c808SVinod Koul  clock-names:
42*a2e8c808SVinod Koul    items:
43*a2e8c808SVinod Koul      - const: bi_tcxo
44*a2e8c808SVinod Koul      - const: sleep_clk
45*a2e8c808SVinod Koul      - const: core_bi_pll_test_se # Optional clock
46*a2e8c808SVinod Koul      - const: pcie_0_pipe_clk # Optional clock
47*a2e8c808SVinod Koul      - const: pcie_1_pipe_clk # Optional clock
48*a2e8c808SVinod Koul      - const: ufs_card_rx_symbol_0_clk # Optional clock
49*a2e8c808SVinod Koul      - const: ufs_card_rx_symbol_1_clk # Optional clock
50*a2e8c808SVinod Koul      - const: ufs_card_tx_symbol_0_clk # Optional clock
51*a2e8c808SVinod Koul      - const: ufs_phy_rx_symbol_0_clk # Optional clock
52*a2e8c808SVinod Koul      - const: ufs_phy_rx_symbol_1_clk # Optional clock
53*a2e8c808SVinod Koul      - const: ufs_phy_tx_symbol_0_clk # Optional clock
54*a2e8c808SVinod Koul      - const: usb3_phy_wrapper_gcc_usb30_pipe_clk # Optional clock
55*a2e8c808SVinod Koul      - const: usb3_uni_phy_sec_gcc_usb30_pipe_clk # Optional clock
56*a2e8c808SVinod Koul    minItems: 2
57*a2e8c808SVinod Koul    maxItems: 13
58*a2e8c808SVinod Koul
59*a2e8c808SVinod Koul  '#clock-cells':
60*a2e8c808SVinod Koul    const: 1
61*a2e8c808SVinod Koul
62*a2e8c808SVinod Koul  '#reset-cells':
63*a2e8c808SVinod Koul    const: 1
64*a2e8c808SVinod Koul
65*a2e8c808SVinod Koul  '#power-domain-cells':
66*a2e8c808SVinod Koul    const: 1
67*a2e8c808SVinod Koul
68*a2e8c808SVinod Koul  reg:
69*a2e8c808SVinod Koul    maxItems: 1
70*a2e8c808SVinod Koul
71*a2e8c808SVinod Koulrequired:
72*a2e8c808SVinod Koul  - compatible
73*a2e8c808SVinod Koul  - clocks
74*a2e8c808SVinod Koul  - clock-names
75*a2e8c808SVinod Koul  - reg
76*a2e8c808SVinod Koul  - '#clock-cells'
77*a2e8c808SVinod Koul  - '#reset-cells'
78*a2e8c808SVinod Koul  - '#power-domain-cells'
79*a2e8c808SVinod Koul
80*a2e8c808SVinod KouladditionalProperties: false
81*a2e8c808SVinod Koul
82*a2e8c808SVinod Koulexamples:
83*a2e8c808SVinod Koul  - |
84*a2e8c808SVinod Koul    #include <dt-bindings/clock/qcom,rpmh.h>
85*a2e8c808SVinod Koul    clock-controller@100000 {
86*a2e8c808SVinod Koul      compatible = "qcom,gcc-sm8350";
87*a2e8c808SVinod Koul      reg = <0x00100000 0x1f0000>;
88*a2e8c808SVinod Koul      clocks = <&rpmhcc RPMH_CXO_CLK>,
89*a2e8c808SVinod Koul               <&sleep_clk>;
90*a2e8c808SVinod Koul      clock-names = "bi_tcxo", "sleep_clk";
91*a2e8c808SVinod Koul      #clock-cells = <1>;
92*a2e8c808SVinod Koul      #reset-cells = <1>;
93*a2e8c808SVinod Koul      #power-domain-cells = <1>;
94*a2e8c808SVinod Koul    };
95*a2e8c808SVinod Koul
96*a2e8c808SVinod Koul...
97