13be51a3bSJohnson Wang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23be51a3bSJohnson Wang%YAML 1.2 33be51a3bSJohnson Wang--- 43be51a3bSJohnson Wang$id: http://devicetree.org/schemas/interconnect/mediatek,cci.yaml# 53be51a3bSJohnson Wang$schema: http://devicetree.org/meta-schemas/core.yaml# 63be51a3bSJohnson Wang 73be51a3bSJohnson Wangtitle: MediaTek Cache Coherent Interconnect (CCI) frequency and voltage scaling 83be51a3bSJohnson Wang 93be51a3bSJohnson Wangmaintainers: 103be51a3bSJohnson Wang - Jia-Wei Chang <jia-wei.chang@mediatek.com> 113be51a3bSJohnson Wang - Johnson Wang <johnson.wang@mediatek.com> 123be51a3bSJohnson Wang 133be51a3bSJohnson Wangdescription: | 143be51a3bSJohnson Wang MediaTek Cache Coherent Interconnect (CCI) is a hardware engine used by 153be51a3bSJohnson Wang MT8183 and MT8186 SoCs to scale the frequency and adjust the voltage in 163be51a3bSJohnson Wang hardware. It can also optimize the voltage to reduce the power consumption. 173be51a3bSJohnson Wang 183be51a3bSJohnson Wangproperties: 193be51a3bSJohnson Wang compatible: 203be51a3bSJohnson Wang enum: 213be51a3bSJohnson Wang - mediatek,mt8183-cci 223be51a3bSJohnson Wang - mediatek,mt8186-cci 233be51a3bSJohnson Wang 243be51a3bSJohnson Wang clocks: 253be51a3bSJohnson Wang items: 263be51a3bSJohnson Wang - description: 273be51a3bSJohnson Wang The multiplexer for clock input of the bus. 283be51a3bSJohnson Wang - description: 293be51a3bSJohnson Wang A parent of "bus" clock which is used as an intermediate clock source 303be51a3bSJohnson Wang when the original clock source (PLL) is under transition and not 313be51a3bSJohnson Wang stable yet. 323be51a3bSJohnson Wang 333be51a3bSJohnson Wang clock-names: 343be51a3bSJohnson Wang items: 353be51a3bSJohnson Wang - const: cci 363be51a3bSJohnson Wang - const: intermediate 373be51a3bSJohnson Wang 383be51a3bSJohnson Wang operating-points-v2: true 39*c8973737SKrzysztof Kozlowski opp-table: 40*c8973737SKrzysztof Kozlowski type: object 413be51a3bSJohnson Wang 423be51a3bSJohnson Wang proc-supply: 433be51a3bSJohnson Wang description: 443be51a3bSJohnson Wang Phandle of the regulator for CCI that provides the supply voltage. 453be51a3bSJohnson Wang 463be51a3bSJohnson Wang sram-supply: 473be51a3bSJohnson Wang description: 483be51a3bSJohnson Wang Phandle of the regulator for sram of CCI that provides the supply 493be51a3bSJohnson Wang voltage. When it is present, the implementation needs to do 503be51a3bSJohnson Wang "voltage tracking" to step by step scale up/down Vproc and Vsram to fit 513be51a3bSJohnson Wang SoC specific needs. When absent, the voltage scaling flow is handled by 523be51a3bSJohnson Wang hardware, hence no software "voltage tracking" is needed. 533be51a3bSJohnson Wang 543be51a3bSJohnson Wangrequired: 553be51a3bSJohnson Wang - compatible 563be51a3bSJohnson Wang - clocks 573be51a3bSJohnson Wang - clock-names 583be51a3bSJohnson Wang - operating-points-v2 593be51a3bSJohnson Wang - proc-supply 603be51a3bSJohnson Wang 613be51a3bSJohnson WangadditionalProperties: false 623be51a3bSJohnson Wang 633be51a3bSJohnson Wangexamples: 643be51a3bSJohnson Wang - | 653be51a3bSJohnson Wang #include <dt-bindings/clock/mt8183-clk.h> 663be51a3bSJohnson Wang cci: cci { 673be51a3bSJohnson Wang compatible = "mediatek,mt8183-cci"; 683be51a3bSJohnson Wang clocks = <&mcucfg CLK_MCU_BUS_SEL>, 693be51a3bSJohnson Wang <&topckgen CLK_TOP_ARMPLL_DIV_PLL1>; 703be51a3bSJohnson Wang clock-names = "cci", "intermediate"; 713be51a3bSJohnson Wang operating-points-v2 = <&cci_opp>; 723be51a3bSJohnson Wang proc-supply = <&mt6358_vproc12_reg>; 733be51a3bSJohnson Wang }; 743be51a3bSJohnson Wang 753be51a3bSJohnson Wang cci_opp: opp-table-cci { 763be51a3bSJohnson Wang compatible = "operating-points-v2"; 773be51a3bSJohnson Wang opp-shared; 783be51a3bSJohnson Wang opp2_00: opp-273000000 { 793be51a3bSJohnson Wang opp-hz = /bits/ 64 <273000000>; 803be51a3bSJohnson Wang opp-microvolt = <650000>; 813be51a3bSJohnson Wang }; 823be51a3bSJohnson Wang opp2_01: opp-338000000 { 833be51a3bSJohnson Wang opp-hz = /bits/ 64 <338000000>; 843be51a3bSJohnson Wang opp-microvolt = <687500>; 853be51a3bSJohnson Wang }; 863be51a3bSJohnson Wang opp2_02: opp-403000000 { 873be51a3bSJohnson Wang opp-hz = /bits/ 64 <403000000>; 883be51a3bSJohnson Wang opp-microvolt = <718750>; 893be51a3bSJohnson Wang }; 903be51a3bSJohnson Wang opp2_03: opp-463000000 { 913be51a3bSJohnson Wang opp-hz = /bits/ 64 <463000000>; 923be51a3bSJohnson Wang opp-microvolt = <756250>; 933be51a3bSJohnson Wang }; 943be51a3bSJohnson Wang opp2_04: opp-546000000 { 953be51a3bSJohnson Wang opp-hz = /bits/ 64 <546000000>; 963be51a3bSJohnson Wang opp-microvolt = <800000>; 973be51a3bSJohnson Wang }; 983be51a3bSJohnson Wang opp2_05: opp-624000000 { 993be51a3bSJohnson Wang opp-hz = /bits/ 64 <624000000>; 1003be51a3bSJohnson Wang opp-microvolt = <818750>; 1013be51a3bSJohnson Wang }; 1023be51a3bSJohnson Wang opp2_06: opp-689000000 { 1033be51a3bSJohnson Wang opp-hz = /bits/ 64 <689000000>; 1043be51a3bSJohnson Wang opp-microvolt = <850000>; 1053be51a3bSJohnson Wang }; 1063be51a3bSJohnson Wang opp2_07: opp-767000000 { 1073be51a3bSJohnson Wang opp-hz = /bits/ 64 <767000000>; 1083be51a3bSJohnson Wang opp-microvolt = <868750>; 1093be51a3bSJohnson Wang }; 1103be51a3bSJohnson Wang opp2_08: opp-845000000 { 1113be51a3bSJohnson Wang opp-hz = /bits/ 64 <845000000>; 1123be51a3bSJohnson Wang opp-microvolt = <893750>; 1133be51a3bSJohnson Wang }; 1143be51a3bSJohnson Wang opp2_09: opp-871000000 { 1153be51a3bSJohnson Wang opp-hz = /bits/ 64 <871000000>; 1163be51a3bSJohnson Wang opp-microvolt = <906250>; 1173be51a3bSJohnson Wang }; 1183be51a3bSJohnson Wang opp2_10: opp-923000000 { 1193be51a3bSJohnson Wang opp-hz = /bits/ 64 <923000000>; 1203be51a3bSJohnson Wang opp-microvolt = <931250>; 1213be51a3bSJohnson Wang }; 1223be51a3bSJohnson Wang opp2_11: opp-962000000 { 1233be51a3bSJohnson Wang opp-hz = /bits/ 64 <962000000>; 1243be51a3bSJohnson Wang opp-microvolt = <943750>; 1253be51a3bSJohnson Wang }; 1263be51a3bSJohnson Wang opp2_12: opp-1027000000 { 1273be51a3bSJohnson Wang opp-hz = /bits/ 64 <1027000000>; 1283be51a3bSJohnson Wang opp-microvolt = <975000>; 1293be51a3bSJohnson Wang }; 1303be51a3bSJohnson Wang opp2_13: opp-1092000000 { 1313be51a3bSJohnson Wang opp-hz = /bits/ 64 <1092000000>; 1323be51a3bSJohnson Wang opp-microvolt = <1000000>; 1333be51a3bSJohnson Wang }; 1343be51a3bSJohnson Wang opp2_14: opp-1144000000 { 1353be51a3bSJohnson Wang opp-hz = /bits/ 64 <1144000000>; 1363be51a3bSJohnson Wang opp-microvolt = <1025000>; 1373be51a3bSJohnson Wang }; 1383be51a3bSJohnson Wang opp2_15: opp-1196000000 { 1393be51a3bSJohnson Wang opp-hz = /bits/ 64 <1196000000>; 1403be51a3bSJohnson Wang opp-microvolt = <1050000>; 1413be51a3bSJohnson Wang }; 1423be51a3bSJohnson Wang }; 143