134d3ed3bSChun-Jie Chen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
234d3ed3bSChun-Jie Chen%YAML 1.2
334d3ed3bSChun-Jie Chen---
4*4b71ed9fSRob Herring$id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt8195-clock.yaml#
5*4b71ed9fSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
634d3ed3bSChun-Jie Chen
734d3ed3bSChun-Jie Chentitle: MediaTek Functional Clock Controller for MT8195
834d3ed3bSChun-Jie Chen
934d3ed3bSChun-Jie Chenmaintainers:
1034d3ed3bSChun-Jie Chen  - Chun-Jie Chen <chun-jie.chen@mediatek.com>
1134d3ed3bSChun-Jie Chen
1234d3ed3bSChun-Jie Chendescription:
1334d3ed3bSChun-Jie Chen  The clock architecture in Mediatek like below
1434d3ed3bSChun-Jie Chen  PLLs -->
1534d3ed3bSChun-Jie Chen          dividers -->
1634d3ed3bSChun-Jie Chen                      muxes
1734d3ed3bSChun-Jie Chen                           -->
1834d3ed3bSChun-Jie Chen                              clock gate
1934d3ed3bSChun-Jie Chen
2034d3ed3bSChun-Jie Chen  The devices except apusys_pll provide clock gate control in different IP blocks.
2134d3ed3bSChun-Jie Chen  The apusys_pll provides Plls which generated from SoC 26m for AI Processing Unit.
2234d3ed3bSChun-Jie Chen
2334d3ed3bSChun-Jie Chenproperties:
2434d3ed3bSChun-Jie Chen  compatible:
2534d3ed3bSChun-Jie Chen    items:
2634d3ed3bSChun-Jie Chen      - enum:
2734d3ed3bSChun-Jie Chen          - mediatek,mt8195-scp_adsp
2834d3ed3bSChun-Jie Chen          - mediatek,mt8195-imp_iic_wrap_s
2934d3ed3bSChun-Jie Chen          - mediatek,mt8195-imp_iic_wrap_w
3034d3ed3bSChun-Jie Chen          - mediatek,mt8195-mfgcfg
3134d3ed3bSChun-Jie Chen          - mediatek,mt8195-wpesys
3234d3ed3bSChun-Jie Chen          - mediatek,mt8195-wpesys_vpp0
3334d3ed3bSChun-Jie Chen          - mediatek,mt8195-wpesys_vpp1
3434d3ed3bSChun-Jie Chen          - mediatek,mt8195-imgsys
3534d3ed3bSChun-Jie Chen          - mediatek,mt8195-imgsys1_dip_top
3634d3ed3bSChun-Jie Chen          - mediatek,mt8195-imgsys1_dip_nr
3734d3ed3bSChun-Jie Chen          - mediatek,mt8195-imgsys1_wpe
3834d3ed3bSChun-Jie Chen          - mediatek,mt8195-ipesys
3934d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys
4034d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys_rawa
4134d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys_yuva
4234d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys_rawb
4334d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys_yuvb
4434d3ed3bSChun-Jie Chen          - mediatek,mt8195-camsys_mraw
4534d3ed3bSChun-Jie Chen          - mediatek,mt8195-ccusys
4634d3ed3bSChun-Jie Chen          - mediatek,mt8195-vdecsys_soc
4734d3ed3bSChun-Jie Chen          - mediatek,mt8195-vdecsys
4834d3ed3bSChun-Jie Chen          - mediatek,mt8195-vdecsys_core1
4934d3ed3bSChun-Jie Chen          - mediatek,mt8195-vencsys
5034d3ed3bSChun-Jie Chen          - mediatek,mt8195-vencsys_core1
5134d3ed3bSChun-Jie Chen          - mediatek,mt8195-apusys_pll
5234d3ed3bSChun-Jie Chen  reg:
5334d3ed3bSChun-Jie Chen    maxItems: 1
5434d3ed3bSChun-Jie Chen
5534d3ed3bSChun-Jie Chen  '#clock-cells':
5634d3ed3bSChun-Jie Chen    const: 1
5734d3ed3bSChun-Jie Chen
5834d3ed3bSChun-Jie Chenrequired:
5934d3ed3bSChun-Jie Chen  - compatible
6034d3ed3bSChun-Jie Chen  - reg
6134d3ed3bSChun-Jie Chen
6234d3ed3bSChun-Jie ChenadditionalProperties: false
6334d3ed3bSChun-Jie Chen
6434d3ed3bSChun-Jie Chenexamples:
6534d3ed3bSChun-Jie Chen  - |
6634d3ed3bSChun-Jie Chen    scp_adsp: clock-controller@10720000 {
6734d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-scp_adsp";
6834d3ed3bSChun-Jie Chen        reg = <0x10720000 0x1000>;
6934d3ed3bSChun-Jie Chen        #clock-cells = <1>;
7034d3ed3bSChun-Jie Chen    };
7134d3ed3bSChun-Jie Chen
7234d3ed3bSChun-Jie Chen  - |
7334d3ed3bSChun-Jie Chen    imp_iic_wrap_s: clock-controller@11d03000 {
7434d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imp_iic_wrap_s";
7534d3ed3bSChun-Jie Chen        reg = <0x11d03000 0x1000>;
7634d3ed3bSChun-Jie Chen        #clock-cells = <1>;
7734d3ed3bSChun-Jie Chen    };
7834d3ed3bSChun-Jie Chen
7934d3ed3bSChun-Jie Chen  - |
8034d3ed3bSChun-Jie Chen    imp_iic_wrap_w: clock-controller@11e05000 {
8134d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imp_iic_wrap_w";
8234d3ed3bSChun-Jie Chen        reg = <0x11e05000 0x1000>;
8334d3ed3bSChun-Jie Chen        #clock-cells = <1>;
8434d3ed3bSChun-Jie Chen    };
8534d3ed3bSChun-Jie Chen
8634d3ed3bSChun-Jie Chen  - |
8734d3ed3bSChun-Jie Chen    mfgcfg: clock-controller@13fbf000 {
8834d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-mfgcfg";
8934d3ed3bSChun-Jie Chen        reg = <0x13fbf000 0x1000>;
9034d3ed3bSChun-Jie Chen        #clock-cells = <1>;
9134d3ed3bSChun-Jie Chen    };
9234d3ed3bSChun-Jie Chen
9334d3ed3bSChun-Jie Chen  - |
9434d3ed3bSChun-Jie Chen    wpesys: clock-controller@14e00000 {
9534d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-wpesys";
9634d3ed3bSChun-Jie Chen        reg = <0x14e00000 0x1000>;
9734d3ed3bSChun-Jie Chen        #clock-cells = <1>;
9834d3ed3bSChun-Jie Chen    };
9934d3ed3bSChun-Jie Chen
10034d3ed3bSChun-Jie Chen  - |
10134d3ed3bSChun-Jie Chen    wpesys_vpp0: clock-controller@14e02000 {
10234d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-wpesys_vpp0";
10334d3ed3bSChun-Jie Chen        reg = <0x14e02000 0x1000>;
10434d3ed3bSChun-Jie Chen        #clock-cells = <1>;
10534d3ed3bSChun-Jie Chen    };
10634d3ed3bSChun-Jie Chen
10734d3ed3bSChun-Jie Chen  - |
10834d3ed3bSChun-Jie Chen    wpesys_vpp1: clock-controller@14e03000 {
10934d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-wpesys_vpp1";
11034d3ed3bSChun-Jie Chen        reg = <0x14e03000 0x1000>;
11134d3ed3bSChun-Jie Chen        #clock-cells = <1>;
11234d3ed3bSChun-Jie Chen    };
11334d3ed3bSChun-Jie Chen
11434d3ed3bSChun-Jie Chen  - |
11534d3ed3bSChun-Jie Chen    imgsys: clock-controller@15000000 {
11634d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imgsys";
11734d3ed3bSChun-Jie Chen        reg = <0x15000000 0x1000>;
11834d3ed3bSChun-Jie Chen        #clock-cells = <1>;
11934d3ed3bSChun-Jie Chen    };
12034d3ed3bSChun-Jie Chen
12134d3ed3bSChun-Jie Chen  - |
12234d3ed3bSChun-Jie Chen    imgsys1_dip_top: clock-controller@15110000 {
12334d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imgsys1_dip_top";
12434d3ed3bSChun-Jie Chen        reg = <0x15110000 0x1000>;
12534d3ed3bSChun-Jie Chen        #clock-cells = <1>;
12634d3ed3bSChun-Jie Chen    };
12734d3ed3bSChun-Jie Chen
12834d3ed3bSChun-Jie Chen  - |
12934d3ed3bSChun-Jie Chen    imgsys1_dip_nr: clock-controller@15130000 {
13034d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imgsys1_dip_nr";
13134d3ed3bSChun-Jie Chen        reg = <0x15130000 0x1000>;
13234d3ed3bSChun-Jie Chen        #clock-cells = <1>;
13334d3ed3bSChun-Jie Chen    };
13434d3ed3bSChun-Jie Chen
13534d3ed3bSChun-Jie Chen  - |
13634d3ed3bSChun-Jie Chen    imgsys1_wpe: clock-controller@15220000 {
13734d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-imgsys1_wpe";
13834d3ed3bSChun-Jie Chen        reg = <0x15220000 0x1000>;
13934d3ed3bSChun-Jie Chen        #clock-cells = <1>;
14034d3ed3bSChun-Jie Chen    };
14134d3ed3bSChun-Jie Chen
14234d3ed3bSChun-Jie Chen  - |
14334d3ed3bSChun-Jie Chen    ipesys: clock-controller@15330000 {
14434d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-ipesys";
14534d3ed3bSChun-Jie Chen        reg = <0x15330000 0x1000>;
14634d3ed3bSChun-Jie Chen        #clock-cells = <1>;
14734d3ed3bSChun-Jie Chen    };
14834d3ed3bSChun-Jie Chen
14934d3ed3bSChun-Jie Chen  - |
15034d3ed3bSChun-Jie Chen    camsys: clock-controller@16000000 {
15134d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys";
15234d3ed3bSChun-Jie Chen        reg = <0x16000000 0x1000>;
15334d3ed3bSChun-Jie Chen        #clock-cells = <1>;
15434d3ed3bSChun-Jie Chen    };
15534d3ed3bSChun-Jie Chen
15634d3ed3bSChun-Jie Chen  - |
15734d3ed3bSChun-Jie Chen    camsys_rawa: clock-controller@1604f000 {
15834d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys_rawa";
15934d3ed3bSChun-Jie Chen        reg = <0x1604f000 0x1000>;
16034d3ed3bSChun-Jie Chen        #clock-cells = <1>;
16134d3ed3bSChun-Jie Chen    };
16234d3ed3bSChun-Jie Chen
16334d3ed3bSChun-Jie Chen  - |
16434d3ed3bSChun-Jie Chen    camsys_yuva: clock-controller@1606f000 {
16534d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys_yuva";
16634d3ed3bSChun-Jie Chen        reg = <0x1606f000 0x1000>;
16734d3ed3bSChun-Jie Chen        #clock-cells = <1>;
16834d3ed3bSChun-Jie Chen    };
16934d3ed3bSChun-Jie Chen
17034d3ed3bSChun-Jie Chen  - |
17134d3ed3bSChun-Jie Chen    camsys_rawb: clock-controller@1608f000 {
17234d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys_rawb";
17334d3ed3bSChun-Jie Chen        reg = <0x1608f000 0x1000>;
17434d3ed3bSChun-Jie Chen        #clock-cells = <1>;
17534d3ed3bSChun-Jie Chen    };
17634d3ed3bSChun-Jie Chen
17734d3ed3bSChun-Jie Chen  - |
17834d3ed3bSChun-Jie Chen    camsys_yuvb: clock-controller@160af000 {
17934d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys_yuvb";
18034d3ed3bSChun-Jie Chen        reg = <0x160af000 0x1000>;
18134d3ed3bSChun-Jie Chen        #clock-cells = <1>;
18234d3ed3bSChun-Jie Chen    };
18334d3ed3bSChun-Jie Chen
18434d3ed3bSChun-Jie Chen  - |
18534d3ed3bSChun-Jie Chen    camsys_mraw: clock-controller@16140000 {
18634d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-camsys_mraw";
18734d3ed3bSChun-Jie Chen        reg = <0x16140000 0x1000>;
18834d3ed3bSChun-Jie Chen        #clock-cells = <1>;
18934d3ed3bSChun-Jie Chen    };
19034d3ed3bSChun-Jie Chen
19134d3ed3bSChun-Jie Chen  - |
19234d3ed3bSChun-Jie Chen    ccusys: clock-controller@17200000 {
19334d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-ccusys";
19434d3ed3bSChun-Jie Chen        reg = <0x17200000 0x1000>;
19534d3ed3bSChun-Jie Chen        #clock-cells = <1>;
19634d3ed3bSChun-Jie Chen    };
19734d3ed3bSChun-Jie Chen
19834d3ed3bSChun-Jie Chen  - |
19934d3ed3bSChun-Jie Chen    vdecsys_soc: clock-controller@1800f000 {
20034d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-vdecsys_soc";
20134d3ed3bSChun-Jie Chen        reg = <0x1800f000 0x1000>;
20234d3ed3bSChun-Jie Chen        #clock-cells = <1>;
20334d3ed3bSChun-Jie Chen    };
20434d3ed3bSChun-Jie Chen
20534d3ed3bSChun-Jie Chen  - |
20634d3ed3bSChun-Jie Chen    vdecsys: clock-controller@1802f000 {
20734d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-vdecsys";
20834d3ed3bSChun-Jie Chen        reg = <0x1802f000 0x1000>;
20934d3ed3bSChun-Jie Chen        #clock-cells = <1>;
21034d3ed3bSChun-Jie Chen    };
21134d3ed3bSChun-Jie Chen
21234d3ed3bSChun-Jie Chen  - |
21334d3ed3bSChun-Jie Chen    vdecsys_core1: clock-controller@1803f000 {
21434d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-vdecsys_core1";
21534d3ed3bSChun-Jie Chen        reg = <0x1803f000 0x1000>;
21634d3ed3bSChun-Jie Chen        #clock-cells = <1>;
21734d3ed3bSChun-Jie Chen    };
21834d3ed3bSChun-Jie Chen
21934d3ed3bSChun-Jie Chen  - |
22034d3ed3bSChun-Jie Chen    vencsys: clock-controller@1a000000 {
22134d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-vencsys";
22234d3ed3bSChun-Jie Chen        reg = <0x1a000000 0x1000>;
22334d3ed3bSChun-Jie Chen        #clock-cells = <1>;
22434d3ed3bSChun-Jie Chen    };
22534d3ed3bSChun-Jie Chen
22634d3ed3bSChun-Jie Chen  - |
22734d3ed3bSChun-Jie Chen    vencsys_core1: clock-controller@1b000000 {
22834d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-vencsys_core1";
22934d3ed3bSChun-Jie Chen        reg = <0x1b000000 0x1000>;
23034d3ed3bSChun-Jie Chen        #clock-cells = <1>;
23134d3ed3bSChun-Jie Chen    };
23234d3ed3bSChun-Jie Chen
23334d3ed3bSChun-Jie Chen  - |
23434d3ed3bSChun-Jie Chen    apusys_pll: clock-controller@190f3000 {
23534d3ed3bSChun-Jie Chen        compatible = "mediatek,mt8195-apusys_pll";
23634d3ed3bSChun-Jie Chen        reg = <0x190f3000 0x1000>;
23734d3ed3bSChun-Jie Chen        #clock-cells = <1>;
23834d3ed3bSChun-Jie Chen    };
239