1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*b2d2a78aSEmmanuel Vadot%YAML 1.2 3*b2d2a78aSEmmanuel Vadot--- 4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/mediatek,mt8195-sys-clock.yaml# 5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b2d2a78aSEmmanuel Vadot 7*b2d2a78aSEmmanuel Vadottitle: MediaTek System Clock Controller for MT8195 8*b2d2a78aSEmmanuel Vadot 9*b2d2a78aSEmmanuel Vadotmaintainers: 10*b2d2a78aSEmmanuel Vadot - Chun-Jie Chen <chun-jie.chen@mediatek.com> 11*b2d2a78aSEmmanuel Vadot 12*b2d2a78aSEmmanuel Vadotdescription: 13*b2d2a78aSEmmanuel Vadot The clock architecture in Mediatek like below 14*b2d2a78aSEmmanuel Vadot PLLs --> 15*b2d2a78aSEmmanuel Vadot dividers --> 16*b2d2a78aSEmmanuel Vadot muxes 17*b2d2a78aSEmmanuel Vadot --> 18*b2d2a78aSEmmanuel Vadot clock gate 19*b2d2a78aSEmmanuel Vadot 20*b2d2a78aSEmmanuel Vadot The apmixedsys provides most of PLLs which generated from SoC 26m. 21*b2d2a78aSEmmanuel Vadot The topckgen provides dividers and muxes which provide the clock source to other IP blocks. 22*b2d2a78aSEmmanuel Vadot The infracfg_ao and pericfg_ao provides clock gate in peripheral and infrastructure IP blocks. 23*b2d2a78aSEmmanuel Vadot 24*b2d2a78aSEmmanuel Vadotproperties: 25*b2d2a78aSEmmanuel Vadot compatible: 26*b2d2a78aSEmmanuel Vadot items: 27*b2d2a78aSEmmanuel Vadot - enum: 28*b2d2a78aSEmmanuel Vadot - mediatek,mt8195-topckgen 29*b2d2a78aSEmmanuel Vadot - mediatek,mt8195-infracfg_ao 30*b2d2a78aSEmmanuel Vadot - mediatek,mt8195-apmixedsys 31*b2d2a78aSEmmanuel Vadot - mediatek,mt8195-pericfg_ao 32*b2d2a78aSEmmanuel Vadot - const: syscon 33*b2d2a78aSEmmanuel Vadot 34*b2d2a78aSEmmanuel Vadot reg: 35*b2d2a78aSEmmanuel Vadot maxItems: 1 36*b2d2a78aSEmmanuel Vadot 37*b2d2a78aSEmmanuel Vadot '#clock-cells': 38*b2d2a78aSEmmanuel Vadot const: 1 39*b2d2a78aSEmmanuel Vadot 40*b2d2a78aSEmmanuel Vadot '#reset-cells': 41*b2d2a78aSEmmanuel Vadot const: 1 42*b2d2a78aSEmmanuel Vadot 43*b2d2a78aSEmmanuel Vadotrequired: 44*b2d2a78aSEmmanuel Vadot - compatible 45*b2d2a78aSEmmanuel Vadot - reg 46*b2d2a78aSEmmanuel Vadot 47*b2d2a78aSEmmanuel VadotadditionalProperties: false 48*b2d2a78aSEmmanuel Vadot 49*b2d2a78aSEmmanuel Vadotexamples: 50*b2d2a78aSEmmanuel Vadot - | 51*b2d2a78aSEmmanuel Vadot topckgen: syscon@10000000 { 52*b2d2a78aSEmmanuel Vadot compatible = "mediatek,mt8195-topckgen", "syscon"; 53*b2d2a78aSEmmanuel Vadot reg = <0x10000000 0x1000>; 54*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 55*b2d2a78aSEmmanuel Vadot }; 56*b2d2a78aSEmmanuel Vadot 57*b2d2a78aSEmmanuel Vadot - | 58*b2d2a78aSEmmanuel Vadot infracfg_ao: syscon@10001000 { 59*b2d2a78aSEmmanuel Vadot compatible = "mediatek,mt8195-infracfg_ao", "syscon"; 60*b2d2a78aSEmmanuel Vadot reg = <0x10001000 0x1000>; 61*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 62*b2d2a78aSEmmanuel Vadot }; 63*b2d2a78aSEmmanuel Vadot 64*b2d2a78aSEmmanuel Vadot - | 65*b2d2a78aSEmmanuel Vadot apmixedsys: syscon@1000c000 { 66*b2d2a78aSEmmanuel Vadot compatible = "mediatek,mt8195-apmixedsys", "syscon"; 67*b2d2a78aSEmmanuel Vadot reg = <0x1000c000 0x1000>; 68*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 69*b2d2a78aSEmmanuel Vadot }; 70*b2d2a78aSEmmanuel Vadot 71*b2d2a78aSEmmanuel Vadot - | 72*b2d2a78aSEmmanuel Vadot pericfg_ao: syscon@11003000 { 73*b2d2a78aSEmmanuel Vadot compatible = "mediatek,mt8195-pericfg_ao", "syscon"; 74*b2d2a78aSEmmanuel Vadot reg = <0x11003000 0x1000>; 75*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 76*b2d2a78aSEmmanuel Vadot }; 77