15def4c47SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 25def4c47SEmmanuel Vadot/* 35def4c47SEmmanuel Vadot * Copyright (c) 2020 MediaTek Inc. 45def4c47SEmmanuel Vadot * Copyright (c) 2020 BayLibre, SAS. 55def4c47SEmmanuel Vadot * Author: Fabien Parent <fparent@baylibre.com> 65def4c47SEmmanuel Vadot */ 75def4c47SEmmanuel Vadot 85def4c47SEmmanuel Vadot#include <dt-bindings/clock/mt8167-clk.h> 95def4c47SEmmanuel Vadot#include <dt-bindings/memory/mt8167-larb-port.h> 105956d97fSEmmanuel Vadot#include <dt-bindings/power/mt8167-power.h> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadot#include "mt8167-pinfunc.h" 135def4c47SEmmanuel Vadot 145def4c47SEmmanuel Vadot#include "mt8516.dtsi" 155def4c47SEmmanuel Vadot 165def4c47SEmmanuel Vadot/ { 175def4c47SEmmanuel Vadot compatible = "mediatek,mt8167"; 185def4c47SEmmanuel Vadot 195def4c47SEmmanuel Vadot soc { 205def4c47SEmmanuel Vadot topckgen: topckgen@10000000 { 215def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-topckgen", "syscon"; 225def4c47SEmmanuel Vadot reg = <0 0x10000000 0 0x1000>; 235def4c47SEmmanuel Vadot #clock-cells = <1>; 245def4c47SEmmanuel Vadot }; 255def4c47SEmmanuel Vadot 265def4c47SEmmanuel Vadot infracfg: infracfg@10001000 { 275def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-infracfg", "syscon"; 285def4c47SEmmanuel Vadot reg = <0 0x10001000 0 0x1000>; 295def4c47SEmmanuel Vadot #clock-cells = <1>; 305def4c47SEmmanuel Vadot }; 315def4c47SEmmanuel Vadot 325def4c47SEmmanuel Vadot apmixedsys: apmixedsys@10018000 { 335def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-apmixedsys", "syscon"; 345def4c47SEmmanuel Vadot reg = <0 0x10018000 0 0x710>; 355def4c47SEmmanuel Vadot #clock-cells = <1>; 365def4c47SEmmanuel Vadot }; 375def4c47SEmmanuel Vadot 385956d97fSEmmanuel Vadot scpsys: syscon@10006000 { 397ef62cebSEmmanuel Vadot compatible = "mediatek,mt8167-scpsys", "syscon", "simple-mfd"; 405956d97fSEmmanuel Vadot reg = <0 0x10006000 0 0x1000>; 415956d97fSEmmanuel Vadot 425956d97fSEmmanuel Vadot spm: power-controller { 435956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-power-controller"; 445956d97fSEmmanuel Vadot #address-cells = <1>; 455956d97fSEmmanuel Vadot #size-cells = <0>; 465956d97fSEmmanuel Vadot #power-domain-cells = <1>; 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot /* power domains of the SoC */ 495956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_MM { 505956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_MM>; 515956d97fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SMI_MM>; 525956d97fSEmmanuel Vadot clock-names = "mm"; 535956d97fSEmmanuel Vadot #power-domain-cells = <0>; 545956d97fSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 555956d97fSEmmanuel Vadot }; 565956d97fSEmmanuel Vadot 575956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_VDEC { 585956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_VDEC>; 595956d97fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SMI_MM>, 605956d97fSEmmanuel Vadot <&topckgen CLK_TOP_RG_VDEC>; 615956d97fSEmmanuel Vadot clock-names = "mm", "vdec"; 625956d97fSEmmanuel Vadot #power-domain-cells = <0>; 635956d97fSEmmanuel Vadot }; 645956d97fSEmmanuel Vadot 655956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_ISP { 665956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_ISP>; 675956d97fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_SMI_MM>; 685956d97fSEmmanuel Vadot clock-names = "mm"; 695956d97fSEmmanuel Vadot #power-domain-cells = <0>; 705956d97fSEmmanuel Vadot }; 715956d97fSEmmanuel Vadot 725956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_MFG_ASYNC { 735956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_MFG_ASYNC>; 745956d97fSEmmanuel Vadot clocks = <&topckgen CLK_TOP_RG_AXI_MFG>, 755956d97fSEmmanuel Vadot <&topckgen CLK_TOP_RG_SLOW_MFG>; 765956d97fSEmmanuel Vadot clock-names = "axi_mfg", "mfg"; 775956d97fSEmmanuel Vadot #address-cells = <1>; 785956d97fSEmmanuel Vadot #size-cells = <0>; 795956d97fSEmmanuel Vadot #power-domain-cells = <1>; 805956d97fSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 815956d97fSEmmanuel Vadot 825956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_MFG_2D { 835956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_MFG_2D>; 845956d97fSEmmanuel Vadot #address-cells = <1>; 855956d97fSEmmanuel Vadot #size-cells = <0>; 865956d97fSEmmanuel Vadot #power-domain-cells = <1>; 875956d97fSEmmanuel Vadot 885956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_MFG { 895956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_MFG>; 905956d97fSEmmanuel Vadot #power-domain-cells = <0>; 915956d97fSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 925956d97fSEmmanuel Vadot }; 935956d97fSEmmanuel Vadot }; 945956d97fSEmmanuel Vadot }; 955956d97fSEmmanuel Vadot 965956d97fSEmmanuel Vadot power-domain@MT8167_POWER_DOMAIN_CONN { 975956d97fSEmmanuel Vadot reg = <MT8167_POWER_DOMAIN_CONN>; 985956d97fSEmmanuel Vadot #power-domain-cells = <0>; 995956d97fSEmmanuel Vadot mediatek,infracfg = <&infracfg>; 1005956d97fSEmmanuel Vadot }; 1015956d97fSEmmanuel Vadot }; 1025956d97fSEmmanuel Vadot }; 1035956d97fSEmmanuel Vadot 1045def4c47SEmmanuel Vadot imgsys: syscon@15000000 { 1055def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-imgsys", "syscon"; 1065def4c47SEmmanuel Vadot reg = <0 0x15000000 0 0x1000>; 1075def4c47SEmmanuel Vadot #clock-cells = <1>; 1085def4c47SEmmanuel Vadot }; 1095def4c47SEmmanuel Vadot 1105def4c47SEmmanuel Vadot vdecsys: syscon@16000000 { 1115def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-vdecsys", "syscon"; 1125def4c47SEmmanuel Vadot reg = <0 0x16000000 0 0x1000>; 1135def4c47SEmmanuel Vadot #clock-cells = <1>; 1145def4c47SEmmanuel Vadot }; 1155def4c47SEmmanuel Vadot 1165def4c47SEmmanuel Vadot pio: pinctrl@1000b000 { 1175def4c47SEmmanuel Vadot compatible = "mediatek,mt8167-pinctrl"; 1185def4c47SEmmanuel Vadot reg = <0 0x1000b000 0 0x1000>; 1195def4c47SEmmanuel Vadot mediatek,pctl-regmap = <&syscfg_pctl>; 1205def4c47SEmmanuel Vadot gpio-controller; 1215def4c47SEmmanuel Vadot #gpio-cells = <2>; 1225def4c47SEmmanuel Vadot interrupt-controller; 1235def4c47SEmmanuel Vadot #interrupt-cells = <2>; 1245def4c47SEmmanuel Vadot interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 1255def4c47SEmmanuel Vadot }; 1265956d97fSEmmanuel Vadot 127*fac71e4eSEmmanuel Vadot mmsys: syscon@14000000 { 1285956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-mmsys", "syscon"; 1295956d97fSEmmanuel Vadot reg = <0 0x14000000 0 0x1000>; 1305956d97fSEmmanuel Vadot #clock-cells = <1>; 1315956d97fSEmmanuel Vadot }; 1325956d97fSEmmanuel Vadot 1335956d97fSEmmanuel Vadot smi_common: smi@14017000 { 1345956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-smi-common"; 1355956d97fSEmmanuel Vadot reg = <0 0x14017000 0 0x1000>; 1365956d97fSEmmanuel Vadot clocks = <&mmsys CLK_MM_SMI_COMMON>, 1375956d97fSEmmanuel Vadot <&mmsys CLK_MM_SMI_COMMON>; 1385956d97fSEmmanuel Vadot clock-names = "apb", "smi"; 1395956d97fSEmmanuel Vadot power-domains = <&spm MT8167_POWER_DOMAIN_MM>; 1405956d97fSEmmanuel Vadot }; 1415956d97fSEmmanuel Vadot 1425956d97fSEmmanuel Vadot larb0: larb@14016000 { 1435956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-smi-larb"; 1445956d97fSEmmanuel Vadot reg = <0 0x14016000 0 0x1000>; 1455956d97fSEmmanuel Vadot mediatek,smi = <&smi_common>; 1465956d97fSEmmanuel Vadot clocks = <&mmsys CLK_MM_SMI_LARB0>, 1475956d97fSEmmanuel Vadot <&mmsys CLK_MM_SMI_LARB0>; 1485956d97fSEmmanuel Vadot clock-names = "apb", "smi"; 1495956d97fSEmmanuel Vadot power-domains = <&spm MT8167_POWER_DOMAIN_MM>; 1505956d97fSEmmanuel Vadot }; 1515956d97fSEmmanuel Vadot 1525956d97fSEmmanuel Vadot larb1: larb@15001000 { 1535956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-smi-larb"; 1545956d97fSEmmanuel Vadot reg = <0 0x15001000 0 0x1000>; 1555956d97fSEmmanuel Vadot mediatek,smi = <&smi_common>; 1565956d97fSEmmanuel Vadot clocks = <&imgsys CLK_IMG_LARB1_SMI>, 1575956d97fSEmmanuel Vadot <&imgsys CLK_IMG_LARB1_SMI>; 1585956d97fSEmmanuel Vadot clock-names = "apb", "smi"; 1595956d97fSEmmanuel Vadot power-domains = <&spm MT8167_POWER_DOMAIN_ISP>; 1605956d97fSEmmanuel Vadot }; 1615956d97fSEmmanuel Vadot 1625956d97fSEmmanuel Vadot larb2: larb@16010000 { 1635956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-smi-larb"; 1645956d97fSEmmanuel Vadot reg = <0 0x16010000 0 0x1000>; 1655956d97fSEmmanuel Vadot mediatek,smi = <&smi_common>; 1665956d97fSEmmanuel Vadot clocks = <&vdecsys CLK_VDEC_CKEN>, 1675956d97fSEmmanuel Vadot <&vdecsys CLK_VDEC_LARB1_CKEN>; 1685956d97fSEmmanuel Vadot clock-names = "apb", "smi"; 1695956d97fSEmmanuel Vadot power-domains = <&spm MT8167_POWER_DOMAIN_VDEC>; 1705956d97fSEmmanuel Vadot }; 1715956d97fSEmmanuel Vadot 1725956d97fSEmmanuel Vadot iommu: m4u@10203000 { 1735956d97fSEmmanuel Vadot compatible = "mediatek,mt8167-m4u"; 1745956d97fSEmmanuel Vadot reg = <0 0x10203000 0 0x1000>; 175d5b0e70fSEmmanuel Vadot mediatek,larbs = <&larb0>, <&larb1>, <&larb2>; 1765956d97fSEmmanuel Vadot interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_LOW>; 1775956d97fSEmmanuel Vadot #iommu-cells = <1>; 1785956d97fSEmmanuel Vadot }; 1795def4c47SEmmanuel Vadot }; 1805def4c47SEmmanuel Vadot}; 181