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> 11*d7167881SSean Wang#include <dt-bindings/clock/mt7622-clk.h> 12*d7167881SSean Wang#include <dt-bindings/reset/mt7622-reset.h> 13c4629c34SSean Wang 14c4629c34SSean Wang/ { 15c4629c34SSean Wang compatible = "mediatek,mt7622"; 16c4629c34SSean Wang interrupt-parent = <&sysirq>; 17c4629c34SSean Wang #address-cells = <2>; 18c4629c34SSean Wang #size-cells = <2>; 19c4629c34SSean Wang 20c4629c34SSean Wang cpus { 21c4629c34SSean Wang #address-cells = <2>; 22c4629c34SSean Wang #size-cells = <0>; 23c4629c34SSean Wang 24c4629c34SSean Wang cpu0: cpu@0 { 25c4629c34SSean Wang device_type = "cpu"; 26c4629c34SSean Wang compatible = "arm,cortex-a53", "arm,armv8"; 27c4629c34SSean Wang reg = <0x0 0x0>; 28c4629c34SSean Wang enable-method = "psci"; 29c4629c34SSean Wang clock-frequency = <1300000000>; 30c4629c34SSean Wang }; 31c4629c34SSean Wang 32c4629c34SSean Wang cpu1: cpu@1 { 33c4629c34SSean Wang device_type = "cpu"; 34c4629c34SSean Wang compatible = "arm,cortex-a53", "arm,armv8"; 35c4629c34SSean Wang reg = <0x0 0x1>; 36c4629c34SSean Wang enable-method = "psci"; 37c4629c34SSean Wang clock-frequency = <1300000000>; 38c4629c34SSean Wang }; 39c4629c34SSean Wang }; 40c4629c34SSean Wang 41c4629c34SSean Wang uart_clk: dummy25m { 42c4629c34SSean Wang compatible = "fixed-clock"; 43c4629c34SSean Wang #clock-cells = <0>; 44c4629c34SSean Wang clock-frequency = <25000000>; 45c4629c34SSean Wang }; 46c4629c34SSean Wang 47c4629c34SSean Wang bus_clk: dummy280m { 48c4629c34SSean Wang compatible = "fixed-clock"; 49c4629c34SSean Wang #clock-cells = <0>; 50c4629c34SSean Wang clock-frequency = <280000000>; 51c4629c34SSean Wang }; 52c4629c34SSean Wang 53*d7167881SSean Wang pwrap_clk: dummy40m { 54*d7167881SSean Wang compatible = "fixed-clock"; 55*d7167881SSean Wang clock-frequency = <40000000>; 56*d7167881SSean Wang #clock-cells = <0>; 57*d7167881SSean Wang }; 58*d7167881SSean Wang 59*d7167881SSean Wang clk25m: oscillator { 60*d7167881SSean Wang compatible = "fixed-clock"; 61*d7167881SSean Wang #clock-cells = <0>; 62*d7167881SSean Wang clock-frequency = <25000000>; 63*d7167881SSean Wang clock-output-names = "clkxtal"; 64*d7167881SSean Wang }; 65*d7167881SSean Wang 66c4629c34SSean Wang psci { 67c4629c34SSean Wang compatible = "arm,psci-0.2"; 68c4629c34SSean Wang method = "smc"; 69c4629c34SSean Wang }; 70c4629c34SSean Wang 71c4629c34SSean Wang reserved-memory { 72c4629c34SSean Wang #address-cells = <2>; 73c4629c34SSean Wang #size-cells = <2>; 74c4629c34SSean Wang ranges; 75c4629c34SSean Wang 76c4629c34SSean Wang /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ 77c4629c34SSean Wang secmon_reserved: secmon@43000000 { 78c4629c34SSean Wang reg = <0 0x43000000 0 0x30000>; 79c4629c34SSean Wang no-map; 80c4629c34SSean Wang }; 81c4629c34SSean Wang }; 82c4629c34SSean Wang 83c4629c34SSean Wang timer { 84c4629c34SSean Wang compatible = "arm,armv8-timer"; 85c4629c34SSean Wang interrupt-parent = <&gic>; 86c4629c34SSean Wang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | 87c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 88c4629c34SSean Wang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | 89c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 90c4629c34SSean Wang <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | 91c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>, 92c4629c34SSean Wang <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | 93c4629c34SSean Wang IRQ_TYPE_LEVEL_HIGH)>; 94c4629c34SSean Wang }; 95c4629c34SSean Wang 96*d7167881SSean Wang infracfg: infracfg@10000000 { 97*d7167881SSean Wang compatible = "mediatek,mt7622-infracfg", 98*d7167881SSean Wang "syscon"; 99*d7167881SSean Wang reg = <0 0x10000000 0 0x1000>; 100*d7167881SSean Wang #clock-cells = <1>; 101*d7167881SSean Wang #reset-cells = <1>; 102*d7167881SSean Wang }; 103*d7167881SSean Wang 104*d7167881SSean Wang pericfg: pericfg@10002000 { 105*d7167881SSean Wang compatible = "mediatek,mt7622-pericfg", 106*d7167881SSean Wang "syscon"; 107*d7167881SSean Wang reg = <0 0x10002000 0 0x1000>; 108*d7167881SSean Wang #clock-cells = <1>; 109*d7167881SSean Wang #reset-cells = <1>; 110*d7167881SSean Wang }; 111*d7167881SSean Wang 112c4629c34SSean Wang sysirq: interrupt-controller@10200620 { 113c4629c34SSean Wang compatible = "mediatek,mt7622-sysirq", 114c4629c34SSean Wang "mediatek,mt6577-sysirq"; 115c4629c34SSean Wang interrupt-controller; 116c4629c34SSean Wang #interrupt-cells = <3>; 117c4629c34SSean Wang interrupt-parent = <&gic>; 118c4629c34SSean Wang reg = <0 0x10200620 0 0x20>; 119c4629c34SSean Wang }; 120c4629c34SSean Wang 121*d7167881SSean Wang apmixedsys: apmixedsys@10209000 { 122*d7167881SSean Wang compatible = "mediatek,mt7622-apmixedsys", 123*d7167881SSean Wang "syscon"; 124*d7167881SSean Wang reg = <0 0x10209000 0 0x1000>; 125*d7167881SSean Wang #clock-cells = <1>; 126*d7167881SSean Wang }; 127*d7167881SSean Wang 128*d7167881SSean Wang topckgen: topckgen@10210000 { 129*d7167881SSean Wang compatible = "mediatek,mt7622-topckgen", 130*d7167881SSean Wang "syscon"; 131*d7167881SSean Wang reg = <0 0x10210000 0 0x1000>; 132*d7167881SSean Wang #clock-cells = <1>; 133*d7167881SSean Wang }; 134*d7167881SSean Wang 135c4629c34SSean Wang gic: interrupt-controller@10300000 { 136c4629c34SSean Wang compatible = "arm,gic-400"; 137c4629c34SSean Wang interrupt-controller; 138c4629c34SSean Wang #interrupt-cells = <3>; 139c4629c34SSean Wang interrupt-parent = <&gic>; 140c4629c34SSean Wang reg = <0 0x10310000 0 0x1000>, 141c4629c34SSean Wang <0 0x10320000 0 0x1000>, 142c4629c34SSean Wang <0 0x10340000 0 0x2000>, 143c4629c34SSean Wang <0 0x10360000 0 0x2000>; 144c4629c34SSean Wang }; 145c4629c34SSean Wang 146c4629c34SSean Wang uart0: serial@11002000 { 147c4629c34SSean Wang compatible = "mediatek,mt7622-uart", 148c4629c34SSean Wang "mediatek,mt6577-uart"; 149c4629c34SSean Wang reg = <0 0x11002000 0 0x400>; 150c4629c34SSean Wang interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 151c4629c34SSean Wang clocks = <&uart_clk>, <&bus_clk>; 152c4629c34SSean Wang clock-names = "baud", "bus"; 153c4629c34SSean Wang status = "disabled"; 154c4629c34SSean Wang }; 155*d7167881SSean Wang 156*d7167881SSean Wang ssusbsys: ssusbsys@1a000000 { 157*d7167881SSean Wang compatible = "mediatek,mt7622-ssusbsys", 158*d7167881SSean Wang "syscon"; 159*d7167881SSean Wang reg = <0 0x1a000000 0 0x1000>; 160*d7167881SSean Wang #clock-cells = <1>; 161*d7167881SSean Wang #reset-cells = <1>; 162*d7167881SSean Wang }; 163*d7167881SSean Wang 164*d7167881SSean Wang pciesys: pciesys@1a100800 { 165*d7167881SSean Wang compatible = "mediatek,mt7622-pciesys", 166*d7167881SSean Wang "syscon"; 167*d7167881SSean Wang reg = <0 0x1a100800 0 0x1000>; 168*d7167881SSean Wang #clock-cells = <1>; 169*d7167881SSean Wang #reset-cells = <1>; 170*d7167881SSean Wang }; 171*d7167881SSean Wang 172*d7167881SSean Wang ethsys: syscon@1b000000 { 173*d7167881SSean Wang compatible = "mediatek,mt7622-ethsys", 174*d7167881SSean Wang "syscon"; 175*d7167881SSean Wang reg = <0 0x1b000000 0 0x1000>; 176*d7167881SSean Wang #clock-cells = <1>; 177*d7167881SSean Wang #reset-cells = <1>; 178*d7167881SSean Wang }; 179*d7167881SSean Wang 180*d7167881SSean Wang sgmiisys: sgmiisys@1b128000 { 181*d7167881SSean Wang compatible = "mediatek,mt7622-sgmiisys", 182*d7167881SSean Wang "syscon"; 183*d7167881SSean Wang reg = <0 0x1b128000 0 0x1000>; 184*d7167881SSean Wang #clock-cells = <1>; 185*d7167881SSean Wang }; 186c4629c34SSean Wang}; 187