/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2019 MediaTek Inc. */ /dts-v1/; #include #include #include #include #include #include #include #include #include #include #include #include #include / { model = "MT6785"; compatible = "mediatek,MT6785"; interrupt-parent = <&sysirq>; #address-cells = <2>; #size-cells = <2>; /* chosen */ chosen: chosen { bootargs = "console=tty0 console=ttyS0,921600n1 root=/dev/ram \ vmalloc=400M slub_debug=OFZPU swiotlb=noforce \ cgroup.memory=nosocket,nokmem \ firmware_class.path=/vendor/firmware \ page_owner=on loop.max_part=7"; kaslr-seed = <0 0>; }; cluster0_opp: opp_table0 { compatible = "operating-points-v2"; opp-shared; opp0 { opp-hz = /bits/ 64 <500000000>; opp-microvolt = <600000>; }; opp1 { opp-hz = /bits/ 64 <774000000>; opp-microvolt = <675000>; }; opp2 { opp-hz = /bits/ 64 <875000000>; opp-microvolt = <700000>; }; opp3 { opp-hz = /bits/ 64 <975000000>; opp-microvolt = <725000>; }; opp4 { opp-hz = /bits/ 64 <1075000000>; opp-microvolt = <750000>; }; opp5 { opp-hz = /bits/ 64 <1175000000>; opp-microvolt = <775000>; }; opp6 { opp-hz = /bits/ 64 <1275000000>; opp-microvolt = <800000>; }; opp7 { opp-hz = /bits/ 64 <1375000000>; opp-microvolt = <825000>; }; opp8 { opp-hz = /bits/ 64 <1500000000>; opp-microvolt = <856250>; }; opp9 { opp-hz = /bits/ 64 <1618000000>; opp-microvolt = <875000>; }; opp10 { opp-hz = /bits/ 64 <1666000000>; opp-microvolt = <900000>; }; opp11 { opp-hz = /bits/ 64 <1733000000>; opp-microvolt = <925000>; }; opp12 { opp-hz = /bits/ 64 <1800000000>; opp-microvolt = <950000>; }; opp13 { opp-hz = /bits/ 64 <1866000000>; opp-microvolt = <981250>; }; opp14 { opp-hz = /bits/ 64 <1933000000>; opp-microvolt = <1006250>; }; opp15 { opp-hz = /bits/ 64 <2000000000>; opp-microvolt = <1031250>; }; }; cluster1_opp: opp_table1 { compatible = "operating-points-v2"; opp-shared; opp0 { opp-hz = /bits/ 64 <774000000>; opp-microvolt = <675000>; }; opp1 { opp-hz = /bits/ 64 <835000000>; opp-microvolt = <693750>; }; opp2 { opp-hz = /bits/ 64 <919000000>; opp-microvolt = <718750>; }; opp3 { opp-hz = /bits/ 64 <1002000000>; opp-microvolt = <743750>; }; opp4 { opp-hz = /bits/ 64 <1085000000>; opp-microvolt = <775000>; }; opp5 { opp-hz = /bits/ 64 <1169000000>; opp-microvolt = <800000>; }; opp6 { opp-hz = /bits/ 64 <1308000000>; opp-microvolt = <843750>; }; opp7 { opp-hz = /bits/ 64 <1419000000>; opp-microvolt = <875000>; }; opp8 { opp-hz = /bits/ 64 <1530000000>; opp-microvolt = <912500>; }; opp9 { opp-hz = /bits/ 64 <1670000000>; opp-microvolt = <956250>; }; opp10 { opp-hz = /bits/ 64 <1733000000>; opp-microvolt = <981250>; }; opp11 { opp-hz = /bits/ 64 <1796000000>; opp-microvolt = <1012500>; }; opp12 { opp-hz = /bits/ 64 <1860000000>; opp-microvolt = <1037500>; }; opp13 { opp-hz = /bits/ 64 <1907000000>; opp-microvolt = <1056250>; }; opp14 { opp-hz = /bits/ 64 <1955000000>; opp-microvolt = <1081250>; }; opp15 { opp-hz = /bits/ 64 <2002000000>; opp-microvolt = <1100000>; }; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu0: cpu@000 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0000>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu1: cpu@001 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0100>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu2: cpu@002 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0200>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu3: cpu@003 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0300>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu4: cpu@100 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0400>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu5: cpu@101 { device_type = "cpu"; compatible = "arm,cortex-a55"; reg = <0x0500>; enable-method = "psci"; clock-frequency = <1701000000>; operating-points-v2 = <&cluster0_opp>; dynamic-power-coefficient = <85>; capacity-dmips-mhz = <284>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu6: cpu@102 { device_type = "cpu"; compatible = "arm,cortex-a75"; reg = <0x0600>; enable-method = "psci"; clock-frequency = <2171000000>; operating-points-v2 = <&cluster1_opp>; dynamic-power-coefficient = <275>; capacity-dmips-mhz = <1024>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu7: cpu@103 { device_type = "cpu"; compatible = "arm,cortex-a75"; reg = <0x0700>; enable-method = "psci"; clock-frequency = <2171000000>; operating-points-v2 = <&cluster1_opp>; dynamic-power-coefficient = <275>; capacity-dmips-mhz = <1024>; cpu-idle-states = <&standby &mcdi_cpu &mcdi_cluster>, <&idledram &idlesyspll &idlebus26m &suspend>; }; cpu-map { cluster0 { core0 { cpu = <&cpu0>; }; core1 { cpu = <&cpu1>; }; core2 { cpu = <&cpu2>; }; core3 { cpu = <&cpu3>; }; core4 { cpu = <&cpu4>; }; core5 { cpu = <&cpu5>; }; doe_dvfs_cl0: doe { }; }; cluster1 { core0 { cpu = <&cpu6>; }; core1 { cpu = <&cpu7>; }; doe_dvfs_cl1: doe { }; }; }; idle-states { entry-method = "arm,psci"; standby: standby { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00000001>; entry-latency-us = <600>; exit-latency-us = <600>; min-residency-us = <1200>; }; mcdi_cpu: mcdi-cpu { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; entry-latency-us = <600>; exit-latency-us = <600>; min-residency-us = <1200>; }; mcdi_cluster: mcdi-cluster { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010001>; entry-latency-us = <600>; exit-latency-us = <600>; min-residency-us = <1200>; }; idledram: idledram { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; entry-latency-us = <800>; exit-latency-us = <1000>; min-residency-us = <2000>; status = "okay"; }; idlesyspll: idlesyspll { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010003>; entry-latency-us = <800>; exit-latency-us = <1000>; min-residency-us = <2000>; status = "okay"; }; idlebus26m: idlebus26m { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010004>; entry-latency-us = <800>; exit-latency-us = <1000>; min-residency-us = <2000>; status = "okay"; }; suspend: suspend { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010005>; entry-latency-us = <800>; exit-latency-us = <1000>; min-residency-us = <2000>; status = "okay"; }; }; }; cache_parity { compatible = "mediatek,mt6785-cache-parity"; reg = <0 0x0c530000 0 0x10000>; irq_config = <0 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <1 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <2 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <3 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <4 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <5 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <6 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <7 0x8090 0x0000ff00 0x8090 68 0x8090 0x000000ff>, <1024 0xc8c0 0x01000000 0xc8c0 12 0xc8c8 0x00000001>; interrupts = , , , , , , , , ; }; lastbus@10001000 { compatible = "mediatek,lastbus-v1"; reg = <0 0x10001000 0 0x1000>, <0 0x10003000 0 0x1000>; }; scp_infra: scp_infra@10001000 { compatible = "mediatek,scpinfra"; reg = <0 0x10001000 0 0x1000>; }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; pmu { compatible = "arm,armv8-pmuv3"; interrupt-parent = <&gic>; interrupts = ; }; dsu-pmu-0 { compatible = "arm,dsu-pmu"; interrupts = ; cpus = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>, <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; }; memory { device_type = "memory"; reg = <0 0x40000000 0 0x3e605000>; }; /* Trustonic Mobicore SW IRQ number 121 = 32 + 89 */ mobicore { compatible = "trustonic,mobicore"; interrupts = ; }; /* Microtrust SW IRQ number 91(123) ~ 95(127) & 331(363) */ utos { compatible = "microtrust,utos"; interrupts = , ; }; utos_tester { compatible = "microtrust,tester-v1"; }; reserved_memory: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; ssmr_cma_mem: ssmr-reserved-cma_memory { compatible = "shared-dma-pool"; reusable; size = <0 0x10000000>; alignment = <0 0x1000000>; alloc-range = <0 0xc0000000 0 0x10000000>; }; reserve-memory-sspm_share { compatible = "mediatek,reserve-memory-sspm_share"; no-map; status = "okay"; #if defined(CONFIG_MTK_GMO_RAM_OPTIMIZE) || defined(CONFIG_MTK_MET_MEM_ALLOC) size = <0 0x110000>; /* 1M + 64K */ #else size = <0 0x510000>; /* 5M + 64K */ #endif alignment = <0 0x10000>; alloc-ranges = <0 0x40000000 0 0x60000000>; }; reserve-memory-scp_share { compatible = "mediatek,reserve-memory-scp_share"; no-map; size = <0 0x00320000>; alignment = <0 0x1000000>; alloc-ranges = <0 0x40000000 0 0x50000000>; }; ion-carveout-heap { compatible = "mediatek,ion-carveout-heap"; no-map; size = <0 0xc000>; alignment = <0 0x1000>; alloc-ranges = <0 0x40000000 0 0x80000000>; }; consys_mem: consys-reserve-memory { compatible = "mediatek,consys-reserve-memory"; no-map; size = <0 0x400000>; alignment = <0 0x1000000>; alloc-ranges = <0 0x40000000 0 0x80000000>; }; wifi_mem: wifi-reserve-memory { compatible = "shared-dma-pool"; no-map; size = <0 0x300000>; alignment = <0 0x1000000>; alloc-ranges = <0 0x40000000 0 0x80000000>; }; reserve-memory-adsp_share { compatible = "mediatek,reserve-memory-adsp_share"; no-map; size = <0 0x1000000>; alignment = <0 0x1000>; alloc-ranges = <0 0x40000000 0 0x40000000>; }; }; cpu_dbgapb: cpu_dbgapb@0e010000 { compatible = "mediatek,hw_dbg"; num = <8>; reg = <0 0x0e010000 0 0x1000>, <0 0x0e110000 0 0x1000>, <0 0x0e210000 0 0x1000>, <0 0x0e310000 0 0x1000>, <0 0x0e410000 0 0x1000>, <0 0x0e510000 0 0x1000>, <0 0x0e610000 0 0x1000>, <0 0x0e710000 0 0x1000>; }; gic: interrupt-controller { compatible = "arm,gic-v3"; #interrupt-cells = <3>; #address-cells = <2>; #size-cells = <2>; #redistributor-regions = <1>; interrupt-parent = <&gic>; interrupt-controller; reg = <0 0x0c000000 0 0x40000>, // distributor <0 0x0c040000 0 0x200000>,// redistributor <0 0x0c53a650 0 0x50>; // INT_POL interrupts = ; }; sysirq: intpol-controller@0 { compatible = "mediatek,mt6577-sysirq"; interrupt-controller; #interrupt-cells = <3>; interrupt-parent = <&gic>; reg = <0 0x0c53a650 0 0x50>; }; clocks { clk_null: clk_null { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <0>; }; clk26m: clk26m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; }; clk13m: clk13m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <13000000>; }; clk32k: clk32k { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <32000>; }; }; topckgen: topckgen@10000000 { compatible = "mediatek,topckgen", "syscon"; reg = <0 0x10000000 0 0x1000>; #clock-cells = <1>; }; infracfg_ao: clock-reset-controller@10001000 { compatible = "mediatek,common-infracfg_ao", "mediatek,infracfg_ao", "mediatek,mt6785-infracfg_ao", "syscon", "simple-mfd"; reg = <0 0x10001000 0 0x1000>; #clock-cells = <1>; infracfg_rst: reset-controller { compatible = "ti,syscon-reset"; #reset-cells = <1>; ti,reset-bits = < /* 0: ufs: hci_rst */ 0x130 15 0x134 15 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE) /* 1: ufs: unipro_rst */ 0x140 7 0x144 7 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE) /* 2: ufs: crypto_rst */ 0x150 21 0x154 21 0 0 (ASSERT_SET | DEASSERT_SET | STATUS_NONE) >; }; }; efuse: efuse@11c10000 { compatible = "mediatek,devinfo"; reg = <0 0x11c10000 0 0x10000>; #address-cells = <1>; #size-cells = <1>; efuse_segment: segment@78 { reg = <0x78 0x4>; }; }; scpsys: scpsys@10001000 { compatible = "mediatek,scpsys"; reg = <0 0x10001000 0 0x1000>, <0 0x10006000 0 0x1000>, <0 0x1020e000 0 0x1000>, <0 0x10000000 0 0x1000>, <0 0x14019000 0 0x1000>; #clock-cells = <1>; }; scp_clk_ctrl: scp_clk_ctrl@105c4000 { compatible = "mediatek,scp_clk_ctrl"; reg = <0 0x105c4000 0 0x1000>; }; scp_gpio: scp_gpio@10005000 { compatible = "mediatek,scp_gpio", "syscon"; reg = <0 0x10005000 0 0x1000>; }; scp_dvfs { compatible = "mediatek,scp_dvfs"; clocks = <&topckgen TOP_MUX_SCP>, <&clk26m>, <&topckgen TOP_MAINPLL_D2_D2>, <&topckgen TOP_MAINPLL_D2_D4>, <&topckgen TOP_MAINPLL_D3>, <&topckgen TOP_UNIVPLL_D3>, <&topckgen TOP_MAINPLL_D5>, <&topckgen TOP_MAINPLL_D3_D2>, <&topckgen TOP_OSC2_D3>; clock-names = "clk_mux", "clk_pll_0", "clk_pll_1", "clk_pll_2", "clk_pll_3", "clk_pll_4", "clk_pll_5", "clk_pll_6", "clk_pll_7"; vsram_chk_gpio = <&pio 200 0x0>; dvfsrc-opp-num = <6>; dvfs-opp = /*vcore vsram uv rc spm freq mux*/ < 575000 800000 0xff 0x0 0x0 110 1>, < 600000 800000 0xff 0x0 0x0 130 1>, < 650000 850000 0xff 0x0 0x1 165 2>, < 650000 850000 0xff 0x0 0x1 218 5>, < 700000 850000 0xff 0x1 0x12 330 2>, < 800000 900000 0xff 0x2 0x28 416 4>; sshub-vcore-supply = <&mt_pmic_vcore_sshub_buck_reg>; sshub-vsram-supply = <&mt_pmic_vsram_others_sshub_ldo_reg>; gpio = <&gpio 1>; gpio-feature = "gpio-mode"; gpio-feature-cfg = <1>; gpio-mode-reg = <0x430 0x7 8 1>; }; infracfg_ao_mem@10002000 { compatible = "mediatek,infracfg_ao_mem"; reg = <0 0x10002000 0 0x1000>; }; iocfg_rm: iocfg_rm@11c20000 { compatible = "mediatek,iocfg_rm"; reg = <0 0x11c20000 0 0x1000>; }; iocfg_br: iocfg_br@11d10000 { compatible = "mediatek,iocfg_br"; reg = <0 0x11d10000 0 0x1000>; }; iocfg_bl: iocfg_bl@11e20000 { compatible = "mediatek,iocfg_bl"; reg = <0 0x11e20000 0 0x1000>; }; iocfg_lb: iocfg_lb@11e70000 { compatible = "mediatek,iocfg_lb"; reg = <0 0x11e70000 0 0x1000>; }; iocfg_rt: iocfg_rt@11ea0000 { compatible = "mediatek,iocfg_rt"; reg = <0 0x11ea0000 0 0x1000>; }; iocfg_lt: iocfg_lt@11f20000 { compatible = "mediatek,iocfg_lt"; reg = <0 0x11f20000 0 0x1000>; }; iocfg_tl: iocfg_tl@11f30000 { compatible = "mediatek,iocfg_tl"; reg = <0 0x11f30000 0 0x1000>; }; pericfg@10003000 { compatible = "mediatek,pericfg"; reg = <0 0x10003000 0 0x1000>; }; gpio: gpio@10005000 { compatible = "mediatek,gpio", "syscon"; reg = <0 0x10005000 0 0x1000>; }; pio: pinctrl { compatible = "mediatek,mt6785-pinctrl"; reg_bases = <&gpio>, <&iocfg_rm>, <&iocfg_br>, <&iocfg_bl>, <&iocfg_lb>, <&iocfg_rt>, <&iocfg_lt>, <&iocfg_tl>; reg_base_eint = <&eint>; pins-are-numbered; gpio-controller; gpio-ranges = <&pio 0 0 210>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <4>; interrupts = ; }; sleep:sleep@10006000 { compatible = "mediatek,sleep"; reg = <0 0x10006000 0 0x1000>; interrupts = ; }; md32pcm@10006a00 { compatible = "mediatek,md32pcm"; reg = <0 0x10006a00 0 0x1000>; }; md32pcm_sram@1001e000 { compatible = "mediatek,md32pcm_sram"; reg = <0 0x1001e000 0 0x1000>; }; toprgu:toprgu@10007000 { compatible = "mediatek,mt6877-wdt", "mediatek,mt6589-wdt", "mediatek,toprgu", "syscon", "simple-mfd"; reg = <0 0x10007000 0 0x1000>; interrupts = ; mediatek,rg_dfd_timeout = <0xa0>; #reset-cells = <1>; reboot-mode { compatible = "syscon-reboot-mode"; offset = <0x24>; mask = <0xf>; mode-charger = ; mode-recovery = ; mode-bootloader = ; mode-dm-verity-dev-corrupt = ; mode-kpoc = ; mode-ddr-reserve = ; mode-meta = ; mode-rpmbpk = ; }; }; rsvd@10009000 { compatible = "mediatek,rsvd"; reg = <0 0x10009000 0 0x1000>; }; hacc@1000a000 { compatible = "mediatek,hacc"; reg = <0 0x1000a000 0 0x1000>; interrupts = ; }; eint: eint@1000b000 { compatible = "mediatek,eint"; reg = <0 0x1000b000 0 0x1000>; interrupts = ; }; apmixed: apmixed@1000c000 { compatible = "mediatek,apmixed", "syscon"; reg = <0 0x1000c000 0 0x1000>; #clock-cells = <1>; }; fhctl@1000ce00 { compatible = "mediatek,fhctl"; reg = <0 0x1000ce00 0 0x1000>; }; pwrap: pwrap@1000d000 { compatible = "mediatek,mt6785-pwrap"; reg = <0 0x1000d000 0 0x1000>; reg-names = "pwrap"; interrupts = ; clocks = <&clk26m>, <&clk26m>; clock-names = "spi", "wrap"; main_pmic: mt6359-pmic { compatible = "mediatek,mt6359-pmic"; interrupt-parent = <&pio>; interrupts = <193 IRQ_TYPE_LEVEL_HIGH 193 0>; status = "okay"; }; }; pwraph: pwraphal@ { compatible = "mediatek,pwraph"; mediatek,pwrap-regmap = <&pwrap>; }; pwrap_mpu@1000d000 { compatible = "mediatek,pwrap_mpu"; reg = <0 0x1000d000 0 0x1000>; }; pwrap_p2p@105cb000 { compatible = "mediatek,pwrap_p2p"; reg = <0 0x105cb000 0 0x1000>; }; pwrap_md32@10448000 { compatible = "mediatek,pwrap_md32"; reg = <0 0x10448000 0 0x1000>; }; devapc_ao_mm@1000e000 { compatible = "mediatek,devapc_ao_mm"; reg = <0 0x1000e000 0 0x1000>; }; sleep_reg_md@1000f000 { compatible = "mediatek,sleep_reg_md"; reg = <0 0x1000f000 0 0x1000>; }; keypad: kp@10010000 { compatible = "mediatek,kp"; reg = <0 0x10010000 0 0x1000>; interrupts = ; clocks = <&clk26m>; clock-names = "kpd"; mediatek,boot_mode = <1>; }; topmisc@10011000 { compatible = "mediatek,topmisc"; reg = <0 0x10011000 0 0x1000>; }; dvfsrc: dvfsrc@10012000 { compatible = "mediatek,dvfsrc"; reg = <0 0x10012000 0 0x1000>; interrupts = ; }; apcldmain_ao@10014000 { compatible = "mediatek,apcldmain_ao"; reg = <0 0x10014000 0 0x1000>; }; dpmaif:dpmaif@10014000 { compatible = "mediatek,dpmaif"; reg = <0 0x10014000 0 0x1000>, /*AO_UL*/ <0 0x10014400 0 0x1000>, /*AO_DL*/ <0 0x1022D000 0 0x1000>, /*PD_UL*/ <0 0x1022D100 0 0x1000>, /*PD_DL*/ <0 0x1022D400 0 0x1000>, /*PD_MISC*/ <0 0x1022C000 0 0x1000>, /*PD_MD_MISC*/ <0 0x1022E000 0 0x1000>; /*SRAM*/ interrupts = ; /*199+32=231*/ mediatek,dpmaif_capability = <6>; clocks = <&infracfg_ao INFRACFG_AO_DPMAIF_CK>; clock-names = "infra-dpmaif-clk"; }; ccifdriver:ccifdriver@10209000 { compatible = "mediatek,ccci_ccif"; reg = <0 0x10209000 0 0x1000>, /*AP_CCIF_BASE*/ <0 0x1020a000 0 0x1000>; /*MD_CCIF_BASE*/ mediatek,sram_size = <512>; interrupts = , ; clocks = <&infracfg_ao INFRACFG_AO_CCIF_AP_CG>, <&infracfg_ao INFRACFG_AO_CCIF_MD_CG>, <&infracfg_ao INFRACFG_AO_CCIF1_AP_CG>, <&infracfg_ao INFRACFG_AO_CCIF1_MD_CG>, <&infracfg_ao INFRACFG_AO_CCIF2_AP_CG>, <&infracfg_ao INFRACFG_AO_CCIF2_MD_CG>, <&infracfg_ao INFRACFG_AO_CCIF4_MD_CG>; clock-names = "infra-ccif-ap", "infra-ccif-md", "infra-ccif1-ap", "infra-ccif1-md", "infra-ccif2-ap", "infra-ccif2-md", "infra-ccif4-md", "infra-ccif5-md"; }; mddriver:mddriver { compatible = "mediatek,mddriver"; mediatek,mdhif_type = <6>; /* bit0~3: CLDMA|CCIF|DPMAIF */ mediatek,md_id = <0>; mediatek,ap_plat_info = <6785>; mediatek,md_generation = <6295>; mediatek,offset_apon_md1 = <0x1c24>; mediatek,cldma_capability = <6>; reg = <0 0x10209000 0 0x1000>, /*AP_CCIF_BASE*/ <0 0x1020a000 0 0x1000>; /*MD_CCIF_BASE*/ interrupts = , /*MDWDT*/ , /*CCIF0 GIC Interrupt ID 196-32*/ ; /*CCIF0 GIC Interrupt ID 197-32*/ clocks = <&scpsys SCP_SYS_MD1>; clock-names = "scp-sys-md1-main"; ccci-infracfg = <&infracfg_ao>; }; radio_md_cfg:radio_md_cfg { compatible = "mediatek,radio_md_cfg"; }; md_auxadc:md_auxadc { compatible = "mediatek,md_auxadc"; io-channels = <&auxadc 2>; io-channel-names = "md-channel"; }; apcldmaout_ao@10014400 { compatible = "mediatek,apcldmaout_ao"; reg = <0 0x10014400 0 0x1000>; }; apcldmamisc_ao@10014800 { compatible = "mediatek,apcldmamisc_ao"; reg = <0 0x10014800 0 0x1000>; }; devapc_mpu_ao@10015000 { compatible = "mediatek,devapc_mpu_ao"; reg = <0 0x10015000 0 0x1000>; }; aes_top0@10016000 { compatible = "mediatek,aes_top0"; reg = <0 0x10016000 0 0x1000>; }; chipid@08000000 { compatible = "mediatek,chipid"; reg = <0 0x08000000 0 0x0004>, <0 0x08000004 0 0x0004>, <0 0x08000008 0 0x0004>, <0 0x0800000c 0 0x0004>; }; systimer: systimer@10017000 { compatible = "mediatek,mt6768-timer", "mediatek,mt6765-timer", "mediatek,sys_timer"; reg = <0 0x10017000 0 0x1000>; interrupts = ; clocks = <&clk13m>; }; timer: timer { compatible = "arm,armv8-timer"; interrupt-parent = <&gic>; interrupts = , , , ; clock-frequency = <13000000>; }; scp@10500000 { compatible = "mediatek,scp"; status = "okay"; reg = <0 0x10500000 0 0xc0000>, <0 0x105c0000 0 0x3000>, <0 0x105c4000 0 0x1000>, <0 0x105d4000 0 0x6000>; interrupts = ; core_1 = "enable"; scp_sramSize = <0x000c0000>; scp_mpuRegionId = <7>; scp_feature_tbl = <0 5>, /* vow */ <1 356>, /* dsp */ <2 62>, /* sensor */ <3 47>, /* mp3 */ <4 26>, /* flp */ <5 0>, /* rtos */ <6 200>, /* speaker */ <7 0>, /* vcore */ <8 120>, /* barge in */ <9 10>, /* vow dump */ <10 43>, /* vow vendor_m */ <11 43>, /* vow vendor_a */ <12 22>; /* vow vendor_g */ scp_mem_key = "mediatek,reserve-memory-scp_share"; scp_mem_tbl = #ifdef CONFIG_MTK_VOW_SUPPORT #if defined(CONFIG_MTK_VOW_AMAZON_SUPPORT) || defined(CONFIG_MTK_VOW_GVA_SUPPORT) <0 0x49200>, /* vow */ #else <0 0x38200>, /* vow */ #endif #endif <1 0x100000>, /* sensor */ <3 0x001000>, /* flp */ <4 0x180000>, /* logger */ <5 0x19000>, /* audio ipi */ <8 0x5A00>; /* bargin */ }; modem_temp_share@10018000 { compatible = "mediatek,modem_temp_share"; reg = <0 0x10018000 0 0x1000>; }; devapc_ao_md@10019000 { compatible = "mediatek,devapc_ao_md"; reg = <0 0x10019000 0 0x1000>; }; mbist_ao@10013000 { compatible = "mediatek,mbist_ao"; reg = <0 0x10013000 0 0x1000>; }; security_ao@1001a000 { compatible = "mediatek,security_ao"; reg = <0 0x1001a000 0 0x1000>; }; topckgen_ao@1001b000 { compatible = "mediatek,topckgen_ao"; reg = <0 0x1001b000 0 0x1000>; }; devapc_ao_infra_peri@1001c000 { compatible = "mediatek,devapc_ao_infra_peri"; reg = <0 0x1001c000 0 0x1000>; }; device_mpu_low@1021a000 { compatible = "mediatek,device_mpu_low"; reg = <0 0x1021a000 0 0x1000>; prot-base = <0x0 0x40000000>; prot-size = <0x4 0x00000000>; page-size = <0x200000>; interrupts = ; }; device_mpu_low_acp@1021b000 { compatible = "mediatek,device_mpu_low_acp"; reg = <0 0x1021b000 0 0x1000>; }; infracfg_mem@1021c000 { compatible = "mediatek,infracfg_mem"; reg = <0 0x1021c000 0 0x1000>; }; #ifdef CONFIG_MTK_IOMMU_V2 iommu0: m4u@10220000 { cell-index = <0>; compatible = "mediatek,iommu_v0"; reg = <0 0x10220000 0 0x1000>; mediatek,larbs = <&smi_larb0 &smi_larb1 &smi_larb2>, <&smi_larb3 &smi_larb4 &smi_larb5>, <&smi_larb6>; interrupts = ; #iommu-cells = <1>; }; iommu1: m4u@1024f000 { cell-index = <1>; compatible = "mediatek,iommu_v0"; reg = <0 0x1024f000 0 0x1000>; interrupts = ; #iommu-cells = <1>; }; iommu0_sec: m4u@10224000 { cell-index = <0>; compatible = "mediatek,sec_m4u0"; reg = <0 0x10224000 0 0x1000>; interrupts = ; }; ion: iommu { compatible = "mediatek,ion"; iommus = <&iommu0 M4U_PORT_DISP_RDMA0>; }; pseudo_m4u { compatible = "mediatek,mt-pseudo_m4u"; iommus = <&iommu0 M4U_PORT_DISP_RDMA0>; }; pseudo_m4u-larb0 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <0>; iommus = <&iommu0 M4U_PORT_DISP_POSTMASK0>, <&iommu0 M4U_PORT_DISP_OVL0_HDR>, <&iommu0 M4U_PORT_DISP_OVL1_HDR>, <&iommu0 M4U_PORT_DISP_OVL0>, <&iommu0 M4U_PORT_DISP_OVL1>, <&iommu0 M4U_PORT_DISP_PVRIC0>, <&iommu0 M4U_PORT_DISP_RDMA0>, <&iommu0 M4U_PORT_DISP_WDMA0>, <&iommu0 M4U_PORT_DISP_FAKE0>; /* larb0 -MMSYS-9 */ }; pseudo_m4u-larb1 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <1>; iommus = <&iommu0 M4U_PORT_DISP_OVL0_2L_HDR>, <&iommu0 M4U_PORT_DISP_OVL1_2L_HDR>, <&iommu0 M4U_PORT_DISP_OVL0_2L>, <&iommu0 M4U_PORT_DISP_OVL1_2L>, <&iommu0 M4U_PORT_DISP_RDMA1>, <&iommu0 M4U_PORT_MDP_PVRIC0>, <&iommu0 M4U_PORT_MDP_PVRIC1>, <&iommu0 M4U_PORT_MDP_RDMA0>, <&iommu0 M4U_PORT_MDP_RDMA1>, <&iommu0 M4U_PORT_MDP_WROT0_R>, <&iommu0 M4U_PORT_MDP_WROT0_W>, <&iommu0 M4U_PORT_MDP_WROT1_R>, <&iommu0 M4U_PORT_MDP_WROT1_W>, <&iommu0 M4U_PORT_DISP_FAKE1>; /* larb1-MMSYS-14 */ }; pseudo_m4u-larb2 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <2>; iommus = <&iommu0 M4U_PORT_HW_VDEC_MC_EXT>, <&iommu0 M4U_PORT_HW_VDEC_UFO_EXT>, <&iommu0 M4U_PORT_HW_VDEC_PP_EXT>, <&iommu0 M4U_PORT_HW_VDEC_PRED_RD_EXT>, <&iommu0 M4U_PORT_HW_VDEC_PRED_WR_EXT>, <&iommu0 M4U_PORT_HW_VDEC_PPWRAP_EXT>, <&iommu0 M4U_PORT_HW_VDEC_TILE_EXT>, <&iommu0 M4U_PORT_HW_VDEC_VLD_EXT>, <&iommu0 M4U_PORT_HW_VDEC_VLD2_EXT>, <&iommu0 M4U_PORT_HW_VDEC_AVC_MV_EXT>, <&iommu0 M4U_PORT_HW_VDEC_UFO_ENC_EXT>, <&iommu0 M4U_PORT_HW_VDEC_RG_CTRL_DMA_EXT>; /* larb2-VDEC-12 */ }; pseudo_m4u-larb3 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <3>; iommus = <&iommu0 M4U_PORT_VENC_RCPU>, <&iommu0 M4U_PORT_VENC_REC>, <&iommu0 M4U_PORT_VENC_BSDMA>, <&iommu0 M4U_PORT_VENC_SV_COMV>, <&iommu0 M4U_PORT_VENC_RD_COMV>, <&iommu0 M4U_PORT_VENC_NBM_RDMA>, <&iommu0 M4U_PORT_VENC_NBM_RDMA_LITE>, <&iommu0 M4U_PORT_JPGENC_Y_RDMA>, <&iommu0 M4U_PORT_JPGENC_C_RDMA>, <&iommu0 M4U_PORT_JPGENC_Q_TABLE>, <&iommu0 M4U_PORT_JPGENC_BSDMA>, <&iommu0 M4U_PORT_JPGDEC_WDMA>, <&iommu0 M4U_PORT_JPGDEC_BSDMA>, <&iommu0 M4U_PORT_VENC_NBM_WDMA>, <&iommu0 M4U_PORT_VENC_NBM_WDMA_LITE>, <&iommu0 M4U_PORT_VENC_CUR_LUMA>, <&iommu0 M4U_PORT_VENC_CUR_CHROMA>, <&iommu0 M4U_PORT_VENC_REF_LUMA>, <&iommu0 M4U_PORT_VENC_REF_CHROMA>; /* larb3-VENC-19 */ }; pseudo_m4u-larb5 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <5>; iommus = <&iommu0 M4U_PORT_IMGI>, <&iommu0 M4U_PORT_IMG2O>, <&iommu0 M4U_PORT_IMG3O>, <&iommu0 M4U_PORT_VIPI>, <&iommu0 M4U_PORT_LCEI>, <&iommu0 M4U_PORT_SMXI>, <&iommu0 M4U_PORT_SMXO>, <&iommu0 M4U_PORT_WPE0_RDMA1>, <&iommu0 M4U_PORT_WPE0_RDMA0>, <&iommu0 M4U_PORT_WPE0_WDMA>, <&iommu0 M4U_PORT_FDVT_RDB>, <&iommu0 M4U_PORT_FDVT_WRA>, <&iommu0 M4U_PORT_FDVT_RDA>, <&iommu0 M4U_PORT_WPE1_RDMA0>, <&iommu0 M4U_PORT_WPE1_RDMA1>, <&iommu0 M4U_PORT_WPE1_WDMA>, <&iommu0 M4U_PORT_DPE_RDMA>, <&iommu0 M4U_PORT_DPE_WDMA>, <&iommu0 M4U_PORT_MFB_RDMA0>, <&iommu0 M4U_PORT_MFB_RDMA1>, <&iommu0 M4U_PORT_MFB_WDMA>, <&iommu0 M4U_PORT_RSC_RDMA0>, <&iommu0 M4U_PORT_RSC_WDMA>, <&iommu0 M4U_PORT_OWE_RDMA>, <&iommu0 M4U_PORT_OWE_WDMA>, <&iommu0 M4U_PORT_FDVT_WRB>; /* larb5-IMG-26 */ }; pseudo_m4u-larb6 { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = <6>; iommus = <&iommu0 M4U_PORT_IMGO>, <&iommu0 M4U_PORT_RRZO>, <&iommu0 M4U_PORT_AAO>, <&iommu0 M4U_PORT_AFO>, <&iommu0 M4U_PORT_LSCI_0>, <&iommu0 M4U_PORT_LSCI_1>, <&iommu0 M4U_PORT_PDO>, <&iommu0 M4U_PORT_BPCI>, <&iommu0 M4U_PORT_LSCO>, <&iommu0 M4U_PORT_AFO_1>, <&iommu0 M4U_PORT_PSO>, <&iommu0 M4U_PORT_LSCI_2>, <&iommu0 M4U_PORT_SOCO>, <&iommu0 M4U_PORT_SOC1>, <&iommu0 M4U_PORT_SOC2>, <&iommu0 M4U_PORT_CCUI>, <&iommu0 M4U_PORT_CCUO>, <&iommu0 M4U_PORT_UFEO>, <&iommu0 M4U_PORT_RAWI_A>, <&iommu0 M4U_PORT_RSSO_A>, <&iommu0 M4U_PORT_CCUG>, <&iommu0 M4U_PORT_PDI>, <&iommu0 M4U_PORT_FLKO>, <&iommu0 M4U_PORT_LMVO>, <&iommu0 M4U_PORT_UFGO>, <&iommu0 M4U_PORT_SPARE>, <&iommu0 M4U_PORT_SPARE_2>, <&iommu0 M4U_PORT_SPARE_3>, <&iommu0 M4U_PORT_SPARE_4>, <&iommu0 M4U_PORT_SPARE_5>, <&iommu0 FAKE_ENGINE>; /* larb6-IMG-31 */ }; pseudo_m4u-ccu { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = ; iommus = <&iommu0 M4U_PORT_CCU0>, <&iommu0 M4U_PORT_CCU1>; }; pseudo_m4u-apu { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = ; iommus = <&iommu1 M4U_PORT_VPU>; }; pseudo_m4u-apu-data { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = ; iommus = <&iommu1 M4U_PORT_VPU_DATA>; }; pseudo_m4u-misc { compatible = "mediatek,mt-pseudo_m4u-port"; mediatek,larbid = ; iommus = <&iommu0 M4U_PORT_DISP_FAKE0>; }; #elif CONFIG_MTK_M4U m4u@10220000 { cell-index = <0>; compatible = "mediatek,mm_m4u"; reg = <0 0x10220000 0 0x1000>; interrupts = ; #iommu-cells = <1>; }; iommu0_bank1: m4u@10221000 { cell-index = <0>; compatible = "mediatek,bank1_m4u0"; reg = <0 0x10221000 0 0x1000>; interrupts = ; }; iommu0_bank2: m4u@10222000 { cell-index = <0>; compatible = "mediatek,bank2_m4u0"; reg = <0 0x10222000 0 0x1000>; interrupts = ; }; iommu0_bank3: m4u@10223000 { cell-index = <0>; compatible = "mediatek,bank3_m4u0"; reg = <0 0x10223000 0 0x1000>; interrupts = ; }; m4u@10224000 { cell-index = <2>; compatible = "mediatek,sec_m4u"; reg = <0 0x10224000 0 0x1000>; interrupts = ; }; m4u@1024f000 { cell-index = <1>; compatible = "mediatek,vpu_m4u"; reg = <0 0x1024f000 0 0x1000>; interrupts = ; }; iommu1_bank1: m4u@10250000 { cell-index = <1>; compatible = "mediatek,bank1_m4u1"; reg = <0 0x10250000 0 0x1000>; interrupts = ; }; iommu1_bank2: m4u@10251000 { cell-index = <1>; compatible = "mediatek,bank2_m4u1"; reg = <0 0x10251000 0 0x1000>; interrupts = ; }; iommu1_bank3: m4u@10252000 { cell-index = <1>; compatible = "mediatek,bank3_m4u1"; reg = <0 0x10252000 0 0x1000>; interrupts = ; }; m4u@10253000 { cell-index = <3>; compatible = "mediatek,sec_vpu_m4u"; reg = <0 0x10253000 0 0x1000>; interrupts = ; }; #endif scp_cfgreg@105c0000 { compatible = "mediatek,scp_cfgreg"; reg = <0 0x105c0000 0 0x1000>; }; scp_mad@105c1000 { compatible = "mediatek,scp_mad"; reg = <0 0x105c1000 0 0x1000>; }; scp_intc@105c2000 { compatible = "mediatek,scp_intc"; reg = <0 0x105c2000 0 0x1000>; }; scp_timer@105c3000 { compatible = "mediatek,scp_timer"; reg = <0 0x105c3000 0 0x1000>; }; scp_i2c0@105c5000 { compatible = "mediatek,scp_i2c0"; reg = <0 0x105c5000 0 0x1000>; }; scp_i2c1@105c6000 { compatible = "mediatek,scp_i2c1"; reg = <0 0x105c6000 0 0x1000>; }; scp_i2c2@105c7000 { compatible = "mediatek,scp_i2c2"; reg = <0 0x105c7000 0 0x1000>; }; scp_gpio@105c8000 { compatible = "mediatek,scp_gpio"; reg = <0 0x105c8000 0 0x1000>; }; scp_uart@105c9000 { compatible = "mediatek,scp_uart"; reg = <0 0x105c9000 0 0x1000>; }; scp_cirq_eint@105ca000 { compatible = "mediatek,scp_cirq_eint"; reg = <0 0x105ca000 0 0x1000>; }; scp_dma@105cd000 { compatible = "mediatek,scp_dma"; reg = <0 0x105cd000 0 0x1000>; }; scp_uart1@105ce000 { compatible = "mediatek,scp_uart1"; reg = <0 0x105ce000 0 0x1000>; }; scp_spi0@105cf000 { compatible = "mediatek,scp_spi0"; reg = <0 0x105cf000 0 0x1000>; }; scp_spi1@105d0000 { compatible = "mediatek,scp_spi1"; reg = <0 0x105d0000 0 0x1000>; }; scp_spi2@105d1000 { compatible = "mediatek,scp_spi2"; reg = <0 0x105d1000 0 0x1000>; }; dbgapb@0d000000 { compatible = "mediatek,dbgapb"; reg = <0 0x0d000000 0 0x1000>; }; mcucci@0c510000 { compatible = "mediatek,mcucci"; reg = <0 0x0c510000 0 0x1000>; }; mcdi:mcdi@0011b000 { compatible = "mediatek,mt6785-mcdi"; mediatek,enabled = <1>; reg = <0 0x0011b000 0 0x800>, <0 0x0c53a000 0 0x1000>; }; qos@0011bb80 { compatible = "mediatek,qos-2.0"; reg = <0 0x0011bb80 0 0x80>; }; mcusys_par_wrap@0c530000 { compatible = "mediatek,mcusys_par_wrap"; reg = <0 0x0c530000 0 0x1000>; }; mcucfg_mp0_counter@0c530000 { compatible = "mediatek,mcucfg_mp0_counter"; reg = <0 0x0c530000 0 0x10000>; }; dcm: dcm { compatible = "mediatek,dcm"; }; mcucfg: mcucfg@0c530000 { compatible = "mediatek,mcucfg"; reg = <0 0x0c530000 0 0x10000>; }; mp_cpusys_top@0c538000 { compatible = "mediatek,mp_cpusys_top"; reg = <0 0x0c538000 0 0x1000>; }; cpccfg_reg@0c53a800 { compatible = "mediatek,cpccfg_reg"; reg = <0 0x0c53a800 0 0x1000>; }; cpcdbg_reg@0c53ab00 { compatible = "mediatek,cpcdbg_reg"; reg = <0 0x0c53ab00 0 0x1000>; }; cpcspmc_reg@0c53a700 { compatible = "mediatek,cpcspmc_reg"; reg = <0 0x0c53a700 0 0x1000>; }; infracfg@1020e000 { compatible = "mediatek,infracfg"; reg = <0 0x1020e000 0 0x1000>; }; sramrom@10214000 { compatible = "mediatek,sramrom"; reg = <0 0x10214000 0 0x1000>; }; emi:emi@10219000 { compatible = "mediatek,emi"; reg = <0 0x10219000 0 0x1000>, /* CEN EMI */ <0 0x10226000 0 0x1000>, /* MPU */ <0 0x10235000 0 0x1000>, /* CH0 EMI */ <0 0x10245000 0 0x1000>, /* CH1 EMI */ <0 0x1020e000 0 0x1000>; /* dbg0 */ interrupts = ; /* 0: golden setting, 1: on, 2: off, DCM */ emi_dcm = <0>; }; device_mpu@1021a000 { compatible = "mediatek,device_mpu"; reg = <0 0x1021a000 0 0x1000>; }; sys_cirq@10204000 { compatible = "mediatek,sys_cirq"; reg = <0 0x10204000 0 0x1000>; mediatek,cirq_num = <277>; mediatek,spi_start_offset = <64>; sw_reset = <1>; interrupts = ; }; devapc@10207000 { compatible = "mediatek,mt6785-devapc"; reg = <0 0x10207000 0 0x1000>, <0 0x1000e000 0 0x1000>, <0 0x10033000 0 0x1000>, <0 0x0011a000 0 0x1000>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_DEVICE_APC_CG>; clock-names = "devapc-infra-clock"; }; bus_dbg@10208000 { compatible = "mediatek,bus_dbg-v2"; reg = <0 0x10208000 0 0x1000>, <0 0x10001000 0 0x1000>; mediatek,bus_dbg_con_offset = <0x2fc>; interrupts = ; }; ap_ccif0@10209000 { compatible = "mediatek,ap_ccif0"; reg = <0 0x10209000 0 0x1000>; interrupts = ; }; md_ccif0@1020a000 { compatible = "mediatek,md_ccif0"; reg = <0 0x1020a000 0 0x1000>; }; ap_ccif1@1020b000 { compatible = "mediatek,ap_ccif1"; reg = <0 0x1020b000 0 0x1000>; interrupts = ; }; md_ccif1@1020c000 { compatible = "mediatek,md_ccif1"; reg = <0 0x1020c000 0 0x1000>; }; ap_ccif2@1023c000 { compatible = "mediatek,ap_ccif2"; reg = <0 0x1023c000 0 0x1000>; interrupts = ; }; md_ccif2@1023d000 { compatible = "mediatek,md_ccif2"; reg = <0 0x1023d000 0 0x1000>; }; ap_ccif3@1023e000 { compatible = "mediatek,ap_ccif3"; reg = <0 0x1023e000 0 0x1000>; interrupts = ; }; md_ccif3@1023f000 { compatible = "mediatek,md_ccif3"; reg = <0 0x1023f000 0 0x1000>; }; ap_ccif4@1024c000 { compatible = "mediatek,ap_ccif4"; reg = <0 0x1024c000 0 0x1000>; }; md_ccif4@1024d000 { compatible = "mediatek,md_ccif4"; reg = <0 0x1024d000 0 0x1000>; }; infra_mbist@1020d000 { compatible = "mediatek,infra_mbist"; reg = <0 0x1020d000 0 0x1000>; }; hwrng: hwrng { compatible = "mediatek,mt67xx-rng"; }; dxcc_sec@10210000 { compatible = "mediatek,dxcc_sec"; reg = <0 0x10210000 0 0x1000>; interrupts = ; }; smi_common_ao@10211000 { compatible = "mediatek,smi_common_ao"; reg = <0 0x10211000 0 0x1000>; }; cq_dma@10212000 { compatible = "mediatek,mt-cqdma-v1"; reg = <0 0x10212000 0 0x80>, <0 0x10212080 0 0x80>, <0 0x10212100 0 0x80>; interrupts = , , ; nr_channel = <3>; clocks = <&infracfg_ao INFRACFG_AO_CQ_DMA_CG>; clock-names = "cqdma"; }; #if 0 mm_iommu@10220000 { compatible = "mediatek,mm_iommu"; reg = <0 0x10220000 0 0x1000>; interrupts = ; }; mm_iommu_bank1@10221000 { compatible = "mediatek,mm_iommu_bank1"; reg = <0 0x10221000 0 0x1000>; interrupts = ; }; mm_iommu_bank2@10222000 { compatible = "mediatek,mm_iommu_bank2"; reg = <0 0x10222000 0 0x1000>; interrupts = ; }; mm_iommu_bank3@10223000 { compatible = "mediatek,mm_iommu_bank3"; reg = <0 0x10223000 0 0x1000>; interrupts = ; }; mm_iommu_bank4@10224000 { compatible = "mediatek,mm_iommu_bank4"; reg = <0 0x10224000 0 0x1000>; interrupts = ; }; vpu_iommu@1024f000 { compatible = "mediatek,vpu_iommu"; reg = <0 0x1024f000 0 0x1000>; interrupts = ; }; vpu_iommu_bank1@10250000 { compatible = "mediatek,vpu_iommu_bank1"; reg = <0 0x10250000 0 0x1000>; interrupts = ; }; vpu_iommu_bank2@10251000 { compatible = "mediatek,vpu_iommu_bank2"; reg = <0 0x10251000 0 0x1000>; interrupts = ; }; vpu_iommu_bank3@10252000 { compatible = "mediatek,vpu_iommu_bank3"; reg = <0 0x10252000 0 0x1000>; interrupts = ; }; vpu_iommu_bank4@10253000 { compatible = "mediatek,vpu_iommu_bank4"; reg = <0 0x10253000 0 0x1000>; interrupts = ; }; #endif mm_vpu_m0_smi_common@10254000 { compatible = "mediatek,mm_vpu_m0_smi_common"; reg = <0 0x10254000 0 0x1000>; }; mm_vpu_m1_smi_common@10255000 { compatible = "mediatek,mm_vpu_m1_smi_common"; reg = <0 0x10255000 0 0x1000>; }; axi2acp_smi_common@10256000 { compatible = "mediatek,axi2acp_smi_common"; reg = <0 0x10256000 0 0x1000>; }; mipi_tx0@11e50000 { compatible = "mediatek,mipi_tx0"; reg = <0 0x11e50000 0 0x1000>; }; mipi_tx1@10216000 { compatible = "mediatek,mipi_tx1"; reg = <0 0x10216000 0 0x1000>; }; mipi_rx_ana_csi0a@11c80000 { compatible = "mediatek,mipi_rx_ana_csi0a"; reg = <0 0x11c80000 0 0x1000>; }; mipi_rx_ana_csi0b@11c81000 { compatible = "mediatek,mipi_rx_ana_csi0b"; reg = <0 0x11c81000 0 0x1000>; }; mipi_rx_ana_csi1a@11c82000 { compatible = "mediatek,mipi_rx_ana_csi1a"; reg = <0 0x11c82000 0 0x1000>; }; mipi_rx_ana_csi1b@11c83000 { compatible = "mediatek,mipi_rx_ana_csi1b"; reg = <0 0x11c83000 0 0x1000>; }; mipi_rx_ana_csi2a@11c84000 { compatible = "mediatek,mipi_rx_ana_csi2a"; reg = <0 0x11c84000 0 0x1000>; }; mipi_rx_ana_csi2b@11c85000 { compatible = "mediatek,mipi_rx_ana_csi2b"; reg = <0 0x11c85000 0 0x1000>; }; apcldmain@1021b000 { compatible = "mediatek,apcldmain"; reg = <0 0x1021b000 0 0x1000>; }; apcldmaout@1021b400 { compatible = "mediatek,apcldmaout"; reg = <0 0x1021b400 0 0x1000>; }; apcldmamisc@1021b800 { compatible = "mediatek,apcldmamisc"; reg = <0 0x1021b800 0 0x1000>; }; mdcldmain@1021c000 { compatible = "mediatek,mdcldmain"; reg = <0 0x1021c000 0 0x1000>; }; mdcldmaout@1021c400 { compatible = "mediatek,mdcldmaout"; reg = <0 0x1021c400 0 0x1000>; }; mdcldmamisc@1021c800 { compatible = "mediatek,mdcldmamisc"; reg = <0 0x1021c800 0 0x1000>; }; infra_md@1021d000 { compatible = "mediatek,infra_md"; reg = <0 0x1021d000 0 0x1000>; }; infra_md_cfg@1021d000 { compatible = "mediatek,infra_md_cfg"; reg = <0 0x1021d000 0 0x1000>; }; bpi_bsi_slv0@1021e000 { compatible = "mediatek,bpi_bsi_slv0"; reg = <0 0x1021e000 0 0x1000>; }; bpi_bsi_slv1@1021f000 { compatible = "mediatek,bpi_bsi_slv1"; reg = <0 0x1021f000 0 0x1000>; }; bpi_bsi_slv2@10225000 { compatible = "mediatek,bpi_bsi_slv2"; reg = <0 0x10225000 0 0x1000>; }; emi_mpu@10226000 { compatible = "mediatek,emi_mpu"; reg = <0 0x10226000 0 0x1000>; }; dvfsp@10227000 { compatible = "mediatek,dvfsp"; reg = <0 0x10227000 0 0x1000>; }; dvfsp: dvfsp@0011bc00 { compatible = "mediatek,mt6785-dvfsp"; reg = <0 0x0011bc00 0 0x1400>, <0 0x0011bc00 0 0x1400>; state = <1>; imax_state = <2>; change_flag = <0>; little-rise-time = <1000>; little-down-time = <750>; big-rise-time = <1000>; big-down-time = <750>; L-table = <2000 96 1 1 1933 92 1 1 1866 88 1 1 1800 83 1 1 1733 80 1 1 1666 75 1 1 1548 71 1 1 1475 66 2 1 1375 64 2 1 1275 58 2 1 1175 54 2 1 1075 49 2 1 999 46 2 1 925 43 2 1 850 40 2 1 774 38 2 1 >; B-table = <2200 100 1 1 2133 96 1 1 2066 92 1 1 2000 88 1 1 1933 84 1 1 1866 80 1 1 1800 75 1 1 1651 70 1 1 1503 64 1 1 1414 61 2 1 1295 57 2 1 1176 53 2 1 1087 49 2 1 998 46 2 1 909 43 2 1 850 40 2 1 >; CCI-table = <1400 96 2 1 1353 92 2 1 1306 88 2 1 1260 84 2 1 1190 78 2 1 1155 75 2 1 1120 71 2 1 984 64 2 1 917 62 2 1 827 58 2 1 737 54 2 2 669 51 2 2 579 47 2 2 512 44 2 2 445 41 2 2 400 38 2 2 >; }; mt_cpufreq: mt_cpufreq { compatible = "mediatek,mt-cpufreq"; }; gce@10228000 { compatible = "mediatek,gce"; reg = <0 0x10228000 0 0x4000>; interrupts = ; disp_mutex_reg = <0x14016000 0x1000>; g3d_config_base = <0x13000000 0 0xffff0000>; mmsys_config_base = <0x14000000 1 0xffff0000>; disp_dither_base = <0x14010000 2 0xffff0000>; mm_na_base = <0x14020000 3 0xffff0000>; imgsys_base = <0x15020000 4 0xffff0000>; vdec_gcon_base = <0x18800000 5 0xffff0000>; venc_gcon_base = <0x18810000 6 0xffff0000>; conn_peri_base = <0x18820000 7 0xffff0000>; topckgen_base = <0x18830000 8 0xffff0000>; kp_base = <0x18840000 9 0xffff0000>; scp_sram_base = <0x10000000 10 0xffff0000>; infra_na3_base = <0x10010000 11 0xffff0000>; infra_na4_base = <0x10020000 12 0xffff0000>; scp_base = <0x10030000 13 0xffff0000>; mcucfg_base = <0x10040000 14 0xffff0000>; gcpu_base = <0x10050000 15 0xffff0000>; usb0_base = <0x10200000 16 0xffff0000>; usb_sif_base = <0x10280000 17 0xffff0000>; audio_base = <0x17000000 18 0xffff0000>; vdec_base = <0x17010000 19 0xffff0000>; msdc2_base = <0x17020000 20 0xffff0000>; vdec1_base = <0x17030000 21 0xffff0000>; msdc3_base = <0x18000000 22 0xffff0000>; ap_dma_base = <0x18010000 23 0xffff0000>; gce_base = <0x18020000 24 0xffff0000>; vdec2_base = <0x18040000 25 0xffff0000>; vdec3_base = <0x18050000 26 0xffff0000>; camsys_base = <0x18080000 27 0xffff0000>; camsys1_base = <0x180a0000 28 0xffff0000>; camsys2_base = <0x180b0000 29 0xffff0000>; pwm_sw_base = <0x1100e000 99 0xffff0000>; mipitx0_base = <0x11e50000 99 0xffff0000>; disp_rdma0_sof = <0>; disp_rdma1_sof = <1>; mdp_rdma0_sof = <2>; mdp_rdma1_sof = <3>; mdp_rsz0_sof = <4>; mdp_rsz1_sof = <5>; mdp_tdshp_sof = <6>; mdp_wrot0_sof = <7>; mdp_wrot1_sof = <8>; disp_ovl0_sof = <9>; disp_2l_ovl0_sof = <10>; disp_2l_ovl1_sof = <11>; disp_wdma0_sof = <12>; disp_color0_sof = <13>; disp_ccorr0_sof = <14>; disp_aal0_sof = <15>; disp_gamma0_sof = <16>; disp_dither0_sof = <17>; disp_pwm0_sof = <18>; disp_dsi0_sof = <19>; disp_dpi0_sof = <20>; disp_postmask0_sof = <21>; disp_rsz0_sof = <22>; mdp_aal_sof = <23>; mdp_ccorr_sof = <24>; disp_dbi0_sof = <25>; isp_relay_sof = <26>; ipu_relay_sof = <27>; disp_rdma0_frame_done = <28>; disp_rdma1_frame_done = <29>; mdp_rdma0_frame_done = <30>; mdp_rdma1_frame_done = <31>; mdp_rsz0_frame_done = <32>; mdp_rsz1_frame_done = <33>; mdp_tdshp_frame_done = <34>; mdp_wrot0_write_frame_done = <35>; mdp_wrot1_write_frame_done = <36>; disp_ovl0_frame_done = <37>; disp_2l_ovl0_frame_done = <38>; disp_2l_ovl1_frame_done = <39>; disp_wdma0_frame_done = <40>; disp_color0_frame_done = <41>; disp_ccorr0_frame_done = <42>; disp_aal0_frame_done = <43>; disp_gamma0_frame_done = <44>; disp_dither0_frame_done = <45>; disp_dsi0_frame_done = <46>; disp_dpi0_frame_done = <47>; disp_rsz0_frame_done = <49>; mdp_aal_frame_done = <50>; mdp_ccorr_frame_done = <51>; disp_postmask0_frame_done = <52>; stream_done_0 = <130>; stream_done_1 = <131>; stream_done_2 = <132>; stream_done_3 = <133>; stream_done_4 = <134>; stream_done_5 = <135>; stream_done_6 = <136>; stream_done_7 = <137>; stream_done_8 = <138>; stream_done_9 = <139>; stream_done_10 = <140>; stream_done_11 = <141>; buf_underrun_event_0 = <142>; buf_underrun_event_1 = <143>; buf_underrun_event_2 = <144>; buf_underrun_event_3 = <145>; dsi0_te_event = <146>; dsi0_irq_event = <147>; dsi0_done_event = <148>; disp_postmask0_frame_rst_done_pulse = <150>; disp_wdma0_rst_done = <151>; mdp_wrot0_rst_done = <153>; mdp_rdma0_rst_done = <154>; disp_ovl0_frame_rst_done_pusle = <155>; disp_ovl0_2l_frame_rst_done_pusle = <156>; disp_ovl1_2l_frame_rst_done_pusle = <157>; dip_cq_thread0_frame_done = <257>; dip_cq_thread1_frame_done = <258>; dip_cq_thread2_frame_done = <259>; dip_cq_thread3_frame_done = <260>; dip_cq_thread4_frame_done = <261>; dip_cq_thread5_frame_done = <262>; dip_cq_thread6_frame_done = <263>; dip_cq_thread7_frame_done = <264>; dip_cq_thread8_frame_done = <265>; dip_cq_thread9_frame_done = <266>; dip_cq_thread10_frame_done = <267>; dip_cq_thread11_frame_done = <268>; dip_cq_thread12_frame_done = <269>; dip_cq_thread13_frame_done = <270>; dip_cq_thread14_frame_done = <271>; dip_cq_thread15_frame_done = <272>; dip_cq_thread16_frame_done = <273>; dip_cq_thread17_frame_done = <274>; dip_cq_thread18_frame_done = <275>; amd_frame_done = <276>; dve_done = <277>; wmfe_done = <278>; rsc_frame_done = <279>; mfb_done = <280>; wpe_a_frame_done = <281>; wpe_b_frame_done = <282>; occ_done = <283>; venc_cmdq_frame_done = <289>; venc_cmdq_pause_done = <290>; jpgenc_cmdq_done = <291>; venc_cmdq_mb_done = <292>; venc_cmdq_128byte_cnt_done = <293>; isp_frame_done_a = <321>; isp_frame_done_b = <322>; camsv0_pass1_done = <323>; camsv1_pass1_done = <324>; camsv2_pass1_done = <325>; tsf_done = <326>; seninf_0_fifo_full = <327>; seninf_1_fifo_full = <328>; seninf_2_fifo_full = <329>; seninf_3_fifo_full = <330>; seninf_4_fifo_full = <331>; seninf_5_fifo_full = <332>; seninf_6_fifo_full = <333>; seninf_7_fifo_full = <334>; apu_gce_core0_event_0 = <353>; apu_gce_core0_event_1 = <354>; apu_gce_core0_event_2 = <355>; apu_gce_core0_event_3 = <356>; apu_gce_core1_event_0 = <385>; apu_gce_core1_event_1 = <386>; apu_gce_core1_event_2 = <387>; apu_gce_core1_event_3 = <388>; vdec_event_0 = <416>; vdec_event_1 = <417>; vdec_event_2 = <418>; vdec_event_3 = <419>; vdec_event_4 = <420>; vdec_event_5 = <421>; vdec_event_6 = <422>; vdec_event_7 = <423>; vdec_event_8 = <424>; vdec_event_9 = <425>; vdec_event_10 = <426>; vdec_event_11 = <427>; vdec_event_12 = <428>; vdec_event_13 = <429>; vdec_event_14 = <430>; vdec_event_15 = <431>; dsi0_te_from_infra = <898>; mmsys_config = <&mmsys_config>; mm_mutex = <&mm_mutex>; mdp_rdma0 = <&mdp_rdma0>; mdp_rdma1 = <&mdp_rdma1>; mdp_rsz0 = <&mdp_rsz0>; mdp_rsz1 = <&mdp_rsz1>; mdp_wrot0 = <&mdp_wrot0>; mdp_wrot1 = <&mdp_wrot1>; mdp_tdshp0 = <&mdp_tdshp>; mdp_aal0 = <&mdp_aal>; mdp_hdr0 = <&mdp_hdr>; mdp_color0 = <&disp_color0>; smi_larb0 = <&smi_larb0>; mediatek,mailbox-gce = <&gce_mbox>; sram_share_cnt = <2>; sram_share_engine = <21>, <22>; sram_share_event = <710>, <711>; // #if defined(CONFIG_MTK_MT6382_DBG) thread_count = <56>; // #else // thread_count = <24>; // #endif secure_thread = <8 11>; mboxes = <&gce_mbox 0 0 CMDQ_THR_PRIO_4>, <&gce_mbox 1 0 CMDQ_THR_PRIO_4>, <&gce_mbox 2 0 CMDQ_THR_PRIO_5>, <&gce_mbox 3 0 CMDQ_THR_PRIO_4>, <&gce_mbox 4 0 CMDQ_THR_PRIO_4>, <&gce_mbox 5 0 CMDQ_THR_PRIO_4>, <&gce_mbox 6 0 CMDQ_THR_PRIO_3>, <&gce_mbox 7 CMDQ_NO_TIMEOUT CMDQ_THR_PRIO_2>, #if defined(CONFIG_MTK_SEC_VIDEO_PATH_SUPPORT) || \ defined(CONFIG_MTK_CAM_SECURITY_SUPPORT) <&gce_mbox_svp 8 0 CMDQ_THR_PRIO_4>, <&gce_mbox_svp 9 0 CMDQ_THR_PRIO_4>, <&gce_mbox_svp 10 0 CMDQ_THR_PRIO_1>, <&gce_mbox_svp 11 0 CMDQ_THR_PRIO_1>, #else <&gce_mbox 8 0 CMDQ_THR_PRIO_1>, <&gce_mbox 9 0 CMDQ_THR_PRIO_1>, <&gce_mbox 10 0 CMDQ_THR_PRIO_1>, <&gce_mbox 11 0 CMDQ_THR_PRIO_1>, #endif <&gce_mbox 12 0 CMDQ_THR_PRIO_1>, <&gce_mbox 13 0 CMDQ_THR_PRIO_1>, <&gce_mbox 14 0 CMDQ_THR_PRIO_1>, #if defined(CONFIG_MTK_SEC_VIDEO_PATH_SUPPORT) || \ defined(CONFIG_MTK_CAM_SECURITY_SUPPORT) <&gce_mbox 15 CMDQ_NO_TIMEOUT CMDQ_THR_PRIO_1>, #else <&gce_mbox 15 0 CMDQ_THR_PRIO_1>, #endif <&gce_mbox 18 0 CMDQ_THR_PRIO_1>, <&gce_mbox 19 0 CMDQ_THR_PRIO_1>, <&gce_mbox 20 0 CMDQ_THR_PRIO_1>, <&gce_mbox 21 0 CMDQ_THR_PRIO_1>, <&gce_mbox 22 0 CMDQ_THR_PRIO_1>, <&gce_mbox 23 0 CMDQ_THR_PRIO_1>; gce-cpr-range = <0 GCE_CPR_COUNT>; clocks = <&infracfg_ao INFRACFG_AO_GCE_CG>, <&infracfg_ao INFRACFG_AO_GCE_26M_CG>; clock-names = "GCE", "GCE_TIMER"; gce_mbox_bdg = <&gce_mbox_bdg>; }; gce_mbox: gce_mbox@10228000 { compatible = "mediatek,mt6785-gce"; reg = <0 0x10228000 0 0x4000>; interrupts = ; #mbox-cells = <3>; #gce-event-cells = <1>; #gce-subsys-cells = <2>; default_tokens = /bits/ 16 , /bits/ 16 , /bits/ 16 , /bits/ 16 , /bits/ 16 , /bits/ 16 , /bits/ 16 ; clocks = <&infracfg_ao INFRACFG_AO_GCE_CG>, <&infracfg_ao INFRACFG_AO_GCE_26M_CG>; clock-names = "gce", "gce-timer"; }; gce_mbox_bdg: gce_mbox_bdg { compatible = "mediatek,mailbox-gce-bdg"; #mbox-cells = <3>; #gce-event-cells = <1>; #gce-subsys-cells = <2>; mboxes = <&gce_mbox_bdg 20 0 CMDQ_THR_PRIO_2>, <&gce_mbox_bdg 21 0 CMDQ_THR_PRIO_1>; }; cmdq-bdg-test { compatible = "mediatek,cmdq-bdg-test"; mediatek,gce = <&gce_mbox_bdg>; mboxes = <&gce_mbox_bdg 22 0 CMDQ_THR_PRIO_2>, <&gce_mbox_bdg 23 0 CMDQ_THR_PRIO_1>; token_user0 = /bits/ 16 ; token_gpr_set4 = /bits/ 16 ; }; #if defined(CONFIG_MTK_SEC_VIDEO_PATH_SUPPORT) || \ defined(CONFIG_MTK_CAM_SECURITY_SUPPORT) gce_mbox_svp: gce_mbox_svp@10228000 { compatible = "mediatek,mailbox-gce-svp"; reg = <0 0x10228000 0 0x4000>; interrupts = , ; #mbox-cells = <3>; clocks = <&infracfg_ao INFRACFG_AO_GCE_CG>, <&infracfg_ao INFRACFG_AO_GCE_26M_CG>; clock-names = "gce", "gce-timer"; }; #endif chn0_emi@10235000 { compatible = "mediatek,chn0_emi"; reg = <0 0x10235000 0 0x1000>; }; dramc@10230000 { compatible = "mediatek,dramc"; reg = <0 0x10230000 0 0x2000>, <0 0x10240000 0 0x2000>, <0 0x10234000 0 0x1000>, <0 0x10244000 0 0x1000>, <0 0x10238000 0 0x2000>, <0 0x10248000 0 0x2000>, <0 0x10236000 0 0x1000>, <0 0x10246000 0 0x1000>; }; chn1_emi@10245000 { compatible = "mediatek,chn1_emi"; reg = <0 0x10245000 0 0x1000>; }; fmem_smi@1024e000 { compatible = "mediatek,fmem_smi"; reg = <0 0x1024e000 0 0x1000>; }; gic@1024e000 { compatible = "mediatek,gic"; reg = <0 0x1024e000 0 0x1000>; }; sspm@10400000 { compatible = "mediatek,sspm"; reg = <0 0x10400000 0 0x28000>, <0 0x10440000 0 0x10000>, <0 0x10450000 0 0x100>, <0 0x10451000 0 0x8>, <0 0x10460000 0 0x100>, <0 0x10461000 0 0x8>, <0 0x10470000 0 0x100>, <0 0x10471000 0 0x8>, <0 0x10480000 0 0x100>, <0 0x10481000 0 0x8>, <0 0x10490000 0 0x100>, <0 0x10491000 0 0x8>; reg-names = "sspm_base", "cfgreg", "mbox0_base", "mbox0_ctrl", "mbox1_base", "mbox1_ctrl", "mbox2_base", "mbox2_ctrl", "mbox3_base", "mbox3_ctrl", "mbox4_base", "mbox4_ctrl"; interrupts = , , , , , ; interrupt-names = "ipc", "mbox0", "mbox1", "mbox2", "mbox3", "mbox4"; sspm_mem_key = "mediatek,reserve-memory-sspm_share"; sspm_mem_tbl = <0 0x100100>, /* logger header + log buffer */ <1 0x300>, /* PWRAP 768bytes*/ <2 0xc00>, /* PMIC 3K */ <3 0x1800>, /* UPD 6K */ <4 0x1000>, /* QOS 4K*/ <5 0x1800>, /* SWPM 6K*/ #if defined(CONFIG_MTK_GMO_RAM_OPTIMIZE) || defined(CONFIG_MTK_MET_MEM_ALLOC) #else <6 0x400000>, /* MET 4M */ #endif <7 0x9000>, /* SMI 36K */ <8 0x1000>; /* GPU 4K */ sspm_share_buffer_supported; /* share_buffer supported */ }; adsp_common: adsp_common@10600000 { compatible = "mediatek,adsp_common"; reg = <0 0x10001000 0 0x1000>, /* infracfg_ao */ <0 0x10003000 0 0x1000>; /* pericfg */ clocks = <&infracfg_ao INFRACFG_AO_FADSP_CG>, <&topckgen TOP_MUX_ADSP>, <&clk26m>, <&topckgen TOP_MMPLL_D4>, <&topckgen TOP_ADSPPLL_D4>, <&topckgen TOP_ADSPPLL_D6>; clock-names = "clk_adsp_infra", "clk_top_adsp_sel", "clk_adsp_clk26m", "clk_top_mmpll_d4", "clk_top_adsppll_d4", "clk_top_adsppll_d6"; adsp-rsv-ipidma-a = <0x200000>; adsp-rsv-logger-a = <0x80000>; adsp-rsv-dbg-dump-a = <0x80000>; adsp-rsv-core-dump-a = <0x400>; adsp-rsv-audio = <0x5c0000>; }; adsp_core0: adsp_core0@10610000 { compatible = "mediatek,adsp_core_0"; reg = <0 0x10600000 0 0x10000>, /* CFG */ <0 0x10630000 0 0x9000>, /* ITCM */ <0 0x10610000 0 0x8000>; /* DTCM */ system = <0 0x56000000 0 0x700000>; interrupts = , ; }; ap_dma@11000000 { compatible = "mediatek,ap_dma"; reg = <0 0x11000000 0 0x1000>; interrupts = ; }; auxadc: auxadc@11001000 { compatible = "mediatek,mt6785-auxadc", "mediatek,mt6765-auxadc"; reg = <0 0x11001000 0 0x1000>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_AUXADC_CG>; clock-names = "main"; #io-channel-cells = <1>; /* Auxadc efuse calibration */ /* 1. Auxadc cali on/off bit shift */ mediatek,cali-en-bit = <20>; /* 2. Auxadc cali ge bits shift */ mediatek,cali-ge-bit = <10>; /* 3. Auxadc cali oe bits shift */ mediatek,cali-oe-bit = <0>; /* 4. Auxadc cali efuse reg offset */ mediatek,cali-efuse-reg-offset = <0x1a8>; nvmem = <&efuse>; nvmem-names = "mtk_efuse"; #interconnect-cells = <1>; }; apdma: dma-controller@11000880 { compatible = "mediatek,mt6577-uart-dma"; reg = <0 0x11000880 0 0x80>, <0 0x11000900 0 0x80>, <0 0x11000980 0 0x80>, <0 0x11000A00 0 0x80>; interrupts = , , , ; dma-requests = <4>; clocks = <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "apdma"; #dma-cells = <1>; dma-bits = <34>; }; apuart0: serial@11002000 { compatible = "mediatek,mt6577-uart"; reg = <0 0x11002000 0 0x1000>; interrupts = ; clocks = <&clk26m>, <&infracfg_ao INFRACFG_AO_UART0_CG>; clock-names = "baud", "bus"; dmas = <&apdma 0 &apdma 1>; dma-names = "tx", "rx"; }; apuart1: serial@11003000 { compatible = "mediatek,mt6577-uart"; reg = <0 0x11003000 0 0x1000>; interrupts = ; clocks = <&clk26m>, <&infracfg_ao INFRACFG_AO_UART1_CG>; clock-names = "baud", "bus"; dmas = <&apdma 2 &apdma 3>; dma-names = "tx", "rx"; }; i2c_common: i2c_common { compatible = "mediatek,i2c_common"; dma_support = /bits/ 8 <3>; idvfs = /bits/ 8 <1>; set_dt_div = /bits/ 8 <1>; check_max_freq = /bits/ 8 <1>; ver = /bits/ 8 <2>; set_ltiming = /bits/ 8 <1>; ext_time_config = /bits/ 16 <0x1801>; cnt_constraint = /bits/ 8 <1>; }; i2c0: i2c0@11007000 { compatible = "mediatek,i2c"; id = <0>; reg = <0 0x11007000 0 0x1000>, <0 0x11000080 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <51>; sda-gpio-id = <52>; gpio_start = <0x11ea0000>; mem_len = <0x1000>; eh_cfg = <0x40>; pu_cfg = <0xa0>; rsel_cfg = <0x100>; aed = <0x1a>; }; i2c1: i2c1@11008000 { compatible = "mediatek,i2c"; id = <1>; reg = <0 0x11008000 0 0x1000>, <0 0x11000100 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <61>; sda-gpio-id = <62>; gpio_start = <0x11e20000>; mem_len = <0x1000>; eh_cfg = <0x10>; pu_cfg = <0x40>; rsel_cfg = <0x60>; aed = <0x1a>; }; i2c2: i2c2@11009000 { compatible = "mediatek,i2c"; id = <2>; reg = <0 0x11009000 0 0x1000>, <0 0x11000180 0 0x180>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <112>; sda-gpio-id = <113>; gpio_start = <0x11d10000>; mem_len = <0x1000>; eh_cfg = <0x30>; pu_cfg = <0xa0>; rsel_cfg = <0xd0>; aed = <0x1a>; ch_offset_default = <0x100>; ch_offset_ccu = <0x200>; }; i2c3: i2c3@1100f000 { compatible = "mediatek,i2c"; id = <3>; reg = <0 0x1100f000 0 0x1000>, <0 0x11000300 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <55>; sda-gpio-id = <56>; gpio_start = <0x11ea0000>; mem_len = <0x1000>; eh_cfg = <0x40>; pu_cfg = <0xa0>; rsel_cfg = <0x100>; aed = <0x1a>; }; i2c4: i2c4@11011000 { compatible = "mediatek,i2c"; id = <4>; reg = <0 0x11011000 0 0x1000>, <0 0x11000380 0 0x180>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <110>; sda-gpio-id = <111>; gpio_start = <0x11d10000>; mem_len = <0x1000>; eh_cfg = <0x30>; pu_cfg = <0xa0>; rsel_cfg = <0xd0>; aed = <0x1a>; ch_offset_default = <0x100>; ch_offset_ccu = <0x200>; }; i2c5: i2c5@11016000 { compatible = "mediatek,i2c"; id = <5>; reg = <0 0x11016000 0 0x1000>, <0 0x11000500 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <28>; sda-gpio-id = <29>; gpio_start = <0x11f20000>; mem_len = <0x1000>; eh_cfg = <0x20>; pu_cfg = <0x80>; rsel_cfg = <0xc0>; aed = <0x1a>; }; i2c6: i2c6@11005000 { compatible = "mediatek,i2c"; id = <6>; reg = <0 0x11005000 0 0x1000>, <0 0x11000580 0 0x100>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <45>; sda-gpio-id = <46>; gpio_start = <0x11ea0000>; mem_len = <0x1000>; eh_cfg = <0x40>; pu_cfg = <0xa0>; rsel_cfg = <0x100>; aed = <0x1a>; }; i2c7: i2c7@1101a000 { compatible = "mediatek,i2c"; id = <7>; reg = <0 0x1101a000 0 0x1000>, <0 0x11000680 0 0x100>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; scl-gpio-id = <198>; sda-gpio-id = <199>; gpio_start = <0x11ea0000>; mem_len = <0x1000>; eh_cfg = <0x40>; pu_cfg = <0xa0>; rsel_cfg = <0x100>; aed = <0x1a>; ch_offset_default = <0x100>; }; i2c8: i2c8@1101b000 { compatible = "mediatek,i2c"; id = <8>; reg = <0 0x1101b000 0 0x1000>, <0 0x11000780 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; aed = <0x1a>; }; i2c9: i2c9@11015000 { compatible = "mediatek,i2c"; id = <9>; reg = <0 0x11015000 0 0x1000>, <0 0x11000800 0 0x80>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_I2C0_CG>, <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; clock-names = "main", "dma"; clock-div = <5>; aed = <0x1a>; }; pwm@11006000 { compatible = "mediatek,pwm"; reg = <0 0x11006000 0 0x1000>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_PWM1_CG>, <&infracfg_ao INFRACFG_AO_PWM2_CG>, <&infracfg_ao INFRACFG_AO_PWM3_CG>, <&infracfg_ao INFRACFG_AO_PWM4_CG>, <&infracfg_ao INFRACFG_AO_PWM_HCLK_CG>, <&infracfg_ao INFRACFG_AO_PWM_CG>; clock-names = "PWM1-main", "PWM2-main", "PWM3-main", "PWM4-main", "PWM-HCLK-main", "PWM-main"; }; spi0: spi0@1100a000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x1100a000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI0_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi1: spi1@11010000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x11010000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI1_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi2: spi2@11012000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x11012000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI2_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi3: spi3@11013000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x11013000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI3_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi4: spi4@11018000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x11018000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI4_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi5: spi5@11019000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <1>; reg = <0 0x11019000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI5_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi6: spi6@1101d000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x1101d000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI6_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; spi7: spi7@1101e000 { compatible = "mediatek,mt6765-spi"; mediatek,pad-select = <0>; reg = <0 0x1101e000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MAINPLL_D5_D2>, <&topckgen TOP_MUX_SPI>, <&infracfg_ao INFRACFG_AO_SPI7_CG>; clock-names = "parent-clk", "sel-clk", "spi-clk"; }; therm_ctrl@1100b000 { compatible = "mediatek,therm_ctrl"; reg = <0 0x1100b000 0 0x1000>; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_THERM_CG>; clock-names = "therm-main"; }; tboard_thermistor1: thermal-sensor1 { compatible = "mediatek,mtboard-thermistor1"; io-channels = <&auxadc 0>; io-channel-names = "thermistor-ch0"; }; tboard_thermistor2: thermal-sensor2 { compatible = "mediatek,mtboard-thermistor2"; io-channels = <&auxadc 1>; io-channel-names = "thermistor-ch1"; }; drcc: drcc { compatible = "mediatek,drcc"; state = <255>; drcc0_Vref = <255>; drcc1_Vref = <255>; drcc2_Vref = <255>; drcc3_Vref = <255>; drcc4_Vref = <255>; drcc5_Vref = <255>; drcc6_Vref = <255>; drcc7_Vref = <255>; drcc0_Hwgatepct = <255>; drcc1_Hwgatepct = <255>; drcc2_Hwgatepct = <255>; drcc3_Hwgatepct = <255>; drcc4_Hwgatepct = <255>; drcc5_Hwgatepct = <255>; drcc6_Hwgatepct = <255>; drcc7_Hwgatepct = <255>; drcc0_Code = <255>; drcc1_Code = <255>; drcc2_Code = <255>; drcc3_Code = <255>; drcc4_Code = <255>; drcc5_Code = <255>; drcc6_Code = <255>; drcc7_Code = <255>; }; eem_fsm: eem_fsm@1100b000 { compatible = "mediatek,eem_fsm"; reg = <0 0x1100b000 0 0x1000>; interrupts = ; eem-status = <1>; eem-initmon-little = <0xf>; eem-initmon-big = <0xf>; eem-initmon-cci = <0xf>; eem-initmon-gpu = <0xf>; eem-clamp-little = <0>; eem-clamp-big = <0>; eem-clamp-cci = <0>; eem-clamp-gpu = <0>; eem-offset-little = <0xff>; eem-offset-big = <0xff>; eem-offset-cci = <0xff>; eem-offset-gpu = <0xff>; }; btif@1100c000 { compatible = "mediatek,btif"; /*btif base*/ reg = <0 0x1100c000 0 0x1000>, /*btif tx dma base*/ <0 0x11000b80 0 0x80>, /*btif rx dma base*/ <0 0x11000c00 0 0x80>; /*btif irq, IRQS_Sync ID, btif_irq_b*/ interrupts = , /*btif tx dma irq*/ , /*btif rx dma irq*/ ; clocks = <&infracfg_ao INFRACFG_AO_BTIF_CG>, /*btif clock*/ <&infracfg_ao INFRACFG_AO_AP_DMA_CG>; /*ap dma clock*/ clock-names = "btifc","apdmac"; }; consys: consys@18002000 { compatible = "mediatek,mt6785-consys"; #address-cells = <2>; #size-cells = <2>; /*CONN_MCU_CONFIG_BASE */ reg = <0 0x18002000 0 0x1000>, /*TOP_RGU_BASE */ <0 0x10007000 0 0x0100>, /*INFRACFG_AO_BASE */ <0 0x10001000 0 0x1000>, /*SPM_BASE */ <0 0x10006000 0 0x1000>, /*CONN_HIF_ON_BASE */ <0 0x18007000 0 0x1000>, /*CONN_TOP_MISC_OFF_BASE */ <0 0x180b1000 0 0x1000>, /*CONN_MCU_CFG_ON_BASE */ <0 0x180a3000 0 0x1000>, /*CONN_MCU_CIRQ_BASE */ <0 0x180a5000 0 0x800>, /*CONN_TOP_MISC_ON_BASE */ <0 0x180c1000 0 0x1000>, /*CONN_HIF_PDMA_BASE */ <0 0x18004000 0 0x1000>, /* INFRASYS_COMMON AP2MD_PCCIF4_BASE */ <0 0x1024c000 0 0x40>, /*INFRA_AO_PERICFG_BASE */ <0 0x10003000 0 0x1000>; /*BGF_EINT */ interrupts = , /*WDT_EINT */ , /*conn2ap_sw_irq*/ ; clocks = <&scpsys SCP_SYS_CONN>, <&infracfg_ao INFRACFG_AO_CCIF4_AP_CG>; clock-names = "conn", "ccif"; memory-region = <&consys_mem>; }; irtx@1100d000 { compatible = "mediatek,irtx"; reg = <0 0x1100d000 0 0x1000>; }; disp_pwm0@1100e000 { compatible = "mediatek,disp_pwm0"; reg = <0 0x1100e000 0 0x1000>; interrupts = ; }; i2c1_imm@11014000 { compatible = "mediatek,i2c1_imm"; reg = <0 0x11014000 0 0x1000>; }; imp_iic_wrap@11017000 { compatible = "mediatek,imp_iic_wrap"; reg = <0 0x11017000 0 0x1000>; }; dfd@10200b00 { compatible = "mediatek,dfd"; reg = <0 0x10200b00 0 0x10000>; mediatek,enabled = <1>; mediatek,chain_length = <0xa7f8>; mediatek,rg_dfd_timeout = <0xa0>; mediatek,check_dfd_support = <1>; mediatek,dfd_infra_base = <0x390>; mediatek,dfd_ap_addr_offset = <24>; mediatek,dfd_latch_offset = <0x48>; }; dfd_cache: dfd_cache { compatible = "mediatek,dfd_cache"; mediatek,enabled = <0>; mediatek,l2c_trigger = <0>; mediatek,rg_dfd_timeout = <0x3e80>; }; ssusb: usb0@11201000 { compatible = "mediatek,mtu3"; reg = <0 0x11201000 0 0x2e00>, <0 0x11203E00 0 0x100>; reg-names = "mac", "ippc"; interrupts = ; interrupt-names = "ssusb_mac"; phy-cells = <1>; phys = <&u2port0 PHY_TYPE_USB2>, <&u3port0 PHY_TYPE_USB3>; clocks = <&infracfg_ao INFRACFG_AO_USB_CG>, <&infracfg_ao INFRACFG_AO_SSUSB_XHCI_CG>; clock-names = "sys_ck", "ref_clk"; #address-cells = <2>; #size-cells = <2>; ranges; dr_mode = "otg"; mediatek,force-vbus = <1>; mediatek,clk-mgr = <1>; mediatek,spm-mgr = <1>; maximum-speed = "high-speed"; usb-role-switch; status = "okay"; cdp-block; usb_host: xhci0@11200000 { compatible = "mediatek,mtk-xhci"; reg = <0 0x11200000 0 0x1000>; reg-names = "mac"; interrupts = ; clocks = <&infracfg_ao INFRACFG_AO_SSUSB_XHCI_CG>; clock-names = "sys_ck"; status = "okay"; }; }; u3phy: usb-phy0@11e40000 { compatible = "mediatek,generic-tphy-v2"; clocks = <&clk26m>; clock-names = "u3phya_ref"; #address-cells = <2>; #size-cells = <2>; ranges; status = "okay"; u2port0: usb2-phy0@11e40000 { reg = <0 0x11e40000 0 0x700>; #phy-cells = <1>; mediatek,eye-vrt = <6>; /* 0~7 */ mediatek,eye-term = <6>; /* 0~7 */ mediatek,eye-rev6 = <1>; /* 0~3 */ mediatek,eye-disc = <7>; /* 0~8 */ mediatek,host-eye-vrt = <6>; /* 0~7 */ mediatek,host-eye-term = <6>; /* 0~7 */ mediatek,host-eye-rev6 = <1>; /* 0~3 */ mediatek,host-eye-disc = <7>; /* 0~8 */ status = "okay"; }; u3port0: usb3-phy0@11e40700 { reg = <0 0x11e40700 0 0x900>; #phy-cells = <1>; status = "okay"; }; }; extcon_usb: extcon_usb { compatible = "mediatek,extcon-usb"; charger = <&mt6360_chg>; dev-conn = <&ssusb>; mediatek,bypss-typec-sink = <1>; }; usb_boost_manager { compatible = "mediatek,usb_boost"; boost_period = <0>; }; audio: audio@11210000 { compatible = "mediatek,audio", "syscon"; reg = <0 0x11210000 0 0x1000>; #clock-cells = <1>; }; afe: mt6785-afe-pcm@11210000 { compatible = "mediatek,mt6785-sound"; reg = <0 0x11210000 0 0x1000>; interrupts = ; clocks = <&audio AUDIO_AFE>, <&audio AUDIO_DAC>, <&audio AUDIO_DAC_PREDIS>, <&audio AUDIO_ADC>, <&audio AUDIO_PDN_ADDA6_ADC>, <&audio AUDIO_22M>, <&audio AUDIO_24M>, <&audio AUDIO_APLL_TUNER>, <&audio AUDIO_APLL2_TUNER>, <&audio AUDIO_TDM>, <&audio AUDIO_TML>, <&audio AUDIO_NLE>, <&audio AUDIO_DAC_HIRES>, <&audio AUDIO_ADC_HIRES>, <&audio AUDIO_ADC_HIRES_TML>, <&audio AUDIO_ADDA6_ADC_HIRES>, <&audio AUDIO_3RD_DAC>, <&audio AUDIO_3RD_DAC_PREDIS>, <&audio AUDIO_3RD_DAC_TML>, <&audio AUDIO_3RD_DAC_HIRES>, <&scpsys SCP_SYS_AUDIO>, <&infracfg_ao INFRACFG_AO_AUDIO_CG>, <&infracfg_ao INFRACFG_AO_AUDIO_26M_BCLK_CK>, <&topckgen TOP_MUX_AUDIO>, <&topckgen TOP_MUX_AUD_INTBUS>, <&topckgen TOP_MAINPLL_D2_D4>, <&topckgen TOP_MUX_AUD_1>, <&topckgen TOP_APLL1_CK>, <&topckgen TOP_MUX_AUD_2>, <&topckgen TOP_APLL2_CK>, <&topckgen TOP_MUX_AUD_ENG1>, <&topckgen TOP_APLL1_D8>, <&topckgen TOP_MUX_AUD_ENG2>, <&topckgen TOP_APLL2_D8>, <&topckgen TOP_I2S0_M_SEL>, <&topckgen TOP_I2S1_M_SEL>, <&topckgen TOP_I2S2_M_SEL>, <&topckgen TOP_I2S3_M_SEL>, <&topckgen TOP_I2S4_M_SEL>, <&topckgen TOP_I2S5_M_SEL>, <&topckgen TOP_APLL12_DIV0>, <&topckgen TOP_APLL12_DIV1>, <&topckgen TOP_APLL12_DIV2>, <&topckgen TOP_APLL12_DIV3>, <&topckgen TOP_APLL12_DIV4>, <&topckgen TOP_APLL12_DIVB>, <&topckgen TOP_APLL12_DIV5>, <&topckgen TOP_MUX_AUDIO_H>, <&clk26m>; clock-names = "aud_afe_clk", "aud_dac_clk", "aud_dac_predis_clk", "aud_adc_clk", "aud_adda6_adc_clk", "aud_apll22m_clk", "aud_apll24m_clk", "aud_apll1_tuner_clk", "aud_apll2_tuner_clk", "aud_tdm_clk", "aud_tml_clk", "aud_nle", "aud_dac_hires_clk", "aud_adc_hires_clk", "aud_adc_hires_tml", "aud_adda6_adc_hires_clk", "aud_3rd_dac_clk", "aud_3rd_dac_predis_clk", "aud_3rd_dac_tml", "aud_3rd_dac_hires_clk", "scp_sys_audio", "aud_infra_clk", "mtkaif_26m_clk", "top_mux_audio", "top_mux_audio_int", "top_mainpll_d2_d4", "top_mux_aud_1", "top_apll1_ck", "top_mux_aud_2", "top_apll2_ck", "top_mux_aud_eng1", "top_apll1_d8", "top_mux_aud_eng2", "top_apll2_d8", "top_i2s0_m_sel", "top_i2s1_m_sel", "top_i2s2_m_sel", "top_i2s3_m_sel", "top_i2s4_m_sel", "top_i2s5_m_sel", "top_apll12_div0", "top_apll12_div1", "top_apll12_div2", "top_apll12_div3", "top_apll12_div4", "top_apll12_divb", "top_apll12_div5", "top_mux_audio_h", "top_clk26m_clk"; pinctrl-names = "aud_clk_mosi_off", "aud_clk_mosi_on", "aud_dat_mosi_off", "aud_dat_mosi_on", "aud_dat_miso_off", "aud_dat_miso_on", "vow_dat_miso_off", "vow_dat_miso_on", "vow_clk_miso_off", "vow_clk_miso_on", "aud_nle_mosi_off", "aud_nle_mosi_on", "aud_dat_miso2_off", "aud_dat_miso2_on", "aud_gpio_i2s0_off", "aud_gpio_i2s0_on", "aud_gpio_i2s1_off", "aud_gpio_i2s1_on", "aud_gpio_i2s2_off", "aud_gpio_i2s2_on", "aud_gpio_i2s3_off", "aud_gpio_i2s3_on", "aud_gpio_i2s5_off", "aud_gpio_i2s5_on", "aud_dat_mosi_ch34_off", "aud_dat_mosi_ch34_on", "aud_dat_miso_ch34_off", "aud_dat_miso_ch34_on"; pinctrl-0 = <&aud_clk_mosi_off>; pinctrl-1 = <&aud_clk_mosi_on>; pinctrl-2 = <&aud_dat_mosi_off>; pinctrl-3 = <&aud_dat_mosi_on>; pinctrl-4 = <&aud_dat_miso_off>; pinctrl-5 = <&aud_dat_miso_on>; pinctrl-6 = <&vow_dat_miso_off>; pinctrl-7 = <&vow_dat_miso_on>; pinctrl-8 = <&vow_clk_miso_off>; pinctrl-9 = <&vow_clk_miso_on>; pinctrl-10 = <&aud_nle_mosi_off>; pinctrl-11 = <&aud_nle_mosi_on>; pinctrl-12 = <&aud_dat_miso2_off>; pinctrl-13 = <&aud_dat_miso2_on>; pinctrl-14 = <&aud_gpio_i2s0_off>; pinctrl-15 = <&aud_gpio_i2s0_on>; pinctrl-16 = <&aud_gpio_i2s1_off>; pinctrl-17 = <&aud_gpio_i2s1_on>; pinctrl-18 = <&aud_gpio_i2s2_off>; pinctrl-19 = <&aud_gpio_i2s2_on>; pinctrl-20 = <&aud_gpio_i2s3_off>; pinctrl-21 = <&aud_gpio_i2s3_on>; pinctrl-22 = <&aud_gpio_i2s5_off>; pinctrl-23 = <&aud_gpio_i2s5_on>; pinctrl-24 = <&aud_dat_mosi_ch34_off>; pinctrl-25 = <&aud_dat_mosi_ch34_on>; pinctrl-26 = <&aud_dat_miso_ch34_off>; pinctrl-27 = <&aud_dat_miso_ch34_on>; }; mt6359_snd: mt6359_snd { compatible = "mediatek,mt6359-sound"; mediatek,pwrap-regmap = <&pwrap>; nvmem = <&pmic_efuse>; nvmem-names = "pmic-hp-efuse"; io-channels = <&pmic_auxadc AUXADC_HPOFS_CAL>, <&pmic_auxadc AUXADC_ACCDET>; io-channel-names = "pmic_hpofs_cal", "pmic_accdet"; }; sound: sound { compatible = "mediatek,mt6785-mt6359-sound"; mediatek,audio-codec = <&mt6359_snd>; mediatek,platform = <&afe>; mediatek,snd_audio_dsp = <&snd_audio_dsp>; mtk_spk_i2s_out = <3>; mtk_spk_i2s_in = <0>; /* mtk_spk_i2s_mck = <3>; */ mediatek,speaker-codec { sound-dai = <&speaker_amp>; }; }; snd_scp_ultra: snd_scp_ultra { compatible = "mediatek,snd_scp_ultra"; scp_ultra_dl_memif_id = <0x7>; scp_ultra_ul_memif_id = <0xe>; }; /* feature : $enable $dl_mem $ul_mem $ref_mem $size */ snd_audio_dsp: snd_audio_dsp { compatible = "mediatek,snd_audio_dsp"; mtk_dsp_voip = <0x1 0x1 0xffffffff 0xffffffff 0x30000>; mtk_dsp_primary = <0x0 0x0 0xffffffff 0xffffffff 0x30000>; mtk_dsp_offload = <0x0 0x6 0xffffffff 0xffffffff 0x400000>; mtk_dsp_deep = <0x0 0x3 0xffffffff 0xffffffff 0x30000>; mtk_dsp_playback = <0x1 0x4 0xf 0x13 0x30000>; mtk_dsp_music = <0x0 0xffffffff 0xffffffff 0xffffffff 0x0>; mtk_dsp_capture1 = <0x1 0xffffffff 0xc 0x12 0x20000>; mtk_dsp_a2dp = <0x0 0xffffffff 0xffffffff 0xffffffff 0x40000>; mtk_dsp_dataprovider = <0x0 0xffffffff 0xf 0xffffffff 0x30000>; mtk_dsp_call_final = <0x5 0x4 0xf 0x13 0x18000>; mtk_dsp_fast = <0x0 0xffffffff 0xffffffff 0xffffffff 0x5000>; mtk_dsp_ktv = <0x1 0x8 0x11 0xffffffff 0x10000>; mtk_dsp_capture_raw = <0x1 0xffffffff 0xffffffff 0xffffffff 0x20000>; mtk_dsp_ver = <0x0>; swdsp_smartpa_process_enable = <0x5>; mtk_dsp_mem_afe = <0x1 0x40000>; /* always enable */ }; audio_sram@11211000 { compatible = "mediatek,audio_sram"; reg = <0 0x11211000 0 0x18000>; prefer_mode = <1>; mode_size = <0x12000 0x18000>; block_size = <0x1000>; }; mtk-btcvsd-snd@18050000 { compatible = "mediatek,mtk-btcvsd-snd"; reg=<0 0x18050000 0 0x1000>, /*PKV_PHYSICAL_BASE*/ <0 0x18080000 0 0x10000>; /*SRAM_BANK2*/ interrupts = ; mediatek,infracfg = <&infracfg_ao>; /*INFRA MISC, conn_bt_cvsd_mask*/ /*cvsd_mcu_read, write, packet_indicator*/ mediatek,offset =<0xf00 0x800 0x140 0x144 0x148>; disable_write_silence = <0>; }; mt_soc_playback_offload { compatible = "mediatek,mt_soc_offload_common"; }; /* msdc0: msdc@11230000 { compatible = "mediatek,msdc"; reg = <0 0x11230000 0 0x10000>; interrupts = ; }; */ wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; status = "disabled"; }; /* msdc1: msdc@11240000{ compatible = "mediatek,msdc"; reg = <0 0x11240000 0 0x1000>; interrupts = ; }; */ msdc1_top@11e10000 { compatible = "mediatek,msdc1_top"; reg = <0 0x11e10000 0 0x1000>; }; msdc0_top@11f50000 { compatible = "mediatek,msdc0_top"; reg = <0 0x11f50000 0 0x1000>; }; mmc0: mmc0@11230000 { compatible = "mediatek,mt6785-mmc"; reg = <0 0x11230000 0 0x1000>, <0 0x11f50000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MUX_MSDC50_0>, <&infracfg_ao INFRACFG_AO_MSDC0_CG>, <&infracfg_ao INFRACFG_AO_MSDC0_SCK_CG>; clock-names = "source", "hclk", "source_cg"; status = "disabled"; }; mmc1: mmc0@11240000 { compatible = "mediatek,mt6785-mmc"; reg = <0 0x11240000 0 0x1000>, <0 0x11e10000 0 0x1000>; interrupts = ; clocks = <&topckgen TOP_MUX_MSDC30_1>, <&infracfg_ao INFRACFG_AO_MSDC1_CG>, <&infracfg_ao INFRACFG_AO_MSDC1_SCK_CG>; clock-names = "source", "hclk", "source_cg"; status = "disabled"; }; ufshci:ufshci@11270000 { compatible = "mediatek,mt8183-ufshci"; reg = <0 0x11270000 0 0x2300>; interrupts = ; phys = <&ufsphy>; clocks = <&infracfg_ao INFRACFG_AO_UFS_CG>, <&infracfg_ao INFRACFG_AO_UNIPRO_SCK_CG>, <&infracfg_ao INFRACFG_AO_UFS_MP_SAP_BCLK_CG>, <&infracfg_ao INFRACFG_AO_AES_UFSFDE_CG>; clock-names = "ufs0-clock", "ufs0-unipro-clk", "ufs0-mp-clk", "ufs0-aes-clk"; freq-table-hz = <0 0>, <0 0>, <0 0>, <0 0>; vcc-supply = <&mt_pmic_vemc_ldo_reg>; resets = <&infracfg_rst 0>, <&infracfg_rst 1>, <&infracfg_rst 2>; reset-names = "hci_rst", "unipro_rst", "crypto_rst"; /* Reference clock control mode */ /* SW mode: 0, Half-HW mode: 1, HW mode: 2 */ mediatek,refclk_ctrl = <1>; }; ufsphy: phy@11fa0000 { compatible = "mediatek,mt8183-ufsphy"; reg = <0 0x11fa0000 0 0xc000>; #phy-cells = <0>; }; ca9peri@10e00000 { compatible = "mediatek,ca9peri"; reg = <0 0x10e00000 0 0x1000>; }; l2c@10f00000 { compatible = "mediatek,l2c"; reg = <0 0x10f00000 0 0x1000>; }; efusec@11c10000 { compatible = "mediatek,efusec"; reg = <0 0x11c10000 0 0x1000>; }; mfgcfg: mfgcfg@13fbf000 { compatible = "mediatek,mfgcfg", "syscon"; reg = <0 0x13fbf000 0 0x1000>; #clock-cells = <1>; }; mali@13040000 { compatible = "mediatek,mali", "arm,mali-valhall"; reg = <0 0x13040000 0 0x10000>; interrupts = , , , , ; interrupt-names = "GPU", "MMU", "JOB", "EVENT", "PWR"; ged-supply = <&ged>; }; gpufreq: gpufreq { compatible = "mediatek,mt6785-gpufreq"; clocks = <&topckgen TOP_MUX_MFG>, <&topckgen TOP_MFGPLL_CK>, /* mfgpll_ck(270MHz) */ <&topckgen TOP_MAINPLL_D5>, /* mainpll_d5(218.4MHz) */ <&mfgcfg MFGCFG_BG3D>, <&scpsys SCP_SYS_MFG0>, /* MFG_ASYNC */ <&scpsys SCP_SYS_MFG1>, /* MFG_TOP */ <&scpsys SCP_SYS_MFG2>, /* SHADER_0 */ <&scpsys SCP_SYS_MFG3>, /* SHADER_1 */ <&scpsys SCP_SYS_MFG4>, /* SHADER_2 */ <&scpsys SCP_SYS_MFG5>; /* SHADER_3 */ clock-names = "clk_mux", "clk_main_parent", "clk_sub_parent", "subsys_mfg_cg", "mtcmos_mfg_async", "mtcmos_mfg", "mtcmos_mfg_core0", "mtcmos_mfg_core1", "mtcmos_mfg_core2", "mtcmos_mfg_core3"; nvmem-cells = <&efuse_segment>; nvmem-cell-names = "efuse_segment_cell"; }; ged: ged { compatible = "mediatek,ged"; gpufreq-supply = <&gpufreq>; }; mali_tb@13fbd000 { compatible = "mediatek,mali_tb"; reg = <0 0x13fbd000 0 0x1000>; }; mfg_dfp_60@13020000 { compatible = "mediatek,mfg_dfp_60"; reg = <0 0x13020000 0 0x1000>; }; mfg_tb@13fbff00 { compatible = "mediatek,mfg_tb"; reg = <0 0x13fbff00 0 0x1000>; }; mmsys_config: mmsys_config@14000000 { compatible = "mediatek,mmsys_config", "syscon"; reg = <0 0x14000000 0 0x1000>; interrupts = ; #clock-cells = <1>; clocks = <&mmsys_config MMSYS_MDP_DL_TXCK>, <&mmsys_config MMSYS_MDP_DL_RX_CK>, <&mmsys_config MMSYS_IPU_DL_TXCK>, <&mmsys_config MMSYS_IPU_DL_RX_CK>; clock-names = "CAM_MDP_TX", "CAM_MDP_RX", "CAM_MDP2_TX", "CAM_MDP2_RX"; }; mdp_rdma0: mdp_rdma0@14001000 { compatible = "mediatek,mdp_rdma0"; reg = <0 0x14001000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_MDP_RDMA0>; clock-names = "MDP_RDMA0"; }; mdp_rdma1: mdp_rdma1@14002000 { compatible = "mediatek,mdp_rdma1"; reg = <0 0x14002000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_MDP_RDMA1>; clock-names = "MDP_RDMA1"; }; mdp_rsz0: mdp_rsz0@14003000 { compatible = "mediatek,mdp_rsz0"; reg = <0 0x14003000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_MDP_RSZ0>; clock-names = "MDP_RSZ0"; }; mdp_rsz1: mdp_rsz1@14004000 { compatible = "mediatek,mdp_rsz1"; reg = <0 0x14004000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_MDP_RSZ1>; clock-names = "MDP_RSZ1"; }; mdp_wrot0: mdp_wrot0@14005000 { compatible = "mediatek,mdp_wrot0"; reg = <0 0x14005000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_MDP_WROT0>; clock-names = "MDP_WROT0"; }; mdp_wdma0@14006000 { compatible = "mediatek,mdp_wdma0"; reg = <0 0x14006000 0 0x1000>; }; mdp_tdshp: mdp_tdshp0@14007000 { compatible = "mediatek,mdp_tdshp0"; reg = <0 0x14007000 0 0x1000>; clocks = <&mmsys_config MMSYS_MDP_TDSHP>; clock-names = "MDP_TDSHP"; }; smi_common@14019000 { compatible = "mediatek,smi_common"; reg = <0 0x14019000 0 0x1000>; clocks = <&scpsys SCP_SYS_DIS>, <&mmsys_config MMSYS_SMI_COMMON>; clock-names = "scp-dis", "mm-common"; mediatek,smi-id = <8>; mmsys_config = <&mmsys_config>; }; smi_larb0: smi_larb0@14017000 { compatible = "mediatek,smi_larb0", "mediatek,smi_larb"; reg = <0 0x14017000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_DIS>, <&mmsys_config MMSYS_SMI_LARB0>; clock-names = "scp-dis", "mm-larb0"; mediatek,smi-id = <0>; }; smi_larb1: smi_larb1@14018000 { compatible = "mediatek,smi_larb1", "mediatek,smi_larb"; reg = <0 0x14018000 0 0x1000>; clocks = <&scpsys SCP_SYS_DIS>, <&mmsys_config MMSYS_SMI_LARB1>; clock-names = "scp-dis", "mm-larb1"; mediatek,smi-id = <1>; }; mmdvfs_pmqos { compatible = "mediatek,mmdvfs_pmqos"; larb_groups = <0 1 2 3 5 6 7>; larb0 = <7 7 7 7 7 7 7 8 7>; larb1 = <7 7 7 7 7 7 7 7 7 8 7 8 7 7>; larb2 = <7 7 8 7 7 7 7 7 7 7 8 7>; larb3 = <7 8 8 8 7 7 7 7 7 7 8 8 7 8 8 7 7 7 7>; larb5 = <7 8 8 7 7 7 8 7 7 8 7 8 7 7 7 8 7 7 6 7 8 7 8 7 8 8>; larb6 = <8 8 8 8 7 7 8 7 8 8 8 7 8 8 8 7 8 8 7 8 7 7 8 8 8 7 7 7 7 7 7>; larb7 = <8 8 8 7 7>; cam_larb = <6 10>; /* include SMI common CCU */ max_ostd_larb = <0 1>; max_ostd = <40>; comm_freq = "disp_freq"; mm_step0 = <560 1 0 7>; mm_step1 = <450 1 0 8>; mm_step2 = <315 1 0 11>; cam_step0 = <560 1 1 7>; cam_step1 = <416 1 1 9>; cam_step2 = <315 1 1 11>; img_step0 = <560 1 2 7>; img_step1 = <364 1 2 10>; img_step2 = <315 1 2 11>; venc_step0 = <630 1 3 5>; venc_step1 = <450 1 3 8>; venc_step2 = <364 1 3 10>; vdec_step0 = <624 1 4 6>; vdec_step1 = <416 1 4 9>; vdec_step2 = <312 1 4 12>; /* fmeter_mux_ids: Mapping to mux sequence in clocks */ fmeter_mux_ids = <2 8 5 50 51>; vopp_steps = <0 1 2>; disp_freq = "mm_step0", "mm_step1", "mm_step2"; mdp_freq = "mm_step0", "mm_step1", "mm_step2"; cam_freq = "cam_step0","cam_step1","cam_step2"; img_freq = "img_step0","img_step1","img_step2"; vdec_freq = "vdec_step0","vdec_step1","vdec_step2"; venc_freq = "venc_step0","venc_step1","venc_step2"; clocks = <&topckgen TOP_MUX_MM>, /* 0 */ <&topckgen TOP_MUX_CAM>, /* 1 */ <&topckgen TOP_MUX_IMG>, /* 2 */ <&topckgen TOP_MUX_VENC>, /* 3 */ <&topckgen TOP_MUX_VDEC>, /* 4 */ <&topckgen TOP_MMPLL_D5>, /* 5 */ <&topckgen TOP_UNIVPLL_D2>, /* 6 */ <&topckgen TOP_TVDPLL_MAINPLL_D2_CK>, /* 7 */ <&topckgen TOP_MMPLL_D7>, /* 8 */ <&topckgen TOP_UNIVPLL_D3>, /* 9 */ <&topckgen TOP_MAINPLL_D3>, /* 10 */ <&topckgen TOP_MMPLL_D5_D2>, /* 11 */ <&topckgen TOP_UNIVPLL_D2_D2>; /* 12 */ clock-names = "MMDVFS_CLK_MUX_MM", /* 0 */ "MMDVFS_CLK_MUX_CAM", /* 1 */ "MMDVFS_CLK_MUX_IMG", /* 2 */ "MMDVFS_CLK_MUX_VENC", /* 3 */ "MMDVFS_CLK_MUX_VDEC", /* 4 */ "MMDVFS_CLK_MMPLL_D5", /* 5 */ "MMDVFS_CLK_UNIVPLL_D2", /* 6 */ "MMDVFS_CLK_TVDPLL_MAINPLL_D2_CK", /* 7 */ "MMDVFS_CLK_MMPLL_D7", /* 8 */ "MMDVFS_CLK_UNIVPLL_D3", /* 9 */ "MMDVFS_CLK_MAINPLL_D3", /* 10 */ "MMDVFS_CLK_MMPLL_D5_D2", /* 11 */ "MMDVFS_CLK_UNIVPLL_D2_D2"; /* 12 */ }; disp_rsz0@1401a000 { compatible = "mediatek,disp_rsz0"; reg = <0 0x1401a000 0 0x1000>; interrupts = ; }; mdp_aal: mdp_aal0@1401b000 { compatible = "mediatek,mdp_aal0"; reg = <0 0x1401b000 0 0x1000>; clocks = <&mmsys_config MMSYS_MDP_AAL>; clock-names = "MDP_AAL"; }; mdp_hdr: mdp_hdr0@1401c000 { compatible = "mediatek,mdp_hdr0"; reg = <0 0x1401c000 0 0x1000>; clocks = <&mmsys_config MMSYS_MDP_HDR>; clock-names = "MDP_HDR"; }; dbi0@1401d000 { compatible = "mediatek,dbi0"; reg = <0 0x1401d000 0 0x1000>; }; i2c@1401e000 { compatible = "mediatek,i2c"; reg = <0 0x1401e000 0 0x1000>; }; dsi1@1401f000 { compatible = "mediatek,dsi1"; reg = <0 0x1401f000 0 0x1000>; }; mdp_wrot1: mdp_wrot1@14020000 { compatible = "mediatek,mdp_wrot1"; reg = <0 0x14020000 0 0x1000>; clocks = <&mmsys_config MMSYS_MDP_WROT1>; clock-names = "MDP_WROT1"; }; disp_postmask0@14021000 { compatible = "mediatek,disp_postmask0"; reg = <0 0x14021000 0 0x1000>; interrupts = ; }; disp_mutex1@14030000 { compatible = "mediatek,disp_mutex1"; reg = <0 0x14030000 0 0x1000>; }; mdp_tdshp1@14031000 { compatible = "mediatek,mdp_tdshp1"; reg = <0 0x14031000 0 0x1000>; }; mdp_aal1@14032000 { compatible = "mediatek,mdp_aal1"; reg = <0 0x14032000 0 0x1000>; }; mdp_hdr1@14033000 { compatible = "mediatek,mdp_hdr1"; reg = <0 0x14033000 0 0x1000>; }; disp_color1@14040000 { compatible = "mediatek,disp_color1"; reg = <0 0x14040000 0 0x1000>; }; disp_ccorr1@14041000 { compatible = "mediatek,disp_ccorr1"; reg = <0 0x14041000 0 0x1000>; }; disp_aal1@14042000 { compatible = "mediatek,disp_aal1"; reg = <0 0x14042000 0 0x1000>; }; disp_gamma1@14043000 { compatible = "mediatek,disp_gamma1"; reg = <0 0x14043000 0 0x1000>; }; disp_dither1@14044000 { compatible = "mediatek,disp_dither1"; reg = <0 0x14044000 0 0x1000>; }; disp_rsz1@14045000 { compatible = "mediatek,disp_rsz1"; reg = <0 0x14045000 0 0x1000>; }; dbi1@14046000 { compatible = "mediatek,dbi1"; reg = <0 0x14046000 0 0x1000>; }; dpi1@14047000 { compatible = "mediatek,dpi1"; reg = <0 0x14047000 0 0x1000>; }; disp_pvric0@14050000 { compatible = "mediatek,disp_pvric0"; reg = <0 0x14050000 0 0x1000>; }; mdp_pvric0@14051000 { compatible = "mediatek,mdp_pvric0"; reg = <0 0x14051000 0 0x1000>; }; mdp_pvric1@14052000 { compatible = "mediatek,mdp_pvric1"; reg = <0 0x14052000 0 0x1000>; }; vcu: vcu@16000000 { compatible = "mediatek-vcu"; mediatek,vcuid = <0>; mediatek,vcuname = "vcu"; reg = <0 0x16000000 0 0x40000>, /* VDEC_BASE */ <0 0x17020000 0 0x10000>, /* VENC_BASE */ <0 0x19002000 0 0x1000>; /* VENC_LT */ #ifdef CONFIG_MTK_IOMMU_V2 iommus = <&iommu0 M4U_PORT_HW_VDEC_MC_EXT>; #endif mediatek,mailbox-gce = <&gce_mbox>; mboxes = <&gce_mbox 16 0 CMDQ_THR_PRIO_1>, <&gce_mbox 17 0 CMDQ_THR_PRIO_1>; gce-event-names = "vdec_pic_start", "vdec_decode_done", "vdec_pause", "vdec_dec_error", "vdec_mc_busy_overflow_timeout", "vdec_all_dram_req_done", "vdec_ini_fetch_rdy", "vdec_process_flag", "vdec_search_start_code_done", "vdec_ref_reorder_done", "vdec_wp_tble_done", "vdec_count_sram_clr_done", "venc_eof", "venc_cmdq_pause_done", "venc_mb_done", "venc_128B_cnt_done"; gce-events = <&gce_mbox CMDQ_EVENT_VDEC_EVENT_0>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_1>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_2>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_3>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_4>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_5>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_6>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_7>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_8>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_9>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_10>, <&gce_mbox CMDQ_EVENT_VDEC_EVENT_11>, <&gce_mbox CMDQ_EVENT_VENC_EOF>, <&gce_mbox CMDQ_EVENT_VENC_CMDQ_PAUSE_DONE>, <&gce_mbox CMDQ_EVENT_VENC_MB_DONE>, <&gce_mbox CMDQ_EVENT_VENC_128BYTE_CNT_DONE>; }; vcodec_dec: vcodec_dec@16000000 { compatible = "mediatek,mt6785-vcodec-dec"; reg = <0 0x16000000 0 0x1000>, /* VDEC_SYS */ <0 0x16020000 0 0x400>, /* VDEC_VLD */ <0 0x16021000 0 0x1000>, /* VDEC_MC */ <0 0x16023000 0 0x1000>, /* VDEC_MV */ <0 0x16025000 0 0x1000>; /* VDEC_MISC */ #ifdef CONFIG_MTK_IOMMU_V2 iommus = <&iommu0 M4U_PORT_HW_VDEC_MC_EXT>; #endif mediatek,larb = <&smi_larb1>; interrupts = ; mediatek,vcu = <&vcu>; clocks = <&scpsys SCP_SYS_DIS>, <&scpsys SCP_SYS_VDE>, <&scpsys SCP_SYS_VEN>, <&mmsys_config MMSYS_SMI_COMMON>, <&mmsys_config MMSYS_GALS_COMM0>, <&mmsys_config MMSYS_GALS_COMM1>, <&vdec_gcon VDEC_VDEC>, <&venc_gcon VENC_GCON_VENC>; clock-names = "MT_SCP_SYS_DIS", "MT_SCP_SYS_VDE", "MT_SCP_SYS_VEN", "MT_CG_SMI_COMMON", "MT_CG_GALS_COMM0", "MT_CG_GALS_COMM1", "MT_CG_VDEC", "MT_CG_VENC"; #clock-cells = <1>; }; vdec_gcon: vdec_gcon@16000000 { compatible = "mediatek,vdec_gcon", "syscon"; reg = <0 0x16000000 0 0x1000>, /* VDEC_SYS */ <0 0x16020000 0 0x400>, /* VDEC_VLD */ <0 0x16025000 0 0x1000>; /* VDEC_MISC */ #clock-cells = <1>; }; vdec_mbist@16001000 { compatible = "mediatek,vdec_mbist"; reg = <0 0x16001000 0 0x1000>; }; vdec@16020000 { compatible = "mediatek,vdec"; reg = <0 0x16020000 0 0x1000>; interrupts = ; }; vld@16020000 { compatible = "mediatek,vld"; reg = <0 0x16020000 0 0x1000>; }; vld_top@16020800 { compatible = "mediatek,vld_top"; reg = <0 0x16020800 0 0x1000>; }; mc@16021000 { compatible = "mediatek,mc"; reg = <0 0x16021000 0 0x1000>; }; avc_vld@16022000 { compatible = "mediatek,avc_vld"; reg = <0 0x16022000 0 0x1000>; }; avc_mv@16023000 { compatible = "mediatek,avc_mv"; reg = <0 0x16023000 0 0x1000>; }; vdec_pp@16024000 { compatible = "mediatek,vdec_pp"; reg = <0 0x16024000 0 0x1000>; }; vdtop@16025000 { compatible = "mediatek,vdtop"; reg = <0 0x16025000 0 0x1000>; }; vp6@16026000 { compatible = "mediatek,vp6"; reg = <0 0x16026000 0 0x1000>; }; vld2@16026800 { compatible = "mediatek,vld2"; reg = <0 0x16026800 0 0x1000>; }; avs_vld@16027000 { compatible = "mediatek,avs_vld"; reg = <0 0x16027000 0 0x1000>; }; vp8_vld@16027800 { compatible = "mediatek,vp8_vld"; reg = <0 0x16027800 0 0x1000>; }; hevc_vld@16028000 { compatible = "mediatek,hevc_vld"; reg = <0 0x16028000 0 0x1000>; }; vp9_vld@16028400 { compatible = "mediatek,vp9_vld"; reg = <0 0x16028400 0 0x1000>; }; vdec_core0_vad@1602c000 { compatible = "mediatek,vdec_core0_vad"; reg = <0 0x1602c000 0 0x1000>; }; smi_larb2: smi_larb2@16010000 { compatible = "mediatek,smi_larb2", "mediatek,smi_larb"; reg = <0 0x16010000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_VDE>, <&vdec_gcon VDEC_VDEC>; clock-names = "scp-vde", "vdec-vdec"; mediatek,smi-id = <2>; }; vcodec_enc: vcodec_enc@17000000 { compatible = "mediatek,mt6785-vcodec-enc", "syscon"; reg = <0 0x17000000 0 0x1000>, <0 0x17020000 0 0x1000>; #ifdef CONFIG_MTK_IOMMU_V2 iommus = <&iommu0 M4U_PORT_HW_VDEC_MC_EXT>; #endif mediatek,larb = <&smi_larb4>; interrupts = ; mediatek,vcu = <&vcu>; clocks = <&scpsys SCP_SYS_DIS>, <&scpsys SCP_SYS_VDE>, <&scpsys SCP_SYS_VEN>, <&mmsys_config MMSYS_SMI_COMMON>, <&mmsys_config MMSYS_GALS_COMM0>, <&mmsys_config MMSYS_GALS_COMM1>, <&vdec_gcon VDEC_VDEC>, <&venc_gcon VENC_GCON_VENC>; clock-names = "MT_SCP_SYS_DIS", "MT_SCP_SYS_VDE", "MT_SCP_SYS_VEN", "MT_CG_SMI_COMMON", "MT_CG_GALS_COMM0", "MT_CG_GALS_COMM1", "MT_CG_VDEC", "MT_CG_VENC"; #clock-cells = <1>; }; venc_gcon: venc_gcon@17000000 { compatible = "mediatek,venc_gcon", "syscon"; reg = <0 0x17000000 0 0x1000>, <0 0x17020000 0 0x1000>; #clock-cells = <1>; }; smi_larb3: smi_larb3@17010000 { compatible = "mediatek,smi_larb3", "mediatek,smi_larb"; reg = <0 0x17010000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_VEN>, <&venc_gcon VENC_GCON_VENC>, <&venc_gcon VENC_GCON_JPGENC>; clock-names = "scp-ven", "venc-venc", "venc-jpgenc"; mediatek,smi-id = <3>; }; venc@17020000 { compatible = "mediatek,venc"; reg = <0 0x17020000 0 0x2000>; interrupts = ; }; venc_jpg@17030000 { compatible = "mediatek,venc_jpg"; reg = <0 0x17030000 0 0x10000>; interrupts = ; clocks = <&venc_gcon VENC_GCON_JPGENC>; clock-names = "MT_CG_VENC_JPGENC"; cshot-spec = <368>; }; mbist@17070000 { compatible = "mediatek,mbist"; reg = <0 0x17070000 0 0x1000>; }; mjc_config@12000000 { compatible = "mediatek,mjc_config"; reg = <0 0x12000000 0 0x1000>; }; mjc_top@12001000 { compatible = "mediatek,mjc_top"; reg = <0 0x12001000 0 0x1000>; }; imgsys1_dfp@1502e000 { compatible = "mediatek,imgsys1_dfp"; reg = <0 0x1502e000 0 0x1000>; }; imgsys: syscon@15020000 { compatible = "mediatek,mt6785-imgsys", "syscon"; reg = <0 0x15020000 0 0x1000>; #clock-cells = <1>; }; imgsys_config: imgsys_config@15020000 { compatible = "mediatek,imgsys", "syscon"; reg = <0 0x15020000 0 0x1000>; clocks = <&imgsys IMG_LARB5>, <&imgsys IMG_DIP>; clock-names = "DIP_CG_IMG_LARB5", "DIP_CG_IMG_DIP"; }; imgsyscq@15020000 { compatible = "mediatek,imgsyscq"; reg = <0 0x15020000 0 0x10>; }; smi_larb4: smi_larb4@1502f000 { compatible = "mediatek,smi_larb4", "mediatek,smi_larb"; reg = <0 0x1502f000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_ISP>, <&imgsys IMG_LARB4>; clock-names = "scp-isp", "img-larb4"; mediatek,smi-id = <4>; }; smi_larb5: smi_larb5@15021000 { compatible = "mediatek,smi_larb5", "mediatek,smi_larb"; reg = <0 0x15021000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_ISP>, <&imgsys IMG_LARB5>; clock-names = "scp-isp", "img-larb5"; mediatek,smi-id = <5>; }; dip1@15022000 { compatible = "mediatek,dip1"; reg = <0 0x15022000 0 0x6000>; interrupts = ; }; dip2@15023000 { compatible = "mediatek,dip2"; reg = <0 0x15023000 0 0x1000>; }; dip3@15024000 { compatible = "mediatek,dip3"; reg = <0 0x15024000 0 0x1000>; }; dip4@15025000 { compatible = "mediatek,dip4"; reg = <0 0x15025000 0 0x1000>; }; dip5@15026000 { compatible = "mediatek,dip5"; reg = <0 0x15026000 0 0x1000>; }; dip6@15027000 { compatible = "mediatek,dip6"; reg = <0 0x15027000 0 0x1000>; }; dpe@15028000 { compatible = "mediatek,dpe"; reg = <0 0x15028000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_DPE>; clock-names = "DPE_CG_IMG_DPE"; }; dpe_dma@15028000 { compatible = "mediatek,dpe_dma"; reg = <0 0x15028000 0 0x1000>; }; rsc@15029000 { compatible = "mediatek,rsc"; reg = <0 0x15029000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_RSC>; clock-names = "RSC_CLK_IMG_RSC"; }; wpe_a@1502a000 { compatible = "mediatek,wpe_a"; reg = <0 0x1502a000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_WPE_A>; clock-names = "WPE_CLK_IMG_WPE_A"; }; wpe_b@1502d000 { compatible = "mediatek,wpe_b"; reg = <0 0x1502d000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_WPE_B>; clock-names = "WPE_CLK_IMG_WPE_B"; }; fdvt@1502b000 { compatible = "mediatek,fdvt"; reg = <0 0x1502b000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_FDVT>; clock-names = "FD_CLK_IMG_FDVT"; }; fdvt_dma@1502b000 { compatible = "mediatek,fdvt_dma"; reg = <0 0x1502b000 0 0x1000>; }; mfb@1502e000 { compatible = "mediatek,mfb"; reg = <0 0x1502e000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_MFB>; clock-names = "MFB_CLK_IMG_MFB"; }; owe@1502c000 { compatible = "mediatek,owe"; reg = <0 0x1502c000 0 0x1000>; interrupts = ; clocks = <&imgsys IMG_OWE>; clock-names = "OWE_CLK_IMG_OWE"; }; owe_dma@1502c000 { compatible = "mediatek,owe_dma"; reg = <0 0x1502c000 0 0x1000>; }; eaf@1502d000 { compatible = "mediatek,eaf"; reg = <0 0x1502d000 0 0x1000>; }; eaf_dma@1502d000 { compatible = "mediatek,eaf_dma"; reg = <0 0x1502d000 0 0x1000>; }; imgsys1_vad@1502e000 { compatible = "mediatek,imgsys1_vad"; reg = <0 0x1502e000 0 0x1000>; }; smi_larb8: smi_larb8@15030000 { compatible = "mediatek,smi_larb8"; reg = <0 0x15030000 0 0x1000>; }; smi_larb9: smi_larb9@15031000 { compatible = "mediatek,smi_larb9"; reg = <0 0x15031000 0 0x1000>; }; smi_larb10: smi_larb10@15032000 { compatible = "mediatek,smi_larb10"; reg = <0 0x15032000 0 0x1000>; }; smi_larb11: smi_larb11@15033000 { compatible = "mediatek,smi_larb11"; reg = <0 0x15033000 0 0x1000>; }; wifi: wifi@18000000 { compatible = "mediatek,wifi"; reg = <0 0x18000000 0 0x100000>; interrupts = ; memory-region = <&wifi_mem>; }; ipu_conn@19000000 { compatible = "mediatek,ipu_conn"; reg = <0 0x19000000 0 0x1000>; }; ipu_vcore@19020000 { compatible = "mediatek,ipu_vcore"; reg = <0 0x19020000 0 0x1000>; }; apu_vcore: apu_vcore@19020000 { compatible = "mediatek,apu_vcore", "syscon"; reg = <0 0x19020000 0 0x1000>; #clock-cells = <1>; }; apu_conn: apu_conn@19000000 { compatible = "mediatek,apu_conn", "syscon"; reg = <0 0x19000000 0 0x1000>; #clock-cells = <1>; }; apu0: apu0@19180000 { compatible = "mediatek,apu0", "syscon"; reg = <0 0x19180000 0 0x1000>; interrupts = ; #clock-cells = <1>; }; apu1: apu1@19280000 { compatible = "mediatek,apu1", "syscon"; reg = <0 0x19280000 0 0x1000>; interrupts = ; #clock-cells = <1>; }; vpu_core0@0x19100000 { compatible = "mediatek,vpu_core0"; reg = <0 0x19100000 0 0x94000>; interrupts = ; clocks = <&topckgen TOP_MUX_DSP>, <&topckgen TOP_MUX_DSP1>, <&topckgen TOP_MUX_DSP2>, <&topckgen TOP_MUX_IPU_IF>, <&apu0 APU0_JTAG_CG>, <&apu0 APU0_AXI_M_CG>, <&apu0 APU0_APU_CG>, <&apu1 APU1_JTAG_CG>, <&apu1 APU1_AXI_M_CG>, <&apu1 APU1_APU_CG>, <&apu_conn APU_CONN_APU_CG>, <&apu_conn APU_CONN_AHB_CG>, <&apu_conn APU_CONN_AXI_CG>, <&apu_conn APU_CONN_ISP_CG>, <&apu_conn APU_CONN_CAM_ADL_CG>, <&apu_conn APU_CONN_IMG_ADL_CG>, <&apu_conn APU_CONN_EMI_26M_CG>, <&apu_conn APU_CONN_VPU_UDI_CG>, <&apu_vcore APU_VCORE_AHB_CG>, <&apu_vcore APU_VCORE_AXI_CG>, <&apu_vcore APU_VCORE_ADL_CG>, <&apu_vcore APU_VCORE_QOS_CG>, <&clk26m>, <&topckgen TOP_APUPLL_CK>, <&topckgen TOP_UNIVPLL_D3_D8>, <&topckgen TOP_UNIVPLL_D3_D4>, <&topckgen TOP_MAINPLL_D2_D4>, <&topckgen TOP_UNIVPLL_D3_D2>, <&topckgen TOP_MAINPLL_D2_D2>, <&topckgen TOP_UNIVPLL_D2_D2>, <&topckgen TOP_MAINPLL_D3>, <&topckgen TOP_UNIVPLL_D3>, <&topckgen TOP_MMPLL_D7>, <&topckgen TOP_MMPLL_D6>, <&topckgen TOP_ADSPPLL_D5>, <&topckgen TOP_TVDPLL_CK>, <&topckgen TOP_UNIVPLL_D2>, <&topckgen TOP_ADSPPLL_D4>, <&topckgen TOP_MAINPLL_D2>, <&topckgen TOP_MMPLL_D4>, <&mmsys_config MMSYS_GALS_IPU2MM>, <&mmsys_config MMSYS_GALS_IPU12MM>, <&mmsys_config MMSYS_GALS_COMM1>, <&mmsys_config MMSYS_GALS_COMM0>, <&mmsys_config MMSYS_SMI_COMMON>, <&mmsys_config MMSYS_IPU_DL_TXCK>, <&mmsys_config MMSYS_IPU_DL_RX_CK>, <&scpsys SCP_SYS_DIS>, <&scpsys SCP_SYS_VPU_VCORE_DORMANT>, <&scpsys SCP_SYS_VPU_VCORE_SHUTDOWN>, <&scpsys SCP_SYS_VPU_CONN_DORMANT>, <&scpsys SCP_SYS_VPU_CONN_SHUTDOWN>, <&scpsys SCP_SYS_VPU_CORE0_DORMANT>, <&scpsys SCP_SYS_VPU_CORE0_SHUTDOWN>, <&scpsys SCP_SYS_VPU_CORE1_DORMANT>, <&scpsys SCP_SYS_VPU_CORE1_SHUTDOWN>; clock-names = "clk_top_dsp_sel", "clk_top_dsp1_sel", "clk_top_dsp2_sel", "clk_top_ipu_if_sel", "clk_apu_core0_jtag_cg", "clk_apu_core0_axi_m_cg", "clk_apu_core0_apu_cg", "clk_apu_core1_jtag_cg", "clk_apu_core1_axi_m_cg", "clk_apu_core1_apu_cg", "clk_apu_conn_apu_cg", "clk_apu_conn_ahb_cg", "clk_apu_conn_axi_cg", "clk_apu_conn_isp_cg", "clk_apu_conn_cam_adl_cg", "clk_apu_conn_img_adl_cg", "clk_apu_conn_emi_26m_cg", "clk_apu_conn_vpu_udi_cg", "clk_apu_vcore_ahb_cg", "clk_apu_vcore_axi_cg", "clk_apu_vcore_adl_cg", "clk_apu_vcore_qos_cg", "clk_top_clk26m", "clk_top_apupll_ck", "clk_top_univpll_d3_d8", "clk_top_univpll_d3_d4", "clk_top_mainpll_d2_d4", "clk_top_univpll_d3_d2", "clk_top_mainpll_d2_d2", "clk_top_univpll_d2_d2", "clk_top_mainpll_d3", "clk_top_univpll_d3", "clk_top_mmpll_d7", "clk_top_mmpll_d6", "clk_top_adsppll_d5", "clk_top_tvdpll_ck", "clk_top_univpll_d2", "clk_top_adsppll_d4", "clk_top_mainpll_d2", "clk_top_mmpll_d4", "clk_mmsys_gals_ipu2mm", "clk_mmsys_gals_ipu12mm", "clk_mmsys_gals_comm1", "clk_mmsys_gals_comm0", "clk_mmsys_smi_common", "clk_mmsys_ipu_dl_txck", "clk_mmsys_ipu_dl_rx_ck", "mtcmos_dis", "mtcmos_vpu_vcore_dormant", "mtcmos_vpu_vcore_shutdown", "mtcmos_vpu_conn_dormant", "mtcmos_vpu_conn_shutdown", "mtcmos_vpu_core0_dormant", "mtcmos_vpu_core0_shutdown", "mtcmos_vpu_core1_dormant", "mtcmos_vpu_core1_shutdown"; }; vpu_core1@0x19200000 { compatible = "mediatek,vpu_core1"; reg = <0 0x19200000 0 0x94000>; interrupts = ; }; apu_dvfs@19180000 { compatible = "mediatek,apu_dvfs"; reg = <0 0x19180000 0 0x1000>; }; camsys: camsys@1a000000 { compatible = "mediatek,mt6785-camsys", "syscon"; reg = <0 0x1a000000 0 0x1000>; #clock-cells = <1>; }; camsys1: camsysisp@1a000000 { compatible = "mediatek,camsys", "syscon"; reg = <0 0x1a000000 0 0x1000>; #clock-cells = <1>; /* Camera CCF */ clocks = <&scpsys SCP_SYS_DIS>, <&scpsys SCP_SYS_ISP>, <&scpsys SCP_SYS_CAM>, <&camsys CAMSYS_CAM_CGPDN>, <&camsys CAMSYS_CAMTG_CGPDN>, <&camsys CAMSYS_CAMSV0_CGPDN>, <&camsys CAMSYS_CAMSV1_CGPDN>; clock-names = "ISP_SCP_SYS_DIS", "ISP_SCP_SYS_ISP", "ISP_SCP_SYS_CAM", "CAMSYS_CAM_CGPDN", "CAMSYS_CAMTG_CGPDN", "CAMSYS_CAMSV0_CGPDN", "CAMSYS_CAMSV1_CGPDN"; }; smi_larb6: smi_larb6@1a001000 { compatible = "mediatek,smi_larb6", "mediatek,smi_larb"; reg = <0 0x1a001000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_CAM>, <&camsys CAMSYS_LARB6_CGPDN>; clock-names = "scp-cam", "cam-larb6"; mediatek,smi-id = <6>; }; smi_larb7: smi_larb7@1a002000 { compatible = "mediatek,smi_larb7", "mediatek,smi_larb"; reg = <0 0x1a002000 0 0x1000>; interrupts = ; clocks = <&scpsys SCP_SYS_CAM>, <&camsys CAMSYS_LARB7_CGPDN>; clock-names = "scp-cam", "cam-larb7"; mediatek,smi-id = <7>; }; cam1@1a003000 { compatible = "mediatek,cam1"; reg = <0 0x1a003000 0 0x1000>; interrupts = ; }; cam2@1a004000 { compatible = "mediatek,cam2"; reg = <0 0x1a004000 0 0x2000>; interrupts = ; }; cam3@1a006000 { compatible = "mediatek,cam3"; reg = <0 0x1a006000 0 0x2000>; interrupts = ; }; cam4@1a008000 { compatible = "mediatek,cam4"; reg = <0 0x1a008000 0 0x2000>; interrupts = ; }; camsv1@1a050000 { compatible = "mediatek,camsv1"; reg = <0 0x1a050000 0 0x1000>; interrupts = ; }; camsv2@1a051000 { compatible = "mediatek,camsv2"; reg = <0 0x1a051000 0 0x1000>; interrupts = ; }; camsv3@1a052000 { compatible = "mediatek,camsv3"; reg = <0 0x1a052000 0 0x1000>; interrupts = ; }; camsv4@1a053000 { compatible = "mediatek,camsv4"; reg = <0 0x1a053000 0 0x1000>; interrupts = ; }; camsv5@1a054000 { compatible = "mediatek,camsv5"; reg = <0 0x1a054000 0 0x1000>; }; camsv6@1a055000 { compatible = "mediatek,camsv6"; reg = <0 0x1a055000 0 0x1000>; }; seninf1_csi2@1a040000 { compatible = "mediatek,seninf1_csi2"; reg = <0 0x1a040000 0 0x1000>; }; seninf2_csi2@1a041000 { compatible = "mediatek,seninf2_csi2"; reg = <0 0x1a041000 0 0x1000>; }; seninf3_csi2@1a042000 { compatible = "mediatek,seninf3_csi2"; reg = <0 0x1a042000 0 0x1000>; }; seninf4_csi2@1a043000 { compatible = "mediatek,seninf4_csi2"; reg = <0 0x1a043000 0 0x1000>; }; seninf5_csi2@1a044000 { compatible = "mediatek,seninf5_csi2"; reg = <0 0x1a044000 0 0x1000>; }; seninf6_csi2@1a045000 { compatible = "mediatek,seninf6_csi2"; reg = <0 0x1a045000 0 0x1000>; }; seninf1@1a040000 { compatible = "mediatek,seninf1"; reg = <0 0x1a040000 0 0x1000>; }; seninf2@1a041000 { compatible = "mediatek,seninf2"; reg = <0 0x1a041000 0 0x1000>; }; seninf3@1a042000 { compatible = "mediatek,seninf3"; reg = <0 0x1a042000 0 0x1000>; }; seninf4@1a043000 { compatible = "mediatek,seninf4"; reg = <0 0x1a043000 0 0x1000>; }; seninf5@1a044000 { compatible = "mediatek,seninf5"; reg = <0 0x1a044000 0 0x1000>; }; seninf_top@1a040000 { compatible = "mediatek,seninf_top"; reg = <0 0x1a040000 0 0x1000>; #if 0 interrupts = ; #endif clocks = <&scpsys SCP_SYS_DIS>, <&scpsys SCP_SYS_CAM>, <&camsys CAMSYS_SENINF_CGPDN>, <&topckgen TOP_MUX_SENINF>, <&topckgen TOP_MUX_SENINF1>, <&topckgen TOP_MUX_SENINF2>, <&topckgen TOP_MUX_CAMTG>, <&topckgen TOP_MUX_CAMTG2>, <&topckgen TOP_MUX_CAMTG3>, <&topckgen TOP_MUX_CAMTG4>, <&topckgen TOP_MUX_CAMTG5>, <&clk26m>, <&topckgen TOP_UNIVP_192M_D8>, <&topckgen TOP_UNIVPLL_D3_D8>, <&topckgen TOP_UNIVP_192M_D4>, <&topckgen TOP_F26M_CK_D2>, <&topckgen TOP_UNIVP_192M_D16>, <&topckgen TOP_UNIVP_192M_D32>; clock-names = "SCP_SYS_DIS", "SCP_SYS_CAM", "CAMSYS_SENINF_CGPDN", "TOP_MUX_SENINF", "TOP_MUX_SENINF1", "TOP_MUX_SENINF2", "TOP_MUX_CAMTG", "TOP_MUX_CAMTG2", "TOP_MUX_CAMTG3", "TOP_MUX_CAMTG4", "TOP_MUX_CAMTG5", "TOP_CLK26M", "TOP_UNIVP_192M_D8", "TOP_UNIVPLL_D3_D8", "TOP_UNIVP_192M_D4", "TOP_F26M_CK_D2", "TOP_UNIVP_192M_D16", "TOP_UNIVP_192M_D32"; }; kd_camera_hw1:kd_camera_hw1@1a040000 { compatible = "mediatek,imgsensor"; }; camera_af_hw_node: camera_af_hw_node { compatible = "mediatek,camera_af_lens"; }; flashlight_core: flashlight_core { compatible = "mediatek,flashlight_core"; }; flashlights_mt6360: flashlights_mt6360 { compatible = "mediatek,flashlights_mt6360"; decouple = <0>; channel@1 { type = <0>; ct = <0>; part = <0>; }; channel@2 { type = <0>; ct = <1>; part = <0>; }; }; ccu@1a0a0000 { compatible = "mediatek,ccu"; reg = <0 0x1a0a1000 0 0x1000>; interrupts = ; clocks = <&camsys CAMSYS_CCU_CGPDN>, <&mmsys_config MMSYS_GALS_CCU2MM>, <&scpsys SCP_SYS_CAM>; clock-names = "CCU_CLK_CAM_CCU", "CCU_CLK_MMSYS_CCU", "CAM_PWR"; #ifdef CONFIG_MTK_IOMMU_V2 iommus = <&iommu0 M4U_PORT_CCUG>; #endif }; /* ATF logger SW IRQ number 120 = 32 + 88 */ atf_logger { compatible = "mediatek,atf_logger"; interrupts = ; }; /* AMMS SW IRQ number GIC:366 DTS:334*/ amms_control { compatible = "mediatek,amms"; interrupts = ; }; odm: odm { compatible = "simple-bus"; /* reserved for overlay by odm */ }; memory_ssmr_features: memory-ssmr-features { compatible = "mediatek,memory-ssmr-features"; svp-region-based-size = <0 0x10000000>; iris-recognition-size = <0 0x10000000>; 2d_fr-size = <0 0x8000000>; tui-size = <0 0x4000000>; wfd-size = <0 0x4000000>; prot-region-based-size = <0 0x8000000>; ta-elf-size = <0 0x1000000>; ta-stack-heap-size = <0 0x6000000>; sdsp-tee-sharedmem-size = <0 0x1000000>; sdsp-firmware-size = <0 0x1000000>; }; ssmr { compatible = "mediatek,trusted_mem"; memory-region = <&ssmr_cma_mem>; }; alc@60000000 { compatible = "mediatek,alc"; reg = <0 0x60000000 0 0x1000>; }; md_config@80000000 { compatible = "mediatek,md_config"; reg = <0 0x80000000 0 0x1000>; }; md_uart0@80010000 { compatible = "mediatek,md_uart0"; reg = <0 0x80010000 0 0x1000>; }; md_p_dma@80020000 { compatible = "mediatek,md_p_dma"; reg = <0 0x80020000 0 0x1000>; }; md_gpt@80030000 { compatible = "mediatek,md_gpt"; reg = <0 0x80030000 0 0x1000>; }; simif1@80040000 { compatible = "mediatek,simif1"; reg = <0 0x80040000 0 0x1000>; }; simif2@80050000 { compatible = "mediatek,simif2"; reg = <0 0x80050000 0 0x1000>; }; md_peri_misc@80060000 { compatible = "mediatek,md_peri_misc"; reg = <0 0x80060000 0 0x1000>; }; md_cirq@f0070000 { compatible = "mediatek,md_cirq"; reg = <0 0xf0070000 0 0x1000>; }; md_debug1@80080000 { compatible = "mediatek,md_debug1"; reg = <0 0x80080000 0 0x1000>; }; md_debug2@80090000 { compatible = "mediatek,md_debug2"; reg = <0 0x80090000 0 0x1000>; }; md_debug3@800a0000 { compatible = "mediatek,md_debug3"; reg = <0 0x800a0000 0 0x1000>; }; mdpar_dbgmon@800b0000 { compatible = "mediatek,mdpar_dbgmon"; reg = <0 0x800b0000 0 0x1000>; }; md_peri_clk_ctl@800c0000 { compatible = "mediatek,md_peri_clk_ctl"; reg = <0 0x800c0000 0 0x1000>; }; md_topsm@f00d0000 { compatible = "mediatek,md_topsm"; reg = <0 0xf00d0000 0 0x1000>; }; md_ost@f00e0000 { compatible = "mediatek,md_ost"; reg = <0 0xf00e0000 0 0x1000>; }; md_rgu@f00f0000 { compatible = "mediatek,md_rgu"; reg = <0 0xf00f0000 0 0x1000>; interrupts = ; }; md_i2c@80100000 { compatible = "mediatek,md_i2c"; reg = <0 0x80100000 0 0x1000>; }; md_eint@80110000 { compatible = "mediatek,md_eint"; reg = <0 0x80110000 0 0x1000>; }; md_clkctl@80120000 { compatible = "mediatek,md_clkctl"; reg = <0 0x80120000 0 0x1000>; }; md_global_con_dcm@80130000 { compatible = "mediatek,md_global_con_dcm"; reg = <0 0x80130000 0 0x1000>; }; md_pll_mixedsys@80140000 { compatible = "mediatek,md_pll_mixedsys"; reg = <0 0x80140000 0 0x1000>; }; md_clksw@80150000 { compatible = "mediatek,md_clksw"; reg = <0 0x80150000 0 0x1000>; }; a7_ost@f0160000 { compatible = "mediatek,a7_ost"; reg = <0 0xf0160000 0 0x1000>; }; md_lite_gpt@80170000 { compatible = "mediatek,md_lite_gpt"; reg = <0 0x80170000 0 0x1000>; }; mdperi_mbist_config@801a0000 { compatible = "mediatek,mdperi_mbist_config"; reg = <0 0x801a0000 0 0x1000>; }; md_sdf_top@801b0000 { compatible = "mediatek,md_sdf_top"; reg = <0 0x801b0000 0 0x1000>; }; psmcu_misc@80200000 { compatible = "mediatek,psmcu_misc"; reg = <0 0x80200000 0 0x1000>; }; psmcu_busmon@80210000 { compatible = "mediatek,psmcu_busmon"; reg = <0 0x80210000 0 0x1000>; }; goodix_fp: fingerprint { compatible = "mediatek,goodix-fp"; }; accdet: accdet { compatible = "mediatek,pmic-accdet"; io-channels = <&pmic_auxadc AUXADC_ACCDET>; io-channel-names = "pmic_accdet"; /* ACCDET GPIO standardization for AP EINT */ /* *pinctrl-names = "default", "state_eint_as_int"; *pinctrl-0 = <&accdet_pins_default>; *pinctrl-1 = <&accdet_pins_eint_as_int>; */ }; /* *&pio { * accdet_pins_default: accdetdefault { * }; * accdet_pins_eint_as_int: accdeteint@0 { * pins_cmd_dat { * pinmux = ; * slew-rate = <0>; * bias-disable; * }; * }; *}; */ mt6359_gauge { compatible = "mediatek,mt6359_gauge"; bootmode = <&chosen>; gauge_name = "gauge"; alias_name = "MT6359"; io-channels = <&pmic_auxadc AUXADC_BAT_TEMP>, <&pmic_auxadc AUXADC_BATADC>, <&pmic_auxadc AUXADC_VBIF>, <&pmic_auxadc AUXADC_IMP>, <&pmic_auxadc AUXADC_IMIX_R>; io-channel-names = "pmic_battery_temp", "pmic_battery_voltage", "pmic_bif_voltage", "pmic_ptim_voltage", "pmic_ptim_r"; }; gauge_timer { compatible = "mediatek,gauge_timer_service"; }; #if (CONFIG_MTK_GAUGE_VERSION == 30) #include "mediatek/bat_setting/mt6785_battery_prop.dtsi" #endif mtkfb: mtkfb { compatible = "mediatek,mtkfb"; }; dispsys { compatible = "mediatek,dispsys"; mediatek,larb = <&smi_larb0 &smi_larb1>; clocks = <&scpsys SCP_SYS_DIS>, <&mmsys_config MMSYS_SMI_COMMON>, <&mmsys_config MMSYS_SMI_LARB0>, <&mmsys_config MMSYS_SMI_LARB1>, <&mmsys_config MMSYS_GALS_COMM0>, <&mmsys_config MMSYS_GALS_COMM1>, <&mmsys_config MMSYS_DISP_OVL0>, <&mmsys_config MMSYS_DISP_OVL0_2L>, <&mmsys_config MMSYS_DISP_OVL1_2L>, <&mmsys_config MMSYS_DISP_RDMA0>, <&mmsys_config MMSYS_DISP_RDMA1>, <&mmsys_config MMSYS_DISP_WDMA0>, <&mmsys_config MMSYS_DISP_COLOR0>, <&mmsys_config MMSYS_DISP_CCORR0>, <&mmsys_config MMSYS_DISP_AAL0>, <&mmsys_config MMSYS_DISP_GAMMA0>, <&mmsys_config MMSYS_DISP_DITHER0>, <&mmsys_config MMSYS_DSI0_MM_CK>, <&mmsys_config MMSYS_DSI0_IF_CK>, <&mmsys_config MMSYS_DPI_MM_CK>, <&mmsys_config MMSYS_DPI_IF_CK>, <&mmsys_config MMSYS_26M>, <&mmsys_config MMSYS_DISP_RSZ>, <&topckgen TOP_MUX_MM>, <&topckgen TOP_MUX_DISP_PWM>, <&infracfg_ao INFRACFG_AO_DISP_PWM_CG>, <&clk26m>, <&mmsys_config MMSYS_DISP_POSTMASK0>, <&mmsys_config MMSYS_DISP_OVL_FBDC>, <&topckgen TOP_UNIVPLL_D3_D2>, <&topckgen TOP_UNIVPLL_D3_D4>, <&topckgen TOP_OSC_D2>, <&topckgen TOP_OSC_D4>, <&topckgen TOP_OSC_D16>, <&topckgen TOP_MUX_DPI0>, <&topckgen TOP_TVDPLL_D2>, <&topckgen TOP_TVDPLL_D4>, <&topckgen TOP_TVDPLL_D8>, <&topckgen TOP_TVDPLL_D16>, <&topckgen TOP_TVDPLL_CK>, <&apmixed APMIXED_MIPID0_26M>; clock-names = "CLK_MM_MTCMOS", "CLK_SMI_COMMON", "CLK_SMI_LARB0", "CLK_SMI_LARB1", "CLK_GALS_COMM0", "CLK_GALS_COMM1", "CLK_DISP_OVL0", "CLK_DISP_OVL0_2L", "CLK_DISP_OVL1_2L", "CLK_DISP_RDMA0", "CLK_DISP_RDMA1", "CLK_DISP_WDMA0", "CLK_DISP_COLOR0", "CLK_DISP_CCORR0", "CLK_DISP_AAL0", "CLK_DISP_GAMMA0", "CLK_DISP_DITHER0", "CLK_DSI0_MM_CK", "CLK_DSI0_IF_CK", "CLK_DPI_MM_CK", "CLK_DPI_IF_CK", "CLK_MM_26M", "CLK_DISP_RSZ", "CLK_MUX_MM", "CLK_MUX_DISP_PWM", "CLK_DISP_PWM", "CLK_26M", "CLK_DISP_POSTMASK", "CLK_DISP_OVL_FBDC", "CLK_UNIVPLL_D3_D2", "CLK_UNIVPLL_D3_D4", "CLK_OSC_D2", "CLK_OSC_D4", "CLK_OSC_D16", "CLK_MUX_DPI0", "CLK_TVDPLL_D2", "CLK_TVDPLL_D4", "CLK_TVDPLL_D8", "CLK_TVDPLL_D16", "CLK_TVDPLL_CK", "CLK_MIPID0_26M"; }; dsi_te: dsi_te { compatible = "mediatek, dsi_te-eint"; status = "disabled"; }; mt6382_nfc: mt6382_nfc { compatible = "mediatek, mt6382_nfc-eint"; interrupt-parent = <&pio>; interrupts = <25 IRQ_TYPE_EDGE_BOTH 25 0>; mt6382_nfc_srclk = <&pio 25 0x0>; status = "okay"; }; mtee_svp: mtee_svp { compatible = "medaitek,svp"; }; /* svp end */ disp_ovl0@14008000 { compatible = "mediatek,disp_ovl0"; reg = <0 0x14008000 0 0x1000>; interrupts = ; }; disp_ovl0_2l@14009000 { compatible = "mediatek,disp_ovl0_2l"; reg = <0 0x14009000 0 0x1000>; interrupts = ; }; disp_ovl1_2l@1400a000 { compatible = "mediatek,disp_ovl1_2l"; reg = <0 0x1400a000 0 0x1000>; interrupts = ; }; disp_rdma0@1400b000 { compatible = "mediatek,disp_rdma0"; reg = <0 0x1400b000 0 0x1000>; interrupts = ; }; disp_rdma1@1400c000 { compatible = "mediatek,disp_rdma1"; reg = <0 0x1400c000 0 0x1000>; interrupts = ; }; disp_wdma0@1400d000 { compatible = "mediatek,disp_wdma0"; reg = <0 0x1400d000 0 0x1000>; interrupts = ; }; disp_color0: disp_color0@1400e000 { compatible = "mediatek,disp_color0"; reg = <0 0x1400e000 0 0x1000>; interrupts = ; clocks = <&mmsys_config MMSYS_DISP_COLOR0>; clock-names = "MDP_COLOR"; }; disp_ccorr0@1400f000 { compatible = "mediatek,disp_ccorr0"; reg = <0 0x1400f000 0 0x1000>; interrupts = ; }; disp_aal0@14010000 { compatible = "mediatek,disp_aal0"; reg = <0 0x14010000 0 0x1000>; interrupts = ; }; disp_gamma0@14011000 { compatible = "mediatek,disp_gamma0"; reg = <0 0x14011000 0 0x1000>; interrupts = ; }; disp_dither0@14012000 { compatible = "mediatek,disp_dither0"; reg = <0 0x14012000 0 0x1000>; interrupts = ; }; dsi_split@14013000 { compatible = "mediatek,dsi_split"; reg = <0 0x14013000 0 0x1000>; }; dsi0@14014000 { compatible = "mediatek,dsi0"; reg = <0 0x14014000 0 0x1000>; interrupts = ; }; dpi0@14015000 { compatible = "mediatek,dpi0"; reg = <0 0x14015000 0 0x1000>; interrupts = ; }; mm_mutex: mm_mutex@14016000 { compatible = "mediatek,mm_mutex"; reg = <0 0x14016000 0 0x1000>; interrupts = ; }; md_pcm@80220000 { compatible = "mediatek,md_pcm"; reg = <0 0x80220000 0 0x1000>; }; psmcu_mbist_config@80240000 { compatible = "mediatek,psmcu_mbist_config"; reg = <0 0x80240000 0 0x1000>; }; md_elm@80250000 { compatible = "mediatek,md_elm"; reg = <0 0x80250000 0 0x1000>; }; md_abm@80260000 { compatible = "mediatek,md_abm"; reg = <0 0x80260000 0 0x1000>; }; md_soe@80310000 { compatible = "mediatek,md_soe"; reg = <0 0x80310000 0 0x1000>; }; md_infra_busmon@80320000 { compatible = "mediatek,md_infra_busmon"; reg = <0 0x80320000 0 0x1000>; }; md_uart1@80330000 { compatible = "mediatek,md_uart1"; reg = <0 0x80330000 0 0x1000>; }; md_uart2@80340000 { compatible = "mediatek,md_uart2"; reg = <0 0x80340000 0 0x1000>; }; mdinfra_mbist_config@80350000 { compatible = "mediatek,mdinfra_mbist_config"; reg = <0 0x80350000 0 0x1000>; }; mdsys_mbist_config@80360000 { compatible = "mediatek,mdsys_mbist_config"; reg = <0 0x80360000 0 0x1000>; }; mdsmicfg@803a0000 { compatible = "mediatek,mdsmicfg"; reg = <0 0x803a0000 0 0x1000>; }; mdinfra_misc@803b0000 { compatible = "mediatek,mdinfra_misc"; reg = <0 0x803b0000 0 0x1000>; }; md_bus_recoder@803c0000 { compatible = "mediatek,md_bus_recoder"; reg = <0 0x803c0000 0 0x1000>; }; md_ppc_top@803d0000 { compatible = "mediatek,md_ppc_top"; reg = <0 0x803d0000 0 0x1000>; }; a7_wdt@f0400000 { compatible = "mediatek,a7_wdt"; reg = <0 0xf0400000 0 0x1000>; }; a7_mbist_config@f0410000 { compatible = "mediatek,a7_mbist_config"; reg = <0 0xf0410000 0 0x1000>; }; a7_cirq@f0420000 { compatible = "mediatek,a7_cirq"; reg = <0 0xf0420000 0 0x1000>; }; pf_bsi_apb1@80200000 { compatible = "mediatek,pf_bsi_apb1"; reg = <0 0x80200000 0 0x1000>; }; pf_bsi_apb2@80201000 { compatible = "mediatek,pf_bsi_apb2"; reg = <0 0x80201000 0 0x1000>; }; rfic1_bsispi@80202000 { compatible = "mediatek,rfic1_bsispi"; reg = <0 0x80202000 0 0x1000>; }; rfic2_bsispi@80203000 { compatible = "mediatek,rfic2_bsispi"; reg = <0 0x80203000 0 0x1000>; }; mipi0_bsispi@80205000 { compatible = "mediatek,mipi0_bsispi"; reg = <0 0x80205000 0 0x1000>; }; mipi1_bsispi@80206000 { compatible = "mediatek,mipi1_bsispi"; reg = <0 0x80206000 0 0x1000>; }; idc_suart@80207000 { compatible = "mediatek,idc_suart"; reg = <0 0x80207000 0 0x1000>; }; mdm_psys_misc@8020d000 { compatible = "mediatek,mdm_psys_misc"; reg = <0 0x8020d000 0 0x1000>; }; mdm_psys_mbistcon@8020e000 { compatible = "mediatek,mdm_psys_mbistcon"; reg = <0 0x8020e000 0 0x1000>; }; md1_abb_mixedsys@8020c000 { compatible = "mediatek,md1_abb_mixedsys"; reg = <0 0x8020c000 0 0x1000>; }; md2_abb_mixedsys@8020c000 { compatible = "mediatek,md2_abb_mixedsys"; reg = <0 0x8020c000 0 0x1000>; }; idma@82000000 { compatible = "mediatek,idma"; reg = <0 0x82000000 0 0x1000>; }; ahb2dspio@82800000 { compatible = "mediatek,ahb2dspio"; reg = <0 0x82800000 0 0x1000>; }; md2g_confg@82c00000 { compatible = "mediatek,md2g_confg"; reg = <0 0x82c00000 0 0x1000>; }; apc@82c30000 { compatible = "mediatek,apc"; reg = <0 0x82c30000 0 0x1000>; }; csd_acc@82c70000 { compatible = "mediatek,csd_acc"; reg = <0 0x82c70000 0 0x1000>; }; share_d1@82ca0000 { compatible = "mediatek,share_d1"; reg = <0 0x82ca0000 0 0x1000>; }; irdma@82cb0000 { compatible = "mediatek,irdma"; reg = <0 0x82cb0000 0 0x1000>; }; patch@82cc0000 { compatible = "mediatek,patch"; reg = <0 0x82cc0000 0 0x1000>; }; mdafe@82cd0000 { compatible = "mediatek,mdafe"; reg = <0 0x82cd0000 0 0x1000>; }; bfe@82ce0000 { compatible = "mediatek,bfe"; reg = <0 0x82ce0000 0 0x1000>; }; modem_lite_confg@83000000 { compatible = "mediatek,modem_lite_confg"; reg = <0 0x83000000 0 0x1000>; }; modem_lite_topsm@83010000 { compatible = "mediatek,modem_lite_topsm"; reg = <0 0x83010000 0 0x1000>; }; tdma@83020000 { compatible = "mediatek,tdma"; reg = <0 0x83020000 0 0x1000>; }; shreg2@83030000 { compatible = "mediatek,shreg2"; reg = <0 0x83030000 0 0x1000>; }; divider@83040000 { compatible = "mediatek,divider"; reg = <0 0x83040000 0 0x1000>; }; fcs@83050000 { compatible = "mediatek,fcs"; reg = <0 0x83050000 0 0x1000>; }; gcu@83060000 { compatible = "mediatek,gcu"; reg = <0 0x83060000 0 0x1000>; }; bsi_2g@83070000 { compatible = "mediatek,bsi_2g"; reg = <0 0x83070000 0 0x1000>; }; bpi_2g@83080000 { compatible = "mediatek,bpi_2g"; reg = <0 0x83080000 0 0x1000>; }; afc_2g@83090000 { compatible = "mediatek,afc_2g"; reg = <0 0x83090000 0 0x1000>; }; tdd@84000000 { compatible = "mediatek,tdd"; reg = <0 0x84000000 0 0x1000>; }; l2ulsbdma@85000000 { compatible = "mediatek,l2ulsbdma"; reg = <0 0x85000000 0 0x1000>; }; l2ulhbdma@85010000 { compatible = "mediatek,l2ulhbdma"; reg = <0 0x85010000 0 0x1000>; }; l2dlsbdma@85020000 { compatible = "mediatek,l2dlsbdma"; reg = <0 0x85020000 0 0x1000>; }; l2dlhbdma@85030000 { compatible = "mediatek,l2dlhbdma"; reg = <0 0x85030000 0 0x1000>; }; l2mbist@85040000 { compatible = "mediatek,l2mbist"; reg = <0 0x85040000 0 0x1000>; }; l2pseuphy@85050000 { compatible = "mediatek,l2pseuphy"; reg = <0 0x85050000 0 0x1000>; }; l2hwlog@85058000 { compatible = "mediatek,l2hwlog"; reg = <0 0x85058000 0 0x1000>; }; l2soindma@85060000 { compatible = "mediatek,l2soindma"; reg = <0 0x85060000 0 0x1000>; }; l2sooutdma@85070000 { compatible = "mediatek,l2sooutdma"; reg = <0 0x85070000 0 0x1000>; }; l2ullmac@85080000 { compatible = "mediatek,l2ullmac"; reg = <0 0x85080000 0 0x1000>; }; l2dllmac@85090000 { compatible = "mediatek,l2dllmac"; reg = <0 0x85090000 0 0x1000>; }; l2calmac@85098000 { compatible = "mediatek,l2calmac"; reg = <0 0x85098000 0 0x1000>; }; l2ulfifomng@850a0000 { compatible = "mediatek,l2ulfifomng"; reg = <0 0x850a0000 0 0x1000>; }; l2dlfifomng@850a4000 { compatible = "mediatek,l2dlfifomng"; reg = <0 0x850a4000 0 0x1000>; }; l2sofifomng@850a8000 { compatible = "mediatek,l2sofifomng"; reg = <0 0x850a8000 0 0x1000>; }; l2sec@850b0000 { compatible = "mediatek,l2sec"; reg = <0 0x850b0000 0 0x1000>; }; l2ulsecctl@850b4000 { compatible = "mediatek,l2ulsecctl"; reg = <0 0x850b4000 0 0x1000>; }; l2dlsecctl@850b8000 { compatible = "mediatek,l2dlsecctl"; reg = <0 0x850b8000 0 0x1000>; }; l2sosecctl@850bc000 { compatible = "mediatek,l2sosecctl"; reg = <0 0x850bc000 0 0x1000>; }; l2misc@850c0000 { compatible = "mediatek,l2misc"; reg = <0 0x850c0000 0 0x1000>; }; l2ulbuf@850e0000 { compatible = "mediatek,l2ulbuf"; reg = <0 0x850e0000 0 0x1000>; }; l2dlbuf@850f0000 { compatible = "mediatek,l2dlbuf"; reg = <0 0x850f0000 0 0x1000>; }; mdl1ao@f60f0000 { compatible = "mediatek,mdl1ao"; reg = <0 0xf60f0000 0 0x1000>; }; modem_confg@87000000 { compatible = "mediatek,modem_confg"; reg = <0 0x87000000 0 0x1000>; }; modem_topsm@87010000 { compatible = "mediatek,modem_topsm"; reg = <0 0x87010000 0 0x1000>; }; bsi_3g@87070000 { compatible = "mediatek,bsi_3g"; reg = <0 0x87070000 0 0x1000>; }; bpi_3g@87080000 { compatible = "mediatek,bpi_3g"; reg = <0 0x87080000 0 0x1000>; }; afc_3g@87090000 { compatible = "mediatek,afc_3g"; reg = <0 0x87090000 0 0x1000>; }; wcdma_timer@870a0000 { compatible = "mediatek,wcdma_timer"; reg = <0 0x870a0000 0 0x1000>; }; dpa_bc@870b0000 { compatible = "mediatek,dpa_bc"; reg = <0 0x870b0000 0 0x1000>; }; pfc_encode@870c0000 { compatible = "mediatek,pfc_encode"; reg = <0 0x870c0000 0 0x1000>; }; pfc_decode@870d0000 { compatible = "mediatek,pfc_decode"; reg = <0 0x870d0000 0 0x1000>; }; hspasys_1_confg@87200000 { compatible = "mediatek,hspasys_1_confg"; reg = <0 0x87200000 0 0x1000>; }; hseq@87210000 { compatible = "mediatek,hseq"; reg = <0 0x87210000 0 0x1000>; }; hsce@87220000 { compatible = "mediatek,hsce"; reg = <0 0x87220000 0 0x1000>; }; hspasys_1_mbist@87230000 { compatible = "mediatek,hspasys_1_mbist"; reg = <0 0x87230000 0 0x1000>; }; hspasys_2_confg@87400000 { compatible = "mediatek,hspasys_2_confg"; reg = <0 0x87400000 0 0x1000>; }; hseq_dc@87410000 { compatible = "mediatek,hseq_dc"; reg = <0 0x87410000 0 0x1000>; }; hsce_dc@87420000 { compatible = "mediatek,hsce_dc"; reg = <0 0x87420000 0 0x1000>; }; rake_dc@87430000 { compatible = "mediatek,rake_dc"; reg = <0 0x87430000 0 0x1000>; }; hspasys_2_mbist@87440000 { compatible = "mediatek,hspasys_2_mbist"; reg = <0 0x87440000 0 0x1000>; }; uea_uia_u0@87600000 { compatible = "mediatek,uea_uia_u0"; reg = <0 0x87600000 0 0x1000>; }; uea_uia_u1@87610000 { compatible = "mediatek,uea_uia_u1"; reg = <0 0x87610000 0 0x1000>; }; dpa_rlc@87620000 { compatible = "mediatek,dpa_rlc"; reg = <0 0x87620000 0 0x1000>; }; dpa_mac@87630000 { compatible = "mediatek,dpa_mac"; reg = <0 0x87630000 0 0x1000>; }; upa@f0920000 { compatible = "mediatek,upa"; reg = <0 0xf0920000 0 0x1000>; }; h_rxbrp@87650000 { compatible = "mediatek,h_rxbrp"; reg = <0 0x87650000 0 0x1000>; }; rxbrp@87660000 { compatible = "mediatek,rxbrp"; reg = <0 0x87660000 0 0x1000>; }; hspasys_3_confg@f0910000 { compatible = "mediatek,hspasys_3_confg"; reg = <0 0xf0910000 0 0x1000>; }; txbrp@87680000 { compatible = "mediatek,txbrp"; reg = <0 0x87680000 0 0x1000>; }; txcrp@87690000 { compatible = "mediatek,txcrp"; reg = <0 0x87690000 0 0x1000>; }; h_txbrp@876a0000 { compatible = "mediatek,h_txbrp"; reg = <0 0x876a0000 0 0x1000>; }; txupc@876b0000 { compatible = "mediatek,txupc"; reg = <0 0x876b0000 0 0x1000>; }; bc@876c0000 { compatible = "mediatek,bc"; reg = <0 0x876c0000 0 0x1000>; }; dbg_tx@876d0000 { compatible = "mediatek,dbg_tx"; reg = <0 0x876d0000 0 0x1000>; }; hspasys_3_mbist@876e0000 { compatible = "mediatek,hspasys_3_mbist"; reg = <0 0x876e0000 0 0x1000>; }; rxsrp@87800000 { compatible = "mediatek,rxsrp"; reg = <0 0x87800000 0 0x1000>; }; indec@87810000 { compatible = "mediatek,indec"; reg = <0 0x87810000 0 0x1000>; }; rake_0@87820000 { compatible = "mediatek,rake_0"; reg = <0 0x87820000 0 0x1000>; }; rake_1@87830000 { compatible = "mediatek,rake_1"; reg = <0 0x87830000 0 0x1000>; }; rake_2@87840000 { compatible = "mediatek,rake_2"; reg = <0 0x87840000 0 0x1000>; }; searcher@87850000 { compatible = "mediatek,searcher"; reg = <0 0x87850000 0 0x1000>; }; rxdfe@87860000 { compatible = "mediatek,rxdfe"; reg = <0 0x87860000 0 0x1000>; }; hspasys_4_confg@87870000 { compatible = "mediatek,hspasys_4_confg"; reg = <0 0x87870000 0 0x1000>; }; dbg@87880000 { compatible = "mediatek,dbg"; reg = <0 0x87880000 0 0x1000>; }; dwrap0@87890000 { compatible = "mediatek,dwrap0"; reg = <0 0x87890000 0 0x1000>; }; log3g@878a0000 { compatible = "mediatek,log3g"; reg = <0 0x878a0000 0 0x1000>; }; hspasys_4_mbist@878b0000 { compatible = "mediatek,hspasys_4_mbist"; reg = <0 0x878b0000 0 0x1000>; }; dwrap1@878c0000 { compatible = "mediatek,dwrap1"; reg = <0 0x878c0000 0 0x1000>; }; c2ksys@38000000 { compatible = "mediatek,c2ksys"; reg = <0 0x38000000 0 0x1000>; }; mt_charger: mt_charger { compatible = "mediatek,mt-charger"; bootmode = <&chosen>; }; lk_charger: lk_charger { compatible = "mediatek,lk_charger"; enable_anime; /* enable_pe_plus; */ enable_pd20_reset; power_path_support; max_charger_voltage = <6500000>; fast_charge_voltage = <3000000>; /* charging current */ usb_charger_current = <500000>; ac_charger_current = <2050000>; ac_charger_input_current = <3200000>; non_std_ac_charger_current = <500000>; charging_host_charger_current = <1500000>; ta_ac_charger_current = <3000000>; pd_charger_current = <500000>; /* battery temperature protection */ temp_t4_threshold = <50>; temp_t3_threshold = <45>; temp_t1_threshold = <0>; }; charger: charger { compatible = "mediatek,charger"; algorithm_name = "SwitchCharging"; /* enable_sw_jeita; */ /* enable_pe_plus; */ /* enable_pe_2; */ /* enable_pe_3; */ /* enable_pe_4; */ enable_type_c; power_path_support; enable_dynamic_mivr; bootmode = <&chosen>; /* common */ battery_cv = <4350000>; max_charger_voltage = <6500000>; min_charger_voltage = <4600000>; /* dynamic mivr */ min_charger_voltage_1 = <4400000>; min_charger_voltage_2 = <4200000>; max_dmivr_charger_current = <1400000>; /* charging current */ usb_charger_current_suspend = <0>; usb_charger_current_unconfigured = <70000>; usb_charger_current_configured = <500000>; usb_charger_current = <500000>; ac_charger_current = <2050000>; ac_charger_input_current = <3200000>; non_std_ac_charger_current = <500000>; charging_host_charger_current = <1500000>; apple_1_0a_charger_current = <650000>; apple_2_1a_charger_current = <800000>; ta_ac_charger_current = <3000000>; /* sw jeita */ jeita_temp_above_t4_cv = <4240000>; jeita_temp_t3_to_t4_cv = <4240000>; jeita_temp_t2_to_t3_cv = <4340000>; jeita_temp_t1_to_t2_cv = <4240000>; jeita_temp_t0_to_t1_cv = <4040000>; jeita_temp_below_t0_cv = <4040000>; temp_t4_thres = <50>; temp_t4_thres_minus_x_degree = <47>; temp_t3_thres = <45>; temp_t3_thres_minus_x_degree = <39>; temp_t2_thres = <10>; temp_t2_thres_plus_x_degree = <16>; temp_t1_thres = <0>; temp_t1_thres_plus_x_degree = <6>; temp_t0_thres = <0>; temp_t0_thres_plus_x_degree = <0>; temp_neg_10_thres = <0>; /* battery temperature protection */ enable_min_charge_temp; min_charge_temp = <0>; min_charge_temp_plus_x_degree = <6>; max_charge_temp = <50>; max_charge_temp_minus_x_degree = <47>; /* PE */ ta_12v_support; ta_9v_support; pe_ichg_level_threshold = <1000000>; /* uA */ ta_ac_12v_input_current = <3200000>; ta_ac_9v_input_current = <3200000>; ta_ac_7v_input_current = <3200000>; /* PE 2.0 */ pe20_ichg_level_threshold = <1000000>; /* uA */ ta_start_battery_soc = <0>; ta_stop_battery_soc = <85>; /* PE 4.0 */ high_temp_to_leave_pe40 = <46>; high_temp_to_enter_pe40 = <39>; low_temp_to_leave_pe40 = <10>; low_temp_to_enter_pe40 = <16>; /* PE 4.0 single charger*/ pe40_single_charger_input_current = <3000000>; pe40_single_charger_current = <3000000>; /* PE 4.0 dual charger*/ pe40_dual_charger_input_current = <3000000>; pe40_dual_charger_chg1_current = <2000000>; pe40_dual_charger_chg2_current = <2000000>; pe40_stop_battery_soc = <80>; /* PE 4.0 cable impedance (mohm) */ pe40_r_cable_1a_lower = <540>; pe40_r_cable_2a_lower = <403>; pe40_r_cable_3a_lower = <264>; /* dual charger */ chg1_ta_ac_charger_current = <1500000>; chg2_ta_ac_charger_current = <1500000>; slave_mivr_diff = <100000>; dual_polling_ieoc = <750000>; /* cable measurement impedance */ cable_imp_threshold = <699>; vbat_cable_imp_threshold = <3900000>; /* uV */ /* bif */ bif_threshold1 = <4250000>; bif_threshold2 = <4300000>; bif_cv_under_threshold2 = <4450000>; /* PD */ pd_vbus_low_bound = <5000000>; pd_vbus_upper_bound = <5000000>; pd_ichg_level_threshold = <1000000>; /* uA */ pd_stop_battery_soc = <80>; ibus_err = <14>; vsys_watt = <5000000>; }; pd_adapter: pd_adapter { compatible = "mediatek,pd_adapter"; adapter_name = "pd_adapter"; }; rt9465_slave_chr: rt9465_slave_chr { compatible = "richtek,rt9465"; }; subpmic_pmu_eint: mt6360_pmu_eint { }; irtx_pwm:irtx_pwm { compatible = "mediatek,irtx-pwm"; pwm_ch = <0>; pwm_data_invert = <0>; }; pmic_clock_buffer_ctrl: pmic_clock_buffer_ctrl { compatible = "mediatek,pmic_clock_buffer"; mediatek,clkbuf-quantity = <7>; mediatek,clkbuf-config = <2 1 1 2 0 0 1>; mediatek,clkbuf-output-impedance = <6 4 6 4 0 0 6>; mediatek,clkbuf-controls-for-desense = <0 4 0 4 0 0 0>; }; gpio_usage_mapping: gpio_usage_mapping { compatible = "mediatek,gpio_usage_mapping"; }; mrdump_ext_rst: mrdump_ext_rst { compatible = "mediatek, mrdump_ext_rst-eint"; mode = "IRQ"; status = "okay"; }; touch: touch { compatible = "goodix,touch", "mediatek,touch"; }; tcpc_pd: tcpc_pd { }; msdc1_ins: msdc1_ins { }; smart_pa: smart_pa { }; vproc_buck: vproc_buck { }; rt-pd-manager { compatible = "mediatek,rt-pd-manager"; }; md1_sim1_hot_plug_eint:md1_sim1_hot_plug_eint{ }; md1_sim2_hot_plug_eint:md1_sim2_hot_plug_eint{ }; }; &i2c6 { speaker_amp: speaker_amp@34 { compatible = "mediatek,speaker_amp"; #sound-dai-cells = <0>; reg = <0x34>; status = "okay"; }; }; &pio { aud_clk_mosi_off: aud_clk_mosi_off { pins_cmd0_dat { pinmux = ; input-enable; bias-pull-down; }; pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_clk_mosi_on: aud_clk_mosi_on { pins_cmd0_dat { pinmux = ; input-schmitt-enable; bias-disable; }; pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_dat_mosi_off: aud_dat_mosi_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; pins_cmd2_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_dat_mosi_on: aud_dat_mosi_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; pins_cmd2_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_dat_mosi_ch34_off: aud_dat_mosi_ch34_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_dat_mosi_ch34_on: aud_dat_mosi_ch34_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_dat_miso_off: aud_dat_miso_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; pins_cmd2_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_dat_miso_on: aud_dat_miso_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; pins_cmd2_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_dat_miso_ch34_off: aud_dat_miso_ch34_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_dat_miso_ch34_on: aud_dat_miso_ch34_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; vow_dat_miso_off: vow_dat_miso_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; }; vow_dat_miso_on: vow_dat_miso_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; vow_clk_miso_off: vow_clk_miso_off { pins_cmd3_dat { pinmux = ; input-enable; bias-pull-down; }; }; vow_clk_miso_on: vow_clk_miso_on { pins_cmd3_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_nle_mosi_off: aud_nle_mosi_off { pins_cmd1_dat { pinmux = ; input-enable; bias-pull-down; }; pins_cmd2_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_nle_mosi_on: aud_nle_mosi_on { pins_cmd1_dat { pinmux = ; input-schmitt-enable; bias-disable; }; pins_cmd2_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_dat_miso2_off: aud_dat_miso2_off { pins_cmd3_dat { pinmux = ; input-enable; bias-pull-down; }; }; aud_dat_miso2_on: aud_dat_miso2_on { pins_cmd3_dat { pinmux = ; input-schmitt-enable; bias-disable; }; }; aud_gpio_i2s0_off: aud_gpio_i2s0_off { pins_cmd_dat { pinmux = ; }; }; aud_gpio_i2s0_on: aud_gpio_i2s0_on { pins_cmd_dat { pinmux = ; }; }; aud_gpio_i2s1_off: aud_gpio_i2s1_off { }; aud_gpio_i2s1_on: aud_gpio_i2s1_on { }; aud_gpio_i2s2_off: aud_gpio_i2s2_off { }; aud_gpio_i2s2_on: aud_gpio_i2s2_on { }; aud_gpio_i2s3_off: aud_gpio_i2s3_off { pins_cmd_dat { pinmux = , , ; }; }; aud_gpio_i2s3_on: aud_gpio_i2s3_on { pins_cmd_dat { pinmux = , , ; }; }; aud_gpio_i2s5_off: aud_gpio_i2s5_off { }; aud_gpio_i2s5_on: aud_gpio_i2s5_on { }; }; #include "mediatek/v1/mt6359.dtsi" #include "mediatek/cust_mt6785_msdc.dtsi" #include "mediatek/v1/mt6360.dtsi" #include "mediatek/v1/mt6360_pd.dtsi" #ifdef CONFIG_MTK_ENABLE_GENIEZONE #include "mediatek/trusty.dtsi" #endif