xref: /freebsd/sys/contrib/device-tree/Bindings/arm/mediatek/mediatek,mt8195-sys-clock.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt8195-sys-clock.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
78cc087a1SEmmanuel Vadottitle: MediaTek System Clock Controller for MT8195
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Chun-Jie Chen <chun-jie.chen@mediatek.com>
118cc087a1SEmmanuel Vadot
128cc087a1SEmmanuel Vadotdescription:
138cc087a1SEmmanuel Vadot  The clock architecture in Mediatek like below
148cc087a1SEmmanuel Vadot  PLLs -->
158cc087a1SEmmanuel Vadot          dividers -->
168cc087a1SEmmanuel Vadot                      muxes
178cc087a1SEmmanuel Vadot                           -->
188cc087a1SEmmanuel Vadot                              clock gate
198cc087a1SEmmanuel Vadot
208cc087a1SEmmanuel Vadot  The apmixedsys provides most of PLLs which generated from SoC 26m.
218cc087a1SEmmanuel Vadot  The topckgen provides dividers and muxes which provide the clock source to other IP blocks.
228cc087a1SEmmanuel Vadot  The infracfg_ao and pericfg_ao provides clock gate in peripheral and infrastructure IP blocks.
238cc087a1SEmmanuel Vadot
248cc087a1SEmmanuel Vadotproperties:
258cc087a1SEmmanuel Vadot  compatible:
268cc087a1SEmmanuel Vadot    items:
278cc087a1SEmmanuel Vadot      - enum:
288cc087a1SEmmanuel Vadot          - mediatek,mt8195-topckgen
298cc087a1SEmmanuel Vadot          - mediatek,mt8195-infracfg_ao
308cc087a1SEmmanuel Vadot          - mediatek,mt8195-apmixedsys
318cc087a1SEmmanuel Vadot          - mediatek,mt8195-pericfg_ao
328cc087a1SEmmanuel Vadot      - const: syscon
338cc087a1SEmmanuel Vadot
348cc087a1SEmmanuel Vadot  reg:
358cc087a1SEmmanuel Vadot    maxItems: 1
368cc087a1SEmmanuel Vadot
378cc087a1SEmmanuel Vadot  '#clock-cells':
388cc087a1SEmmanuel Vadot    const: 1
398cc087a1SEmmanuel Vadot
40b97ee269SEmmanuel Vadot  '#reset-cells':
41b97ee269SEmmanuel Vadot    const: 1
42b97ee269SEmmanuel Vadot
438cc087a1SEmmanuel Vadotrequired:
448cc087a1SEmmanuel Vadot  - compatible
458cc087a1SEmmanuel Vadot  - reg
468cc087a1SEmmanuel Vadot
478cc087a1SEmmanuel VadotadditionalProperties: false
488cc087a1SEmmanuel Vadot
498cc087a1SEmmanuel Vadotexamples:
508cc087a1SEmmanuel Vadot  - |
518cc087a1SEmmanuel Vadot    topckgen: syscon@10000000 {
528cc087a1SEmmanuel Vadot        compatible = "mediatek,mt8195-topckgen", "syscon";
538cc087a1SEmmanuel Vadot        reg = <0x10000000 0x1000>;
548cc087a1SEmmanuel Vadot        #clock-cells = <1>;
558cc087a1SEmmanuel Vadot    };
568cc087a1SEmmanuel Vadot
578cc087a1SEmmanuel Vadot  - |
588cc087a1SEmmanuel Vadot    infracfg_ao: syscon@10001000 {
598cc087a1SEmmanuel Vadot        compatible = "mediatek,mt8195-infracfg_ao", "syscon";
608cc087a1SEmmanuel Vadot        reg = <0x10001000 0x1000>;
618cc087a1SEmmanuel Vadot        #clock-cells = <1>;
628cc087a1SEmmanuel Vadot    };
638cc087a1SEmmanuel Vadot
648cc087a1SEmmanuel Vadot  - |
658cc087a1SEmmanuel Vadot    apmixedsys: syscon@1000c000 {
668cc087a1SEmmanuel Vadot        compatible = "mediatek,mt8195-apmixedsys", "syscon";
678cc087a1SEmmanuel Vadot        reg = <0x1000c000 0x1000>;
688cc087a1SEmmanuel Vadot        #clock-cells = <1>;
698cc087a1SEmmanuel Vadot    };
708cc087a1SEmmanuel Vadot
718cc087a1SEmmanuel Vadot  - |
728cc087a1SEmmanuel Vadot    pericfg_ao: syscon@11003000 {
738cc087a1SEmmanuel Vadot        compatible = "mediatek,mt8195-pericfg_ao", "syscon";
748cc087a1SEmmanuel Vadot        reg = <0x11003000 0x1000>;
758cc087a1SEmmanuel Vadot        #clock-cells = <1>;
768cc087a1SEmmanuel Vadot    };
77