108d73b65SFabien Parent// SPDX-License-Identifier: GPL-2.0 208d73b65SFabien Parent/* 308d73b65SFabien Parent * Copyright (c) 2020 MediaTek Inc. 408d73b65SFabien Parent * Copyright (c) 2020 BayLibre, SAS. 508d73b65SFabien Parent * Author: Fabien Parent <fparent@baylibre.com> 608d73b65SFabien Parent */ 708d73b65SFabien Parent 808d73b65SFabien Parent#include <dt-bindings/clock/mt8167-clk.h> 908d73b65SFabien Parent#include <dt-bindings/memory/mt8167-larb-port.h> 10763e13f2SFabien Parent#include <dt-bindings/power/mt8167-power.h> 1108d73b65SFabien Parent 1208d73b65SFabien Parent#include "mt8167-pinfunc.h" 1308d73b65SFabien Parent 1408d73b65SFabien Parent#include "mt8516.dtsi" 1508d73b65SFabien Parent 1608d73b65SFabien Parent/ { 1708d73b65SFabien Parent compatible = "mediatek,mt8167"; 1808d73b65SFabien Parent 1908d73b65SFabien Parent soc { 2008d73b65SFabien Parent topckgen: topckgen@10000000 { 2108d73b65SFabien Parent compatible = "mediatek,mt8167-topckgen", "syscon"; 2208d73b65SFabien Parent reg = <0 0x10000000 0 0x1000>; 2308d73b65SFabien Parent #clock-cells = <1>; 2408d73b65SFabien Parent }; 2508d73b65SFabien Parent 2608d73b65SFabien Parent infracfg: infracfg@10001000 { 2708d73b65SFabien Parent compatible = "mediatek,mt8167-infracfg", "syscon"; 2808d73b65SFabien Parent reg = <0 0x10001000 0 0x1000>; 2908d73b65SFabien Parent #clock-cells = <1>; 3008d73b65SFabien Parent }; 3108d73b65SFabien Parent 3208d73b65SFabien Parent apmixedsys: apmixedsys@10018000 { 3308d73b65SFabien Parent compatible = "mediatek,mt8167-apmixedsys", "syscon"; 3408d73b65SFabien Parent reg = <0 0x10018000 0 0x710>; 3508d73b65SFabien Parent #clock-cells = <1>; 3608d73b65SFabien Parent }; 3708d73b65SFabien Parent 38763e13f2SFabien Parent scpsys: syscon@10006000 { 39d3dfd468STinghan Shen compatible = "mediatek,mt8167-scpsys", "syscon", "simple-mfd"; 40763e13f2SFabien Parent reg = <0 0x10006000 0 0x1000>; 41763e13f2SFabien Parent 42763e13f2SFabien Parent spm: power-controller { 43763e13f2SFabien Parent compatible = "mediatek,mt8167-power-controller"; 44763e13f2SFabien Parent #address-cells = <1>; 45763e13f2SFabien Parent #size-cells = <0>; 46763e13f2SFabien Parent #power-domain-cells = <1>; 47763e13f2SFabien Parent 48763e13f2SFabien Parent /* power domains of the SoC */ 49763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_MM { 50763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_MM>; 51763e13f2SFabien Parent clocks = <&topckgen CLK_TOP_SMI_MM>; 52763e13f2SFabien Parent clock-names = "mm"; 53763e13f2SFabien Parent #power-domain-cells = <0>; 54763e13f2SFabien Parent mediatek,infracfg = <&infracfg>; 55763e13f2SFabien Parent }; 56763e13f2SFabien Parent 57763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_VDEC { 58763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_VDEC>; 59763e13f2SFabien Parent clocks = <&topckgen CLK_TOP_SMI_MM>, 60763e13f2SFabien Parent <&topckgen CLK_TOP_RG_VDEC>; 61763e13f2SFabien Parent clock-names = "mm", "vdec"; 62763e13f2SFabien Parent #power-domain-cells = <0>; 63763e13f2SFabien Parent }; 64763e13f2SFabien Parent 65763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_ISP { 66763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_ISP>; 67763e13f2SFabien Parent clocks = <&topckgen CLK_TOP_SMI_MM>; 68763e13f2SFabien Parent clock-names = "mm"; 69763e13f2SFabien Parent #power-domain-cells = <0>; 70763e13f2SFabien Parent }; 71763e13f2SFabien Parent 72763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_MFG_ASYNC { 73763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_MFG_ASYNC>; 74763e13f2SFabien Parent clocks = <&topckgen CLK_TOP_RG_AXI_MFG>, 75763e13f2SFabien Parent <&topckgen CLK_TOP_RG_SLOW_MFG>; 76763e13f2SFabien Parent clock-names = "axi_mfg", "mfg"; 77763e13f2SFabien Parent #address-cells = <1>; 78763e13f2SFabien Parent #size-cells = <0>; 79763e13f2SFabien Parent #power-domain-cells = <1>; 80763e13f2SFabien Parent mediatek,infracfg = <&infracfg>; 81763e13f2SFabien Parent 82763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_MFG_2D { 83763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_MFG_2D>; 84763e13f2SFabien Parent #address-cells = <1>; 85763e13f2SFabien Parent #size-cells = <0>; 86763e13f2SFabien Parent #power-domain-cells = <1>; 87763e13f2SFabien Parent 88763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_MFG { 89763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_MFG>; 90763e13f2SFabien Parent #power-domain-cells = <0>; 91763e13f2SFabien Parent mediatek,infracfg = <&infracfg>; 92763e13f2SFabien Parent }; 93763e13f2SFabien Parent }; 94763e13f2SFabien Parent }; 95763e13f2SFabien Parent 96763e13f2SFabien Parent power-domain@MT8167_POWER_DOMAIN_CONN { 97763e13f2SFabien Parent reg = <MT8167_POWER_DOMAIN_CONN>; 98763e13f2SFabien Parent #power-domain-cells = <0>; 99763e13f2SFabien Parent mediatek,infracfg = <&infracfg>; 100763e13f2SFabien Parent }; 101763e13f2SFabien Parent }; 102763e13f2SFabien Parent }; 103763e13f2SFabien Parent 10408d73b65SFabien Parent imgsys: syscon@15000000 { 10508d73b65SFabien Parent compatible = "mediatek,mt8167-imgsys", "syscon"; 10608d73b65SFabien Parent reg = <0 0x15000000 0 0x1000>; 10708d73b65SFabien Parent #clock-cells = <1>; 10808d73b65SFabien Parent }; 10908d73b65SFabien Parent 11008d73b65SFabien Parent vdecsys: syscon@16000000 { 11108d73b65SFabien Parent compatible = "mediatek,mt8167-vdecsys", "syscon"; 11208d73b65SFabien Parent reg = <0 0x16000000 0 0x1000>; 11308d73b65SFabien Parent #clock-cells = <1>; 11408d73b65SFabien Parent }; 11508d73b65SFabien Parent 11608d73b65SFabien Parent pio: pinctrl@1000b000 { 11708d73b65SFabien Parent compatible = "mediatek,mt8167-pinctrl"; 11808d73b65SFabien Parent reg = <0 0x1000b000 0 0x1000>; 11908d73b65SFabien Parent mediatek,pctl-regmap = <&syscfg_pctl>; 12008d73b65SFabien Parent gpio-controller; 12108d73b65SFabien Parent #gpio-cells = <2>; 12208d73b65SFabien Parent interrupt-controller; 12308d73b65SFabien Parent #interrupt-cells = <2>; 12408d73b65SFabien Parent interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 12508d73b65SFabien Parent }; 12697e37d44SFabien Parent 127*40420096SMatthias Brugger mmsys: syscon@14000000 { 12897e37d44SFabien Parent compatible = "mediatek,mt8167-mmsys", "syscon"; 12997e37d44SFabien Parent reg = <0 0x14000000 0 0x1000>; 13097e37d44SFabien Parent #clock-cells = <1>; 13197e37d44SFabien Parent }; 132e7ead62eSFabien Parent 133e7ead62eSFabien Parent smi_common: smi@14017000 { 134e7ead62eSFabien Parent compatible = "mediatek,mt8167-smi-common"; 135e7ead62eSFabien Parent reg = <0 0x14017000 0 0x1000>; 136e7ead62eSFabien Parent clocks = <&mmsys CLK_MM_SMI_COMMON>, 137e7ead62eSFabien Parent <&mmsys CLK_MM_SMI_COMMON>; 138e7ead62eSFabien Parent clock-names = "apb", "smi"; 139e7ead62eSFabien Parent power-domains = <&spm MT8167_POWER_DOMAIN_MM>; 140e7ead62eSFabien Parent }; 1411a191c97SFabien Parent 1421a191c97SFabien Parent larb0: larb@14016000 { 1431a191c97SFabien Parent compatible = "mediatek,mt8167-smi-larb"; 1441a191c97SFabien Parent reg = <0 0x14016000 0 0x1000>; 1451a191c97SFabien Parent mediatek,smi = <&smi_common>; 1461a191c97SFabien Parent clocks = <&mmsys CLK_MM_SMI_LARB0>, 1471a191c97SFabien Parent <&mmsys CLK_MM_SMI_LARB0>; 1481a191c97SFabien Parent clock-names = "apb", "smi"; 1491a191c97SFabien Parent power-domains = <&spm MT8167_POWER_DOMAIN_MM>; 1501a191c97SFabien Parent }; 1511a191c97SFabien Parent 1521a191c97SFabien Parent larb1: larb@15001000 { 1531a191c97SFabien Parent compatible = "mediatek,mt8167-smi-larb"; 1541a191c97SFabien Parent reg = <0 0x15001000 0 0x1000>; 1551a191c97SFabien Parent mediatek,smi = <&smi_common>; 1561a191c97SFabien Parent clocks = <&imgsys CLK_IMG_LARB1_SMI>, 1571a191c97SFabien Parent <&imgsys CLK_IMG_LARB1_SMI>; 1581a191c97SFabien Parent clock-names = "apb", "smi"; 1591a191c97SFabien Parent power-domains = <&spm MT8167_POWER_DOMAIN_ISP>; 1601a191c97SFabien Parent }; 1611a191c97SFabien Parent 1621a191c97SFabien Parent larb2: larb@16010000 { 1631a191c97SFabien Parent compatible = "mediatek,mt8167-smi-larb"; 1641a191c97SFabien Parent reg = <0 0x16010000 0 0x1000>; 1651a191c97SFabien Parent mediatek,smi = <&smi_common>; 1661a191c97SFabien Parent clocks = <&vdecsys CLK_VDEC_CKEN>, 1671a191c97SFabien Parent <&vdecsys CLK_VDEC_LARB1_CKEN>; 1681a191c97SFabien Parent clock-names = "apb", "smi"; 1691a191c97SFabien Parent power-domains = <&spm MT8167_POWER_DOMAIN_VDEC>; 1701a191c97SFabien Parent }; 171d9fb91fdSFabien Parent 172d9fb91fdSFabien Parent iommu: m4u@10203000 { 173d9fb91fdSFabien Parent compatible = "mediatek,mt8167-m4u"; 174d9fb91fdSFabien Parent reg = <0 0x10203000 0 0x1000>; 17533c7874bSNícolas F. R. A. Prado mediatek,larbs = <&larb0>, <&larb1>, <&larb2>; 176d9fb91fdSFabien Parent interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_LOW>; 177d9fb91fdSFabien Parent #iommu-cells = <1>; 178d9fb91fdSFabien Parent }; 17908d73b65SFabien Parent }; 18008d73b65SFabien Parent}; 181