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