xref: /freebsd/sys/contrib/device-tree/Bindings/arm/mediatek/mediatek,mt8186-sys-clock.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt8186-sys-clock.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: MediaTek System Clock Controller for MT8186
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Chun-Jie Chen <chun-jie.chen@mediatek.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription: |
13d5b0e70fSEmmanuel Vadot  The clock architecture in MediaTek like below
14d5b0e70fSEmmanuel Vadot  PLLs -->
15d5b0e70fSEmmanuel Vadot          dividers -->
16d5b0e70fSEmmanuel Vadot                      muxes
17d5b0e70fSEmmanuel Vadot                           -->
18d5b0e70fSEmmanuel Vadot                              clock gate
19d5b0e70fSEmmanuel Vadot
20d5b0e70fSEmmanuel Vadot  The apmixedsys provides most of PLLs which generated from SoC 26m.
21d5b0e70fSEmmanuel Vadot  The topckgen provides dividers and muxes which provide the clock source to other IP blocks.
22d5b0e70fSEmmanuel Vadot  The infracfg_ao provides clock gate in peripheral and infrastructure IP blocks.
23d5b0e70fSEmmanuel Vadot  The mcusys provides mux control to select the clock source in AP MCU.
24d5b0e70fSEmmanuel Vadot  The device nodes also provide the system control capacity for configuration.
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadotproperties:
27d5b0e70fSEmmanuel Vadot  compatible:
28d5b0e70fSEmmanuel Vadot    items:
29d5b0e70fSEmmanuel Vadot      - enum:
30d5b0e70fSEmmanuel Vadot          - mediatek,mt8186-mcusys
31d5b0e70fSEmmanuel Vadot          - mediatek,mt8186-topckgen
32d5b0e70fSEmmanuel Vadot          - mediatek,mt8186-infracfg_ao
33d5b0e70fSEmmanuel Vadot          - mediatek,mt8186-apmixedsys
34d5b0e70fSEmmanuel Vadot      - const: syscon
35d5b0e70fSEmmanuel Vadot
36d5b0e70fSEmmanuel Vadot  reg:
37d5b0e70fSEmmanuel Vadot    maxItems: 1
38d5b0e70fSEmmanuel Vadot
39d5b0e70fSEmmanuel Vadot  '#clock-cells':
40d5b0e70fSEmmanuel Vadot    const: 1
41d5b0e70fSEmmanuel Vadot
42b97ee269SEmmanuel Vadot  '#reset-cells':
43b97ee269SEmmanuel Vadot    const: 1
44b97ee269SEmmanuel Vadot
45d5b0e70fSEmmanuel Vadotrequired:
46d5b0e70fSEmmanuel Vadot  - compatible
47d5b0e70fSEmmanuel Vadot  - reg
48d5b0e70fSEmmanuel Vadot
49d5b0e70fSEmmanuel VadotadditionalProperties: false
50d5b0e70fSEmmanuel Vadot
51d5b0e70fSEmmanuel Vadotexamples:
52d5b0e70fSEmmanuel Vadot  - |
53d5b0e70fSEmmanuel Vadot    topckgen: syscon@10000000 {
54d5b0e70fSEmmanuel Vadot        compatible = "mediatek,mt8186-topckgen", "syscon";
55d5b0e70fSEmmanuel Vadot        reg = <0x10000000 0x1000>;
56d5b0e70fSEmmanuel Vadot        #clock-cells = <1>;
57d5b0e70fSEmmanuel Vadot    };
58