Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: clock: mediatek: Convert MediaTek clock syscons to schema

Convert the various MediaTek syscon bindings which are a clock provider
into DT schema format. As they are all the same other than compatible
string, combine them into a single schema file.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240807-dt-mediatek-clk-v1-3-e8d568abfd48@kernel.org
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Rob Herring (Arm) and committed by
Stephen Boyd
cd86437c c1a9a21f

+93 -345
-24
Documentation/devicetree/bindings/arm/mediatek/mediatek,bdpsys.txt
··· 1 - Mediatek bdpsys controller 2 - ============================ 3 - 4 - The Mediatek bdpsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be: 9 - - "mediatek,mt2701-bdpsys", "syscon" 10 - - "mediatek,mt2712-bdpsys", "syscon" 11 - - "mediatek,mt7623-bdpsys", "mediatek,mt2701-bdpsys", "syscon" 12 - - #clock-cells: Must be 1 13 - 14 - The bdpsys controller uses the common clk binding from 15 - Documentation/devicetree/bindings/clock/clock-bindings.txt 16 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 17 - 18 - Example: 19 - 20 - bdpsys: clock-controller@1c000000 { 21 - compatible = "mediatek,mt2701-bdpsys", "syscon"; 22 - reg = <0 0x1c000000 0 0x1000>; 23 - #clock-cells = <1>; 24 - };
-24
Documentation/devicetree/bindings/arm/mediatek/mediatek,camsys.txt
··· 1 - MediaTek CAMSYS controller 2 - ============================ 3 - 4 - The MediaTek camsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt6765-camsys", "syscon" 10 - - "mediatek,mt6779-camsys", "syscon" 11 - - "mediatek,mt8183-camsys", "syscon" 12 - - #clock-cells: Must be 1 13 - 14 - The camsys controller uses the common clk binding from 15 - Documentation/devicetree/bindings/clock/clock-bindings.txt 16 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 17 - 18 - Example: 19 - 20 - camsys: camsys@1a000000 { 21 - compatible = "mediatek,mt8183-camsys", "syscon"; 22 - reg = <0 0x1a000000 0 0x1000>; 23 - #clock-cells = <1>; 24 - };
-30
Documentation/devicetree/bindings/arm/mediatek/mediatek,imgsys.txt
··· 1 - Mediatek imgsys controller 2 - ============================ 3 - 4 - The Mediatek imgsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt2701-imgsys", "syscon" 10 - - "mediatek,mt2712-imgsys", "syscon" 11 - - "mediatek,mt6765-imgsys", "syscon" 12 - - "mediatek,mt6779-imgsys", "syscon" 13 - - "mediatek,mt6797-imgsys", "syscon" 14 - - "mediatek,mt7623-imgsys", "mediatek,mt2701-imgsys", "syscon" 15 - - "mediatek,mt8167-imgsys", "syscon" 16 - - "mediatek,mt8173-imgsys", "syscon" 17 - - "mediatek,mt8183-imgsys", "syscon" 18 - - #clock-cells: Must be 1 19 - 20 - The imgsys controller uses the common clk binding from 21 - Documentation/devicetree/bindings/clock/clock-bindings.txt 22 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 23 - 24 - Example: 25 - 26 - imgsys: clock-controller@15000000 { 27 - compatible = "mediatek,mt8173-imgsys", "syscon"; 28 - reg = <0 0x15000000 0 0x1000>; 29 - #clock-cells = <1>; 30 - };
-22
Documentation/devicetree/bindings/arm/mediatek/mediatek,ipesys.txt
··· 1 - Mediatek ipesys controller 2 - ============================ 3 - 4 - The Mediatek ipesys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt6779-ipesys", "syscon" 10 - - #clock-cells: Must be 1 11 - 12 - The ipesys controller uses the common clk binding from 13 - Documentation/devicetree/bindings/clock/clock-bindings.txt 14 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 15 - 16 - Example: 17 - 18 - ipesys: clock-controller@1b000000 { 19 - compatible = "mediatek,mt6779-ipesys", "syscon"; 20 - reg = <0 0x1b000000 0 0x1000>; 21 - #clock-cells = <1>; 22 - };
-43
Documentation/devicetree/bindings/arm/mediatek/mediatek,ipu.txt
··· 1 - Mediatek IPU controller 2 - ============================ 3 - 4 - The Mediatek ipu controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt8183-ipu_conn", "syscon" 10 - - "mediatek,mt8183-ipu_adl", "syscon" 11 - - "mediatek,mt8183-ipu_core0", "syscon" 12 - - "mediatek,mt8183-ipu_core1", "syscon" 13 - - #clock-cells: Must be 1 14 - 15 - The ipu controller uses the common clk binding from 16 - Documentation/devicetree/bindings/clock/clock-bindings.txt 17 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 18 - 19 - Example: 20 - 21 - ipu_conn: syscon@19000000 { 22 - compatible = "mediatek,mt8183-ipu_conn", "syscon"; 23 - reg = <0 0x19000000 0 0x1000>; 24 - #clock-cells = <1>; 25 - }; 26 - 27 - ipu_adl: syscon@19010000 { 28 - compatible = "mediatek,mt8183-ipu_adl", "syscon"; 29 - reg = <0 0x19010000 0 0x1000>; 30 - #clock-cells = <1>; 31 - }; 32 - 33 - ipu_core0: syscon@19180000 { 34 - compatible = "mediatek,mt8183-ipu_core0", "syscon"; 35 - reg = <0 0x19180000 0 0x1000>; 36 - #clock-cells = <1>; 37 - }; 38 - 39 - ipu_core1: syscon@19280000 { 40 - compatible = "mediatek,mt8183-ipu_core1", "syscon"; 41 - reg = <0 0x19280000 0 0x1000>; 42 - #clock-cells = <1>; 43 - };
-22
Documentation/devicetree/bindings/arm/mediatek/mediatek,jpgdecsys.txt
··· 1 - Mediatek jpgdecsys controller 2 - ============================ 3 - 4 - The Mediatek jpgdecsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be: 9 - - "mediatek,mt2712-jpgdecsys", "syscon" 10 - - #clock-cells: Must be 1 11 - 12 - The jpgdecsys controller uses the common clk binding from 13 - Documentation/devicetree/bindings/clock/clock-bindings.txt 14 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 15 - 16 - Example: 17 - 18 - jpgdecsys: syscon@19000000 { 19 - compatible = "mediatek,mt2712-jpgdecsys", "syscon"; 20 - reg = <0 0x19000000 0 0x1000>; 21 - #clock-cells = <1>; 22 - };
-23
Documentation/devicetree/bindings/arm/mediatek/mediatek,mcucfg.txt
··· 1 - Mediatek mcucfg controller 2 - ============================ 3 - 4 - The Mediatek mcucfg controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt2712-mcucfg", "syscon" 10 - - "mediatek,mt8183-mcucfg", "syscon" 11 - - #clock-cells: Must be 1 12 - 13 - The mcucfg controller uses the common clk binding from 14 - Documentation/devicetree/bindings/clock/clock-bindings.txt 15 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 16 - 17 - Example: 18 - 19 - mcucfg: syscon@10220000 { 20 - compatible = "mediatek,mt2712-mcucfg", "syscon"; 21 - reg = <0 0x10220000 0 0x1000>; 22 - #clock-cells = <1>; 23 - };
-25
Documentation/devicetree/bindings/arm/mediatek/mediatek,mfgcfg.txt
··· 1 - Mediatek mfgcfg controller 2 - ============================ 3 - 4 - The Mediatek mfgcfg controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt2712-mfgcfg", "syscon" 10 - - "mediatek,mt6779-mfgcfg", "syscon" 11 - - "mediatek,mt8167-mfgcfg", "syscon" 12 - - "mediatek,mt8183-mfgcfg", "syscon" 13 - - #clock-cells: Must be 1 14 - 15 - The mfgcfg controller uses the common clk binding from 16 - Documentation/devicetree/bindings/clock/clock-bindings.txt 17 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 18 - 19 - Example: 20 - 21 - mfgcfg: syscon@13000000 { 22 - compatible = "mediatek,mt2712-mfgcfg", "syscon"; 23 - reg = <0 0x13000000 0 0x1000>; 24 - #clock-cells = <1>; 25 - };
-28
Documentation/devicetree/bindings/arm/mediatek/mediatek,mipi0a.txt
··· 1 - Mediatek mipi0a (mipi_rx_ana_csi0a) controller 2 - ============================ 3 - 4 - The Mediatek mipi0a controller provides various clocks 5 - to the system. 6 - 7 - Required Properties: 8 - 9 - - compatible: Should be one of: 10 - - "mediatek,mt6765-mipi0a", "syscon" 11 - - #clock-cells: Must be 1 12 - 13 - The mipi0a controller uses the common clk binding from 14 - Documentation/devicetree/bindings/clock/clock-bindings.txt 15 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 16 - 17 - The mipi0a controller also uses the common power domain from 18 - Documentation/devicetree/bindings/soc/mediatek/scpsys.txt 19 - The available power domains are defined in dt-bindings/power/mt*-power.h. 20 - 21 - Example: 22 - 23 - mipi0a: clock-controller@11c10000 { 24 - compatible = "mediatek,mt6765-mipi0a", "syscon"; 25 - reg = <0 0x11c10000 0 0x1000>; 26 - power-domains = <&scpsys MT6765_POWER_DOMAIN_CAM>; 27 - #clock-cells = <1>; 28 - };
-27
Documentation/devicetree/bindings/arm/mediatek/mediatek,vcodecsys.txt
··· 1 - Mediatek vcodecsys controller 2 - ============================ 3 - 4 - The Mediatek vcodecsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt6765-vcodecsys", "syscon" 10 - - #clock-cells: Must be 1 11 - 12 - The vcodecsys controller uses the common clk binding from 13 - Documentation/devicetree/bindings/clock/clock-bindings.txt 14 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 15 - 16 - The vcodecsys controller also uses the common power domain from 17 - Documentation/devicetree/bindings/soc/mediatek/scpsys.txt 18 - The available power domains are defined in dt-bindings/power/mt*-power.h. 19 - 20 - Example: 21 - 22 - venc_gcon: clock-controller@17000000 { 23 - compatible = "mediatek,mt6765-vcodecsys", "syscon"; 24 - reg = <0 0x17000000 0 0x10000>; 25 - power-domains = <&scpsys MT6765_POWER_DOMAIN_VCODEC>; 26 - #clock-cells = <1>; 27 - };
-29
Documentation/devicetree/bindings/arm/mediatek/mediatek,vdecsys.txt
··· 1 - Mediatek vdecsys controller 2 - ============================ 3 - 4 - The Mediatek vdecsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt2701-vdecsys", "syscon" 10 - - "mediatek,mt2712-vdecsys", "syscon" 11 - - "mediatek,mt6779-vdecsys", "syscon" 12 - - "mediatek,mt6797-vdecsys", "syscon" 13 - - "mediatek,mt7623-vdecsys", "mediatek,mt2701-vdecsys", "syscon" 14 - - "mediatek,mt8167-vdecsys", "syscon" 15 - - "mediatek,mt8173-vdecsys", "syscon" 16 - - "mediatek,mt8183-vdecsys", "syscon" 17 - - #clock-cells: Must be 1 18 - 19 - The vdecsys controller uses the common clk binding from 20 - Documentation/devicetree/bindings/clock/clock-bindings.txt 21 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 22 - 23 - Example: 24 - 25 - vdecsys: clock-controller@16000000 { 26 - compatible = "mediatek,mt8173-vdecsys", "syscon"; 27 - reg = <0 0x16000000 0 0x1000>; 28 - #clock-cells = <1>; 29 - };
-22
Documentation/devicetree/bindings/arm/mediatek/mediatek,vencltsys.txt
··· 1 - Mediatek vencltsys controller 2 - ============================ 3 - 4 - The Mediatek vencltsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be: 9 - - "mediatek,mt8173-vencltsys", "syscon" 10 - - #clock-cells: Must be 1 11 - 12 - The vencltsys controller uses the common clk binding from 13 - Documentation/devicetree/bindings/clock/clock-bindings.txt 14 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 15 - 16 - Example: 17 - 18 - vencltsys: clock-controller@19000000 { 19 - compatible = "mediatek,mt8173-vencltsys", "syscon"; 20 - reg = <0 0x19000000 0 0x1000>; 21 - #clock-cells = <1>; 22 - };
-26
Documentation/devicetree/bindings/arm/mediatek/mediatek,vencsys.txt
··· 1 - Mediatek vencsys controller 2 - ============================ 3 - 4 - The Mediatek vencsys controller provides various clocks to the system. 5 - 6 - Required Properties: 7 - 8 - - compatible: Should be one of: 9 - - "mediatek,mt2712-vencsys", "syscon" 10 - - "mediatek,mt6779-vencsys", "syscon" 11 - - "mediatek,mt6797-vencsys", "syscon" 12 - - "mediatek,mt8173-vencsys", "syscon" 13 - - "mediatek,mt8183-vencsys", "syscon" 14 - - #clock-cells: Must be 1 15 - 16 - The vencsys controller uses the common clk binding from 17 - Documentation/devicetree/bindings/clock/clock-bindings.txt 18 - The available clocks are defined in dt-bindings/clock/mt*-clk.h. 19 - 20 - Example: 21 - 22 - vencsys: clock-controller@18000000 { 23 - compatible = "mediatek,mt8173-vencsys", "syscon"; 24 - reg = <0 0x18000000 0 0x1000>; 25 - #clock-cells = <1>; 26 - };
+93
Documentation/devicetree/bindings/clock/mediatek,syscon.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/mediatek,syscon.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek Clock controller syscon's 8 + 9 + maintainers: 10 + - Matthias Brugger <matthias.bgg@gmail.com> 11 + - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 12 + 13 + description: 14 + The MediaTek clock controller syscon's provide various clocks to the system. 15 + 16 + properties: 17 + compatible: 18 + oneOf: 19 + - items: 20 + - enum: 21 + - mediatek,mt2701-bdpsys 22 + - mediatek,mt2701-imgsys 23 + - mediatek,mt2701-vdecsys 24 + - mediatek,mt2712-bdpsys 25 + - mediatek,mt2712-imgsys 26 + - mediatek,mt2712-jpgdecsys 27 + - mediatek,mt2712-mcucfg 28 + - mediatek,mt2712-mfgcfg 29 + - mediatek,mt2712-vdecsys 30 + - mediatek,mt2712-vencsys 31 + - mediatek,mt6765-camsys 32 + - mediatek,mt6765-imgsys 33 + - mediatek,mt6765-mipi0a 34 + - mediatek,mt6765-vcodecsys 35 + - mediatek,mt6779-camsys 36 + - mediatek,mt6779-imgsys 37 + - mediatek,mt6779-ipesys 38 + - mediatek,mt6779-mfgcfg 39 + - mediatek,mt6779-vdecsys 40 + - mediatek,mt6779-vencsys 41 + - mediatek,mt6797-imgsys 42 + - mediatek,mt6797-vdecsys 43 + - mediatek,mt6797-vencsys 44 + - mediatek,mt8167-imgsys 45 + - mediatek,mt8167-mfgcfg 46 + - mediatek,mt8167-vdecsys 47 + - mediatek,mt8173-imgsys 48 + - mediatek,mt8173-vdecsys 49 + - mediatek,mt8173-vencltsys 50 + - mediatek,mt8173-vencsys 51 + - mediatek,mt8183-camsys 52 + - mediatek,mt8183-imgsys 53 + - mediatek,mt8183-ipu_conn 54 + - mediatek,mt8183-ipu_adl 55 + - mediatek,mt8183-ipu_core0 56 + - mediatek,mt8183-ipu_core1 57 + - mediatek,mt8183-mcucfg 58 + - mediatek,mt8183-mfgcfg 59 + - mediatek,mt8183-vdecsys 60 + - mediatek,mt8183-vencsys 61 + - const: syscon 62 + - items: 63 + - const: mediatek,mt7623-bdpsys 64 + - const: mediatek,mt2701-bdpsys 65 + - const: syscon 66 + - items: 67 + - const: mediatek,mt7623-imgsys 68 + - const: mediatek,mt2701-imgsys 69 + - const: syscon 70 + - items: 71 + - const: mediatek,mt7623-vdecsys 72 + - const: mediatek,mt2701-vdecsys 73 + - const: syscon 74 + 75 + reg: 76 + maxItems: 1 77 + 78 + '#clock-cells': 79 + const: 1 80 + 81 + required: 82 + - compatible 83 + - '#clock-cells' 84 + 85 + additionalProperties: false 86 + 87 + examples: 88 + - | 89 + clock-controller@11220000 { 90 + compatible = "mediatek,mt2701-bdpsys", "syscon"; 91 + reg = <0x11220000 0x2000>; 92 + #clock-cells = <1>; 93 + };