1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (c) 2014 MediaTek Inc. 4*f126890aSEmmanuel Vadot * Author: Joe.C <yingjoe.chen@mediatek.com> 5*f126890aSEmmanuel Vadot * 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot/ { 12*f126890aSEmmanuel Vadot #address-cells = <2>; 13*f126890aSEmmanuel Vadot #size-cells = <2>; 14*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127"; 15*f126890aSEmmanuel Vadot interrupt-parent = <&sysirq>; 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot cpus { 18*f126890aSEmmanuel Vadot #address-cells = <1>; 19*f126890aSEmmanuel Vadot #size-cells = <0>; 20*f126890aSEmmanuel Vadot enable-method = "mediatek,mt81xx-tz-smp"; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot cpu@0 { 23*f126890aSEmmanuel Vadot device_type = "cpu"; 24*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 25*f126890aSEmmanuel Vadot reg = <0x0>; 26*f126890aSEmmanuel Vadot }; 27*f126890aSEmmanuel Vadot cpu@1 { 28*f126890aSEmmanuel Vadot device_type = "cpu"; 29*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 30*f126890aSEmmanuel Vadot reg = <0x1>; 31*f126890aSEmmanuel Vadot }; 32*f126890aSEmmanuel Vadot cpu@2 { 33*f126890aSEmmanuel Vadot device_type = "cpu"; 34*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 35*f126890aSEmmanuel Vadot reg = <0x2>; 36*f126890aSEmmanuel Vadot }; 37*f126890aSEmmanuel Vadot cpu@3 { 38*f126890aSEmmanuel Vadot device_type = "cpu"; 39*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 40*f126890aSEmmanuel Vadot reg = <0x3>; 41*f126890aSEmmanuel Vadot }; 42*f126890aSEmmanuel Vadot 43*f126890aSEmmanuel Vadot }; 44*f126890aSEmmanuel Vadot 45*f126890aSEmmanuel Vadot reserved-memory { 46*f126890aSEmmanuel Vadot #address-cells = <2>; 47*f126890aSEmmanuel Vadot #size-cells = <2>; 48*f126890aSEmmanuel Vadot ranges; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot trustzone-bootinfo@80002000 { 51*f126890aSEmmanuel Vadot compatible = "mediatek,trustzone-bootinfo"; 52*f126890aSEmmanuel Vadot reg = <0 0x80002000 0 0x1000>; 53*f126890aSEmmanuel Vadot }; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot 56*f126890aSEmmanuel Vadot clocks { 57*f126890aSEmmanuel Vadot #address-cells = <2>; 58*f126890aSEmmanuel Vadot #size-cells = <2>; 59*f126890aSEmmanuel Vadot compatible = "simple-bus"; 60*f126890aSEmmanuel Vadot ranges; 61*f126890aSEmmanuel Vadot 62*f126890aSEmmanuel Vadot system_clk: dummy13m { 63*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 64*f126890aSEmmanuel Vadot clock-frequency = <13000000>; 65*f126890aSEmmanuel Vadot #clock-cells = <0>; 66*f126890aSEmmanuel Vadot }; 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot rtc_clk: dummy32k { 69*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 70*f126890aSEmmanuel Vadot clock-frequency = <32000>; 71*f126890aSEmmanuel Vadot #clock-cells = <0>; 72*f126890aSEmmanuel Vadot }; 73*f126890aSEmmanuel Vadot 74*f126890aSEmmanuel Vadot uart_clk: dummy26m { 75*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 76*f126890aSEmmanuel Vadot clock-frequency = <26000000>; 77*f126890aSEmmanuel Vadot #clock-cells = <0>; 78*f126890aSEmmanuel Vadot }; 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot timer { 82*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 83*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 84*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | 85*f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 86*f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | 87*f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 88*f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | 89*f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>, 90*f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | 91*f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>; 92*f126890aSEmmanuel Vadot clock-frequency = <13000000>; 93*f126890aSEmmanuel Vadot arm,cpu-registers-not-fw-configured; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot soc { 97*f126890aSEmmanuel Vadot #address-cells = <2>; 98*f126890aSEmmanuel Vadot #size-cells = <2>; 99*f126890aSEmmanuel Vadot compatible = "simple-bus"; 100*f126890aSEmmanuel Vadot ranges; 101*f126890aSEmmanuel Vadot 102*f126890aSEmmanuel Vadot timer: timer@10008000 { 103*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-timer", 104*f126890aSEmmanuel Vadot "mediatek,mt6577-timer"; 105*f126890aSEmmanuel Vadot reg = <0 0x10008000 0 0x80>; 106*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_LOW>; 107*f126890aSEmmanuel Vadot clocks = <&system_clk>, <&rtc_clk>; 108*f126890aSEmmanuel Vadot clock-names = "system-clk", "rtc-clk"; 109*f126890aSEmmanuel Vadot }; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot sysirq: interrupt-controller@10200100 { 112*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-sysirq", 113*f126890aSEmmanuel Vadot "mediatek,mt6577-sysirq"; 114*f126890aSEmmanuel Vadot interrupt-controller; 115*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 116*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 117*f126890aSEmmanuel Vadot reg = <0 0x10200100 0 0x1c>; 118*f126890aSEmmanuel Vadot }; 119*f126890aSEmmanuel Vadot 120*f126890aSEmmanuel Vadot gic: interrupt-controller@10211000 { 121*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 122*f126890aSEmmanuel Vadot interrupt-controller; 123*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 124*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 125*f126890aSEmmanuel Vadot reg = <0 0x10211000 0 0x1000>, 126*f126890aSEmmanuel Vadot <0 0x10212000 0 0x2000>, 127*f126890aSEmmanuel Vadot <0 0x10214000 0 0x2000>, 128*f126890aSEmmanuel Vadot <0 0x10216000 0 0x2000>; 129*f126890aSEmmanuel Vadot }; 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot uart0: serial@11002000 { 132*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart"; 133*f126890aSEmmanuel Vadot reg = <0 0x11002000 0 0x400>; 134*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>; 135*f126890aSEmmanuel Vadot clocks = <&uart_clk>; 136*f126890aSEmmanuel Vadot status = "disabled"; 137*f126890aSEmmanuel Vadot }; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot uart1: serial@11003000 { 140*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart"; 141*f126890aSEmmanuel Vadot reg = <0 0x11003000 0 0x400>; 142*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>; 143*f126890aSEmmanuel Vadot clocks = <&uart_clk>; 144*f126890aSEmmanuel Vadot status = "disabled"; 145*f126890aSEmmanuel Vadot }; 146*f126890aSEmmanuel Vadot 147*f126890aSEmmanuel Vadot uart2: serial@11004000 { 148*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart"; 149*f126890aSEmmanuel Vadot reg = <0 0x11004000 0 0x400>; 150*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>; 151*f126890aSEmmanuel Vadot clocks = <&uart_clk>; 152*f126890aSEmmanuel Vadot status = "disabled"; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot uart3: serial@11005000 { 156*f126890aSEmmanuel Vadot compatible = "mediatek,mt8127-uart","mediatek,mt6577-uart"; 157*f126890aSEmmanuel Vadot reg = <0 0x11005000 0 0x400>; 158*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>; 159*f126890aSEmmanuel Vadot clocks = <&uart_clk>; 160*f126890aSEmmanuel Vadot status = "disabled"; 161*f126890aSEmmanuel Vadot }; 162*f126890aSEmmanuel Vadot }; 163*f126890aSEmmanuel Vadot}; 164