1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright © 2017-2020 MediaTek Inc. 4*724ba675SRob Herring * Author: Sean Wang <sean.wang@mediatek.com> 5*724ba675SRob Herring * Ryder Lee <ryder.lee@mediatek.com> 6*724ba675SRob Herring * 7*724ba675SRob Herring */ 8*724ba675SRob Herring 9*724ba675SRob Herring#include "mt7623.dtsi" 10*724ba675SRob Herring#include <dt-bindings/memory/mt2701-larb-port.h> 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring aliases { 14*724ba675SRob Herring rdma0 = &rdma0; 15*724ba675SRob Herring rdma1 = &rdma1; 16*724ba675SRob Herring }; 17*724ba675SRob Herring 18*724ba675SRob Herring g3dsys: syscon@13000000 { 19*724ba675SRob Herring compatible = "mediatek,mt7623-g3dsys", 20*724ba675SRob Herring "mediatek,mt2701-g3dsys", 21*724ba675SRob Herring "syscon"; 22*724ba675SRob Herring reg = <0 0x13000000 0 0x200>; 23*724ba675SRob Herring #clock-cells = <1>; 24*724ba675SRob Herring #reset-cells = <1>; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring mali: gpu@13040000 { 28*724ba675SRob Herring compatible = "mediatek,mt7623-mali", "arm,mali-450"; 29*724ba675SRob Herring reg = <0 0x13040000 0 0x30000>; 30*724ba675SRob Herring interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_LOW>, 31*724ba675SRob Herring <GIC_SPI 171 IRQ_TYPE_LEVEL_LOW>, 32*724ba675SRob Herring <GIC_SPI 172 IRQ_TYPE_LEVEL_LOW>, 33*724ba675SRob Herring <GIC_SPI 173 IRQ_TYPE_LEVEL_LOW>, 34*724ba675SRob Herring <GIC_SPI 174 IRQ_TYPE_LEVEL_LOW>, 35*724ba675SRob Herring <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>, 36*724ba675SRob Herring <GIC_SPI 176 IRQ_TYPE_LEVEL_LOW>, 37*724ba675SRob Herring <GIC_SPI 177 IRQ_TYPE_LEVEL_LOW>, 38*724ba675SRob Herring <GIC_SPI 178 IRQ_TYPE_LEVEL_LOW>, 39*724ba675SRob Herring <GIC_SPI 179 IRQ_TYPE_LEVEL_LOW>, 40*724ba675SRob Herring <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>; 41*724ba675SRob Herring interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1", 42*724ba675SRob Herring "ppmmu1", "pp2", "ppmmu2", "pp3", "ppmmu3", 43*724ba675SRob Herring "pp"; 44*724ba675SRob Herring clocks = <&topckgen CLK_TOP_MMPLL>, 45*724ba675SRob Herring <&g3dsys CLK_G3DSYS_CORE>; 46*724ba675SRob Herring clock-names = "bus", "core"; 47*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_MFG>; 48*724ba675SRob Herring resets = <&g3dsys MT2701_G3DSYS_CORE_RST>; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring mmsys: syscon@14000000 { 52*724ba675SRob Herring compatible = "mediatek,mt7623-mmsys", 53*724ba675SRob Herring "mediatek,mt2701-mmsys", 54*724ba675SRob Herring "syscon"; 55*724ba675SRob Herring reg = <0 0x14000000 0 0x1000>; 56*724ba675SRob Herring #clock-cells = <1>; 57*724ba675SRob Herring }; 58*724ba675SRob Herring 59*724ba675SRob Herring larb0: larb@14010000 { 60*724ba675SRob Herring compatible = "mediatek,mt7623-smi-larb", 61*724ba675SRob Herring "mediatek,mt2701-smi-larb"; 62*724ba675SRob Herring reg = <0 0x14010000 0 0x1000>; 63*724ba675SRob Herring mediatek,smi = <&smi_common>; 64*724ba675SRob Herring mediatek,larb-id = <0>; 65*724ba675SRob Herring clocks = <&mmsys CLK_MM_SMI_LARB0>, 66*724ba675SRob Herring <&mmsys CLK_MM_SMI_LARB0>; 67*724ba675SRob Herring clock-names = "apb", "smi"; 68*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>; 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring larb1: larb@16010000 { 72*724ba675SRob Herring compatible = "mediatek,mt7623-smi-larb", 73*724ba675SRob Herring "mediatek,mt2701-smi-larb"; 74*724ba675SRob Herring reg = <0 0x16010000 0 0x1000>; 75*724ba675SRob Herring mediatek,smi = <&smi_common>; 76*724ba675SRob Herring mediatek,larb-id = <1>; 77*724ba675SRob Herring clocks = <&vdecsys CLK_VDEC_CKGEN>, 78*724ba675SRob Herring <&vdecsys CLK_VDEC_LARB>; 79*724ba675SRob Herring clock-names = "apb", "smi"; 80*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_VDEC>; 81*724ba675SRob Herring }; 82*724ba675SRob Herring 83*724ba675SRob Herring larb2: larb@15001000 { 84*724ba675SRob Herring compatible = "mediatek,mt7623-smi-larb", 85*724ba675SRob Herring "mediatek,mt2701-smi-larb"; 86*724ba675SRob Herring reg = <0 0x15001000 0 0x1000>; 87*724ba675SRob Herring mediatek,smi = <&smi_common>; 88*724ba675SRob Herring mediatek,larb-id = <2>; 89*724ba675SRob Herring clocks = <&imgsys CLK_IMG_SMI_COMM>, 90*724ba675SRob Herring <&imgsys CLK_IMG_SMI_COMM>; 91*724ba675SRob Herring clock-names = "apb", "smi"; 92*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>; 93*724ba675SRob Herring }; 94*724ba675SRob Herring 95*724ba675SRob Herring imgsys: syscon@15000000 { 96*724ba675SRob Herring compatible = "mediatek,mt7623-imgsys", 97*724ba675SRob Herring "mediatek,mt2701-imgsys", 98*724ba675SRob Herring "syscon"; 99*724ba675SRob Herring reg = <0 0x15000000 0 0x1000>; 100*724ba675SRob Herring #clock-cells = <1>; 101*724ba675SRob Herring }; 102*724ba675SRob Herring 103*724ba675SRob Herring iommu: mmsys_iommu@10205000 { 104*724ba675SRob Herring compatible = "mediatek,mt7623-m4u", 105*724ba675SRob Herring "mediatek,mt2701-m4u"; 106*724ba675SRob Herring reg = <0 0x10205000 0 0x1000>; 107*724ba675SRob Herring interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_LOW>; 108*724ba675SRob Herring clocks = <&infracfg CLK_INFRA_M4U>; 109*724ba675SRob Herring clock-names = "bclk"; 110*724ba675SRob Herring mediatek,larbs = <&larb0 &larb1 &larb2>; 111*724ba675SRob Herring #iommu-cells = <1>; 112*724ba675SRob Herring }; 113*724ba675SRob Herring 114*724ba675SRob Herring jpegdec: jpegdec@15004000 { 115*724ba675SRob Herring compatible = "mediatek,mt7623-jpgdec", 116*724ba675SRob Herring "mediatek,mt2701-jpgdec"; 117*724ba675SRob Herring reg = <0 0x15004000 0 0x1000>; 118*724ba675SRob Herring interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>; 119*724ba675SRob Herring clocks = <&imgsys CLK_IMG_JPGDEC_SMI>, 120*724ba675SRob Herring <&imgsys CLK_IMG_JPGDEC>; 121*724ba675SRob Herring clock-names = "jpgdec-smi", 122*724ba675SRob Herring "jpgdec"; 123*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>; 124*724ba675SRob Herring iommus = <&iommu MT2701_M4U_PORT_JPGDEC_WDMA>, 125*724ba675SRob Herring <&iommu MT2701_M4U_PORT_JPGDEC_BSDMA>; 126*724ba675SRob Herring }; 127*724ba675SRob Herring 128*724ba675SRob Herring smi_common: smi@1000c000 { 129*724ba675SRob Herring compatible = "mediatek,mt7623-smi-common", 130*724ba675SRob Herring "mediatek,mt2701-smi-common"; 131*724ba675SRob Herring reg = <0 0x1000c000 0 0x1000>; 132*724ba675SRob Herring clocks = <&infracfg CLK_INFRA_SMI>, 133*724ba675SRob Herring <&mmsys CLK_MM_SMI_COMMON>, 134*724ba675SRob Herring <&infracfg CLK_INFRA_SMI>; 135*724ba675SRob Herring clock-names = "apb", "smi", "async"; 136*724ba675SRob Herring power-domains = <&scpsys MT2701_POWER_DOMAIN_DISP>; 137*724ba675SRob Herring }; 138*724ba675SRob Herring 139*724ba675SRob Herring ovl: ovl@14007000 { 140*724ba675SRob Herring compatible = "mediatek,mt7623-disp-ovl", 141*724ba675SRob Herring "mediatek,mt2701-disp-ovl"; 142*724ba675SRob Herring reg = <0 0x14007000 0 0x1000>; 143*724ba675SRob Herring interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_LOW>; 144*724ba675SRob Herring clocks = <&mmsys CLK_MM_DISP_OVL>; 145*724ba675SRob Herring iommus = <&iommu MT2701_M4U_PORT_DISP_OVL_0>; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring rdma0: rdma@14008000 { 149*724ba675SRob Herring compatible = "mediatek,mt7623-disp-rdma", 150*724ba675SRob Herring "mediatek,mt2701-disp-rdma"; 151*724ba675SRob Herring reg = <0 0x14008000 0 0x1000>; 152*724ba675SRob Herring interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>; 153*724ba675SRob Herring clocks = <&mmsys CLK_MM_DISP_RDMA>; 154*724ba675SRob Herring iommus = <&iommu MT2701_M4U_PORT_DISP_RDMA>; 155*724ba675SRob Herring }; 156*724ba675SRob Herring 157*724ba675SRob Herring wdma@14009000 { 158*724ba675SRob Herring compatible = "mediatek,mt7623-disp-wdma", 159*724ba675SRob Herring "mediatek,mt2701-disp-wdma"; 160*724ba675SRob Herring reg = <0 0x14009000 0 0x1000>; 161*724ba675SRob Herring interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_LOW>; 162*724ba675SRob Herring clocks = <&mmsys CLK_MM_DISP_WDMA>; 163*724ba675SRob Herring iommus = <&iommu MT2701_M4U_PORT_DISP_WDMA>; 164*724ba675SRob Herring }; 165*724ba675SRob Herring 166*724ba675SRob Herring bls: pwm@1400a000 { 167*724ba675SRob Herring compatible = "mediatek,mt7623-disp-pwm", 168*724ba675SRob Herring "mediatek,mt2701-disp-pwm"; 169*724ba675SRob Herring reg = <0 0x1400a000 0 0x1000>; 170*724ba675SRob Herring #pwm-cells = <2>; 171*724ba675SRob Herring clocks = <&mmsys CLK_MM_MDP_BLS_26M>, 172*724ba675SRob Herring <&mmsys CLK_MM_DISP_BLS>; 173*724ba675SRob Herring clock-names = "main", "mm"; 174*724ba675SRob Herring status = "disabled"; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring color: color@1400b000 { 178*724ba675SRob Herring compatible = "mediatek,mt7623-disp-color", 179*724ba675SRob Herring "mediatek,mt2701-disp-color"; 180*724ba675SRob Herring reg = <0 0x1400b000 0 0x1000>; 181*724ba675SRob Herring interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_LOW>; 182*724ba675SRob Herring clocks = <&mmsys CLK_MM_DISP_COLOR>; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring dsi: dsi@1400c000 { 186*724ba675SRob Herring compatible = "mediatek,mt7623-dsi", 187*724ba675SRob Herring "mediatek,mt2701-dsi"; 188*724ba675SRob Herring reg = <0 0x1400c000 0 0x1000>; 189*724ba675SRob Herring interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_LOW>; 190*724ba675SRob Herring clocks = <&mmsys CLK_MM_DSI_ENGINE>, 191*724ba675SRob Herring <&mmsys CLK_MM_DSI_DIG>, 192*724ba675SRob Herring <&mipi_tx0>; 193*724ba675SRob Herring clock-names = "engine", "digital", "hs"; 194*724ba675SRob Herring phys = <&mipi_tx0>; 195*724ba675SRob Herring phy-names = "dphy"; 196*724ba675SRob Herring status = "disabled"; 197*724ba675SRob Herring }; 198*724ba675SRob Herring 199*724ba675SRob Herring mutex: mutex@1400e000 { 200*724ba675SRob Herring compatible = "mediatek,mt7623-disp-mutex", 201*724ba675SRob Herring "mediatek,mt2701-disp-mutex"; 202*724ba675SRob Herring reg = <0 0x1400e000 0 0x1000>; 203*724ba675SRob Herring interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>; 204*724ba675SRob Herring clocks = <&mmsys CLK_MM_MUTEX_32K>; 205*724ba675SRob Herring }; 206*724ba675SRob Herring 207*724ba675SRob Herring rdma1: rdma@14012000 { 208*724ba675SRob Herring compatible = "mediatek,mt7623-disp-rdma", 209*724ba675SRob Herring "mediatek,mt2701-disp-rdma"; 210*724ba675SRob Herring reg = <0 0x14012000 0 0x1000>; 211*724ba675SRob Herring interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>; 212*724ba675SRob Herring clocks = <&mmsys CLK_MM_DISP_RDMA1>; 213*724ba675SRob Herring iommus = <&iommu MT2701_M4U_PORT_DISP_RDMA1>; 214*724ba675SRob Herring }; 215*724ba675SRob Herring 216*724ba675SRob Herring dpi0: dpi@14014000 { 217*724ba675SRob Herring compatible = "mediatek,mt7623-dpi", 218*724ba675SRob Herring "mediatek,mt2701-dpi"; 219*724ba675SRob Herring reg = <0 0x14014000 0 0x1000>; 220*724ba675SRob Herring interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>; 221*724ba675SRob Herring clocks = <&mmsys CLK_MM_DPI1_DIGL>, 222*724ba675SRob Herring <&mmsys CLK_MM_DPI1_ENGINE>, 223*724ba675SRob Herring <&apmixedsys CLK_APMIXED_TVDPLL>; 224*724ba675SRob Herring clock-names = "pixel", "engine", "pll"; 225*724ba675SRob Herring status = "disabled"; 226*724ba675SRob Herring }; 227*724ba675SRob Herring 228*724ba675SRob Herring hdmi0: hdmi@14015000 { 229*724ba675SRob Herring compatible = "mediatek,mt7623-hdmi", 230*724ba675SRob Herring "mediatek,mt2701-hdmi"; 231*724ba675SRob Herring reg = <0 0x14015000 0 0x400>; 232*724ba675SRob Herring clocks = <&mmsys CLK_MM_HDMI_PIXEL>, 233*724ba675SRob Herring <&mmsys CLK_MM_HDMI_PLL>, 234*724ba675SRob Herring <&mmsys CLK_MM_HDMI_AUDIO>, 235*724ba675SRob Herring <&mmsys CLK_MM_HDMI_SPDIF>; 236*724ba675SRob Herring clock-names = "pixel", "pll", "bclk", "spdif"; 237*724ba675SRob Herring phys = <&hdmi_phy>; 238*724ba675SRob Herring phy-names = "hdmi"; 239*724ba675SRob Herring mediatek,syscon-hdmi = <&mmsys 0x900>; 240*724ba675SRob Herring cec = <&cec>; 241*724ba675SRob Herring status = "disabled"; 242*724ba675SRob Herring }; 243*724ba675SRob Herring 244*724ba675SRob Herring mipi_tx0: dsi-phy@10010000 { 245*724ba675SRob Herring compatible = "mediatek,mt7623-mipi-tx", 246*724ba675SRob Herring "mediatek,mt2701-mipi-tx"; 247*724ba675SRob Herring reg = <0 0x10010000 0 0x90>; 248*724ba675SRob Herring clocks = <&clk26m>; 249*724ba675SRob Herring clock-output-names = "mipi_tx0_pll"; 250*724ba675SRob Herring #clock-cells = <0>; 251*724ba675SRob Herring #phy-cells = <0>; 252*724ba675SRob Herring }; 253*724ba675SRob Herring 254*724ba675SRob Herring cec: cec@10012000 { 255*724ba675SRob Herring compatible = "mediatek,mt7623-cec", 256*724ba675SRob Herring "mediatek,mt8173-cec"; 257*724ba675SRob Herring reg = <0 0x10012000 0 0xbc>; 258*724ba675SRob Herring interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_LOW>; 259*724ba675SRob Herring clocks = <&infracfg CLK_INFRA_CEC>; 260*724ba675SRob Herring status = "disabled"; 261*724ba675SRob Herring }; 262*724ba675SRob Herring 263*724ba675SRob Herring hdmi_phy: hdmi-phy@10209100 { 264*724ba675SRob Herring compatible = "mediatek,mt7623-hdmi-phy", 265*724ba675SRob Herring "mediatek,mt2701-hdmi-phy"; 266*724ba675SRob Herring reg = <0 0x10209100 0 0x24>; 267*724ba675SRob Herring clocks = <&apmixedsys CLK_APMIXED_HDMI_REF>; 268*724ba675SRob Herring clock-names = "pll_ref"; 269*724ba675SRob Herring clock-output-names = "hdmitx_dig_cts"; 270*724ba675SRob Herring #clock-cells = <0>; 271*724ba675SRob Herring #phy-cells = <0>; 272*724ba675SRob Herring status = "disabled"; 273*724ba675SRob Herring }; 274*724ba675SRob Herring 275*724ba675SRob Herring hdmiddc0: i2c@11013000 { 276*724ba675SRob Herring compatible = "mediatek,mt7623-hdmi-ddc", 277*724ba675SRob Herring "mediatek,mt8173-hdmi-ddc"; 278*724ba675SRob Herring interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 279*724ba675SRob Herring reg = <0 0x11013000 0 0x1C>; 280*724ba675SRob Herring clocks = <&pericfg CLK_PERI_I2C3>; 281*724ba675SRob Herring clock-names = "ddc-i2c"; 282*724ba675SRob Herring status = "disabled"; 283*724ba675SRob Herring }; 284*724ba675SRob Herring}; 285*724ba675SRob Herring 286*724ba675SRob Herring&pio { 287*724ba675SRob Herring hdmi_pins_a: hdmi-default { 288*724ba675SRob Herring pins-hdmi { 289*724ba675SRob Herring pinmux = <MT7623_PIN_123_HTPLG_FUNC_HTPLG>; 290*724ba675SRob Herring input-enable; 291*724ba675SRob Herring bias-pull-down; 292*724ba675SRob Herring }; 293*724ba675SRob Herring }; 294*724ba675SRob Herring 295*724ba675SRob Herring hdmi_ddc_pins_a: hdmi_ddc-default { 296*724ba675SRob Herring pins-hdmi-ddc { 297*724ba675SRob Herring pinmux = <MT7623_PIN_124_GPIO124_FUNC_HDMISCK>, 298*724ba675SRob Herring <MT7623_PIN_125_GPIO125_FUNC_HDMISD>; 299*724ba675SRob Herring }; 300*724ba675SRob Herring }; 301*724ba675SRob Herring}; 302