xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/clock/qcom,sdm845-dispcc.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun%YAML 1.2
3*4882a593Smuzhiyun---
4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/clock/qcom,sdm845-dispcc.yaml#
5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyuntitle: Qualcomm Display Clock & Reset Controller Binding for SDM845
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunmaintainers:
10*4882a593Smuzhiyun  - Taniya Das <tdas@codeaurora.org>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyundescription: |
13*4882a593Smuzhiyun  Qualcomm display clock control module which supports the clocks, resets and
14*4882a593Smuzhiyun  power domains on SDM845.
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun  See also dt-bindings/clock/qcom,dispcc-sdm845.h.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunproperties:
19*4882a593Smuzhiyun  compatible:
20*4882a593Smuzhiyun    const: qcom,sdm845-dispcc
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun  # NOTE: sdm845.dtsi existed for quite some time and specified no clocks.
23*4882a593Smuzhiyun  # The code had to use hardcoded mechanisms to find the input clocks.
24*4882a593Smuzhiyun  # New dts files should have these clocks.
25*4882a593Smuzhiyun  clocks:
26*4882a593Smuzhiyun    items:
27*4882a593Smuzhiyun      - description: Board XO source
28*4882a593Smuzhiyun      - description: GPLL0 source from GCC
29*4882a593Smuzhiyun      - description: GPLL0 div source from GCC
30*4882a593Smuzhiyun      - description: Byte clock from DSI PHY0
31*4882a593Smuzhiyun      - description: Pixel clock from DSI PHY0
32*4882a593Smuzhiyun      - description: Byte clock from DSI PHY1
33*4882a593Smuzhiyun      - description: Pixel clock from DSI PHY1
34*4882a593Smuzhiyun      - description: Link clock from DP PHY
35*4882a593Smuzhiyun      - description: VCO DIV clock from DP PHY
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun  clock-names:
38*4882a593Smuzhiyun    items:
39*4882a593Smuzhiyun      - const: bi_tcxo
40*4882a593Smuzhiyun      - const: gcc_disp_gpll0_clk_src
41*4882a593Smuzhiyun      - const: gcc_disp_gpll0_div_clk_src
42*4882a593Smuzhiyun      - const: dsi0_phy_pll_out_byteclk
43*4882a593Smuzhiyun      - const: dsi0_phy_pll_out_dsiclk
44*4882a593Smuzhiyun      - const: dsi1_phy_pll_out_byteclk
45*4882a593Smuzhiyun      - const: dsi1_phy_pll_out_dsiclk
46*4882a593Smuzhiyun      - const: dp_link_clk_divsel_ten
47*4882a593Smuzhiyun      - const: dp_vco_divided_clk_src_mux
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun  '#clock-cells':
50*4882a593Smuzhiyun    const: 1
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun  '#reset-cells':
53*4882a593Smuzhiyun    const: 1
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun  '#power-domain-cells':
56*4882a593Smuzhiyun    const: 1
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun  reg:
59*4882a593Smuzhiyun    maxItems: 1
60*4882a593Smuzhiyun
61*4882a593Smuzhiyunrequired:
62*4882a593Smuzhiyun  - compatible
63*4882a593Smuzhiyun  - reg
64*4882a593Smuzhiyun  - clocks
65*4882a593Smuzhiyun  - clock-names
66*4882a593Smuzhiyun  - '#clock-cells'
67*4882a593Smuzhiyun  - '#reset-cells'
68*4882a593Smuzhiyun  - '#power-domain-cells'
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunadditionalProperties: false
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunexamples:
73*4882a593Smuzhiyun  - |
74*4882a593Smuzhiyun    #include <dt-bindings/clock/qcom,gcc-sdm845.h>
75*4882a593Smuzhiyun    #include <dt-bindings/clock/qcom,rpmh.h>
76*4882a593Smuzhiyun    clock-controller@af00000 {
77*4882a593Smuzhiyun      compatible = "qcom,sdm845-dispcc";
78*4882a593Smuzhiyun      reg = <0x0af00000 0x10000>;
79*4882a593Smuzhiyun      clocks = <&rpmhcc RPMH_CXO_CLK>,
80*4882a593Smuzhiyun               <&gcc GCC_DISP_GPLL0_CLK_SRC>,
81*4882a593Smuzhiyun               <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>,
82*4882a593Smuzhiyun               <&dsi0_phy 0>,
83*4882a593Smuzhiyun               <&dsi0_phy 1>,
84*4882a593Smuzhiyun               <&dsi1_phy 0>,
85*4882a593Smuzhiyun               <&dsi1_phy 1>,
86*4882a593Smuzhiyun               <&dp_phy 0>,
87*4882a593Smuzhiyun               <&dp_phy 1>;
88*4882a593Smuzhiyun      clock-names = "bi_tcxo",
89*4882a593Smuzhiyun                    "gcc_disp_gpll0_clk_src",
90*4882a593Smuzhiyun                    "gcc_disp_gpll0_div_clk_src",
91*4882a593Smuzhiyun                    "dsi0_phy_pll_out_byteclk",
92*4882a593Smuzhiyun                    "dsi0_phy_pll_out_dsiclk",
93*4882a593Smuzhiyun                    "dsi1_phy_pll_out_byteclk",
94*4882a593Smuzhiyun                    "dsi1_phy_pll_out_dsiclk",
95*4882a593Smuzhiyun                    "dp_link_clk_divsel_ten",
96*4882a593Smuzhiyun                    "dp_vco_divided_clk_src_mux";
97*4882a593Smuzhiyun      #clock-cells = <1>;
98*4882a593Smuzhiyun      #reset-cells = <1>;
99*4882a593Smuzhiyun      #power-domain-cells = <1>;
100*4882a593Smuzhiyun    };
101*4882a593Smuzhiyun...
102