1c4629c34SSean Wang/* 2c4629c34SSean Wang * Copyright (c) 2017 MediaTek Inc. 3c4629c34SSean Wang * Author: Ming Huang <ming.huang@mediatek.com> 4c4629c34SSean Wang * Sean Wang <sean.wang@mediatek.com> 5c4629c34SSean Wang * 6c4629c34SSean Wang * SPDX-License-Identifier: (GPL-2.0 OR MIT) 7c4629c34SSean Wang */ 8c4629c34SSean Wang 9c4629c34SSean Wang#include <dt-bindings/interrupt-controller/irq.h> 10c4629c34SSean Wang#include <dt-bindings/interrupt-controller/arm-gic.h> 11d7167881SSean Wang#include <dt-bindings/clock/mt7622-clk.h> 12925bd27fSSean Wang#include <dt-bindings/power/mt7622-power.h> 13d7167881SSean Wang#include <dt-bindings/reset/mt7622-reset.h> 14c4629c34SSean Wang 15c4629c34SSean Wang/ { 16c4629c34SSean Wang compatible = "mediatek,mt7622"; 17c4629c34SSean Wang interrupt-parent = <&sysirq>; 18c4629c34SSean Wang #address-cells = <2>; 19c4629c34SSean Wang #size-cells = <2>; 20c4629c34SSean Wang 21c4629c34SSean Wang cpus { 22c4629c34SSean Wang #address-cells = <2>; 23c4629c34SSean Wang #size-cells = <0>; 24c4629c34SSean Wang 25c4629c34SSean Wang cpu0: cpu@0 { 26c4629c34SSean Wang device_type = "cpu"; 27c4629c34SSean Wang compatible = "arm,cortex-a53", "arm,armv8"; 28c4629c34SSean Wang reg = <0x0 0x0>; 29c4629c34SSean Wang enable-method = "psci"; 30c4629c34SSean Wang clock-frequency = <1300000000>; 31c4629c34SSean Wang }; 32c4629c34SSean Wang 33c4629c34SSean Wang cpu1: cpu@1 { 34c4629c34SSean Wang device_type = "cpu"; 35c4629c34SSean Wang compatible = "arm,cortex-a53", "arm,armv8"; 36c4629c34SSean Wang reg = <0x0 0x1>; 37c4629c34SSean Wang enable-method = "psci"; 38c4629c34SSean Wang clock-frequency = <1300000000>; 39c4629c34SSean Wang }; 40c4629c34SSean Wang }; 41c4629c34SSean Wang 42c4629c34SSean Wang uart_clk: dummy25m { 43c4629c34SSean Wang compatible = "fixed-clock"; 44c4629c34SSean Wang #clock-cells = <0>; 45c4629c34SSean Wang clock-frequency = <25000000>; 46c4629c34SSean Wang }; 47c4629c34SSean Wang 48c4629c34SSean Wang bus_clk: dummy280m { 49c4629c34SSean Wang compatible = "fixed-clock"; 50c4629c34SSean Wang #clock-cells = <0>; 51c4629c34SSean Wang clock-frequency = <280000000>; 52c4629c34SSean Wang }; 53c4629c34SSean Wang 54d7167881SSean Wang pwrap_clk: dummy40m { 55d7167881SSean Wang compatible = "fixed-clock"; 56d7167881SSean Wang clock-frequency = <40000000>; 57d7167881SSean Wang #clock-cells = <0>; 58d7167881SSean Wang }; 59d7167881SSean Wang 60d7167881SSean Wang clk25m: oscillator { 61d7167881SSean Wang compatible = "fixed-clock"; 62d7167881SSean Wang #clock-cells = <0>; 63d7167881SSean Wang clock-frequency = <25000000>; 64d7167881SSean Wang clock-output-names = "clkxtal"; 65d7167881SSean Wang }; 66d7167881SSean Wang 67c4629c34SSean Wang psci { 68c4629c34SSean Wang compatible = "arm,psci-0.2"; 69c4629c34SSean Wang method = "smc"; 70c4629c34SSean Wang }; 71c4629c34SSean Wang 72c4629c34SSean Wang reserved-memory { 73c4629c34SSean Wang #address-cells = <2>; 74c4629c34SSean Wang #size-cells = <2>; 75c4629c34SSean Wang ranges; 76c4629c34SSean Wang 77c4629c34SSean Wang /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ 78c4629c34SSean Wang secmon_reserved: secmon@43000000 { 79c4629c34SSean Wang reg = <0 0x43000000 0 0x30000>; 80c4629c34SSean Wang no-map; 81c4629c34SSean Wang }; 82c4629c34SSean Wang }; 83c4629c34SSean Wang 84c4629c34SSean Wang timer { 85c4629c34SSean Wang compatible = "arm,armv8-timer"; 86c4629c34SSean Wang interrupt-parent = <&gic>; 87c4629c34SSean Wang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | 88c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 89c4629c34SSean Wang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | 90c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 91c4629c34SSean Wang <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | 92c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 93c4629c34SSean Wang <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | 94c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>; 95c4629c34SSean Wang }; 96c4629c34SSean Wang 97d7167881SSean Wang infracfg: infracfg@10000000 { 98d7167881SSean Wang compatible = "mediatek,mt7622-infracfg", 99d7167881SSean Wang "syscon"; 100d7167881SSean Wang reg = <0 0x10000000 0 0x1000>; 101d7167881SSean Wang #clock-cells = <1>; 102d7167881SSean Wang #reset-cells = <1>; 103d7167881SSean Wang }; 104d7167881SSean Wang 105*c4ff2adeSSean Wang pwrap: pwrap@10001000 { 106*c4ff2adeSSean Wang compatible = "mediatek,mt7622-pwrap"; 107*c4ff2adeSSean Wang reg = <0 0x10001000 0 0x250>; 108*c4ff2adeSSean Wang reg-names = "pwrap"; 109*c4ff2adeSSean Wang clocks = <&infracfg CLK_INFRA_PMIC_PD>, <&pwrap_clk>; 110*c4ff2adeSSean Wang clock-names = "spi", "wrap"; 111*c4ff2adeSSean Wang resets = <&infracfg MT7622_INFRA_PMIC_WRAP_RST>; 112*c4ff2adeSSean Wang reset-names = "pwrap"; 113*c4ff2adeSSean Wang interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 114*c4ff2adeSSean Wang status = "disabled"; 115*c4ff2adeSSean Wang }; 116*c4ff2adeSSean Wang 117d7167881SSean Wang pericfg: pericfg@10002000 { 118d7167881SSean Wang compatible = "mediatek,mt7622-pericfg", 119d7167881SSean Wang "syscon"; 120d7167881SSean Wang reg = <0 0x10002000 0 0x1000>; 121d7167881SSean Wang #clock-cells = <1>; 122d7167881SSean Wang #reset-cells = <1>; 123d7167881SSean Wang }; 124d7167881SSean Wang 125925bd27fSSean Wang scpsys: scpsys@10006000 { 126925bd27fSSean Wang compatible = "mediatek,mt7622-scpsys", 127925bd27fSSean Wang "syscon"; 128925bd27fSSean Wang #power-domain-cells = <1>; 129925bd27fSSean Wang reg = <0 0x10006000 0 0x1000>; 130925bd27fSSean Wang interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>, 131925bd27fSSean Wang <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>, 132925bd27fSSean Wang <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>, 133925bd27fSSean Wang <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>; 134925bd27fSSean Wang infracfg = <&infracfg>; 135925bd27fSSean Wang clocks = <&topckgen CLK_TOP_HIF_SEL>; 136925bd27fSSean Wang clock-names = "hif_sel"; 137925bd27fSSean Wang }; 138925bd27fSSean Wang 139c4629c34SSean Wang sysirq: interrupt-controller@10200620 { 140c4629c34SSean Wang compatible = "mediatek,mt7622-sysirq", 141c4629c34SSean Wang "mediatek,mt6577-sysirq"; 142c4629c34SSean Wang interrupt-controller; 143c4629c34SSean Wang #interrupt-cells = <3>; 144c4629c34SSean Wang interrupt-parent = <&gic>; 145c4629c34SSean Wang reg = <0 0x10200620 0 0x20>; 146c4629c34SSean Wang }; 147c4629c34SSean Wang 148d7167881SSean Wang apmixedsys: apmixedsys@10209000 { 149d7167881SSean Wang compatible = "mediatek,mt7622-apmixedsys", 150d7167881SSean Wang "syscon"; 151d7167881SSean Wang reg = <0 0x10209000 0 0x1000>; 152d7167881SSean Wang #clock-cells = <1>; 153d7167881SSean Wang }; 154d7167881SSean Wang 155d7167881SSean Wang topckgen: topckgen@10210000 { 156d7167881SSean Wang compatible = "mediatek,mt7622-topckgen", 157d7167881SSean Wang "syscon"; 158d7167881SSean Wang reg = <0 0x10210000 0 0x1000>; 159d7167881SSean Wang #clock-cells = <1>; 160d7167881SSean Wang }; 161d7167881SSean Wang 1623725ba3fSSean Wang pio: pinctrl@10211000 { 1633725ba3fSSean Wang compatible = "mediatek,mt7622-pinctrl"; 1643725ba3fSSean Wang reg = <0 0x10211000 0 0x1000>; 1653725ba3fSSean Wang gpio-controller; 1663725ba3fSSean Wang #gpio-cells = <2>; 1673725ba3fSSean Wang }; 1683725ba3fSSean Wang 169c4629c34SSean Wang gic: interrupt-controller@10300000 { 170c4629c34SSean Wang compatible = "arm,gic-400"; 171c4629c34SSean Wang interrupt-controller; 172c4629c34SSean Wang #interrupt-cells = <3>; 173c4629c34SSean Wang interrupt-parent = <&gic>; 174c4629c34SSean Wang reg = <0 0x10310000 0 0x1000>, 175c4629c34SSean Wang <0 0x10320000 0 0x1000>, 176c4629c34SSean Wang <0 0x10340000 0 0x2000>, 177c4629c34SSean Wang <0 0x10360000 0 0x2000>; 178c4629c34SSean Wang }; 179c4629c34SSean Wang 180c4629c34SSean Wang uart0: serial@11002000 { 181c4629c34SSean Wang compatible = "mediatek,mt7622-uart", 182c4629c34SSean Wang "mediatek,mt6577-uart"; 183c4629c34SSean Wang reg = <0 0x11002000 0 0x400>; 184c4629c34SSean Wang interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 185c4629c34SSean Wang clocks = <&uart_clk>, <&bus_clk>; 186c4629c34SSean Wang clock-names = "baud", "bus"; 187c4629c34SSean Wang status = "disabled"; 188c4629c34SSean Wang }; 189d7167881SSean Wang 190d7167881SSean Wang ssusbsys: ssusbsys@1a000000 { 191d7167881SSean Wang compatible = "mediatek,mt7622-ssusbsys", 192d7167881SSean Wang "syscon"; 193d7167881SSean Wang reg = <0 0x1a000000 0 0x1000>; 194d7167881SSean Wang #clock-cells = <1>; 195d7167881SSean Wang #reset-cells = <1>; 196d7167881SSean Wang }; 197d7167881SSean Wang 198d7167881SSean Wang pciesys: pciesys@1a100800 { 199d7167881SSean Wang compatible = "mediatek,mt7622-pciesys", 200d7167881SSean Wang "syscon"; 201d7167881SSean Wang reg = <0 0x1a100800 0 0x1000>; 202d7167881SSean Wang #clock-cells = <1>; 203d7167881SSean Wang #reset-cells = <1>; 204d7167881SSean Wang }; 205d7167881SSean Wang 206d7167881SSean Wang ethsys: syscon@1b000000 { 207d7167881SSean Wang compatible = "mediatek,mt7622-ethsys", 208d7167881SSean Wang "syscon"; 209d7167881SSean Wang reg = <0 0x1b000000 0 0x1000>; 210d7167881SSean Wang #clock-cells = <1>; 211d7167881SSean Wang #reset-cells = <1>; 212d7167881SSean Wang }; 213d7167881SSean Wang 214d7167881SSean Wang sgmiisys: sgmiisys@1b128000 { 215d7167881SSean Wang compatible = "mediatek,mt7622-sgmiisys", 216d7167881SSean Wang "syscon"; 217d7167881SSean Wang reg = <0 0x1b128000 0 0x1000>; 218d7167881SSean Wang #clock-cells = <1>; 219d7167881SSean Wang }; 220c4629c34SSean Wang}; 221