1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2020 thingy.jp. 4*4882a593Smuzhiyun * Author: Daniel Palmer <daniel@thingy.jp> 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h> 8*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/ { 11*4882a593Smuzhiyun #address-cells = <1>; 12*4882a593Smuzhiyun #size-cells = <1>; 13*4882a593Smuzhiyun interrupt-parent = <&gic>; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun cpus { 16*4882a593Smuzhiyun #address-cells = <1>; 17*4882a593Smuzhiyun #size-cells = <0>; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun cpu0: cpu@0 { 20*4882a593Smuzhiyun device_type = "cpu"; 21*4882a593Smuzhiyun compatible = "arm,cortex-a7"; 22*4882a593Smuzhiyun reg = <0x0>; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun arch_timer { 27*4882a593Smuzhiyun compatible = "arm,armv7-timer"; 28*4882a593Smuzhiyun interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) 29*4882a593Smuzhiyun | IRQ_TYPE_LEVEL_LOW)>, 30*4882a593Smuzhiyun <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) 31*4882a593Smuzhiyun | IRQ_TYPE_LEVEL_LOW)>, 32*4882a593Smuzhiyun <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) 33*4882a593Smuzhiyun | IRQ_TYPE_LEVEL_LOW)>, 34*4882a593Smuzhiyun <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) 35*4882a593Smuzhiyun | IRQ_TYPE_LEVEL_LOW)>; 36*4882a593Smuzhiyun /* 37*4882a593Smuzhiyun * we shouldn't need this but the vendor 38*4882a593Smuzhiyun * u-boot is broken 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun clock-frequency = <6000000>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun pmu: pmu { 44*4882a593Smuzhiyun compatible = "arm,cortex-a7-pmu"; 45*4882a593Smuzhiyun interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 46*4882a593Smuzhiyun interrupt-affinity = <&cpu0>; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun soc: soc { 50*4882a593Smuzhiyun compatible = "simple-bus"; 51*4882a593Smuzhiyun #address-cells = <1>; 52*4882a593Smuzhiyun #size-cells = <1>; 53*4882a593Smuzhiyun ranges = <0x16001000 0x16001000 0x00007000>, 54*4882a593Smuzhiyun <0x1f000000 0x1f000000 0x00400000>, 55*4882a593Smuzhiyun <0xa0000000 0xa0000000 0x20000>; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun gic: interrupt-controller@16001000 { 58*4882a593Smuzhiyun compatible = "arm,cortex-a7-gic"; 59*4882a593Smuzhiyun reg = <0x16001000 0x1000>, 60*4882a593Smuzhiyun <0x16002000 0x2000>, 61*4882a593Smuzhiyun <0x16004000 0x2000>, 62*4882a593Smuzhiyun <0x16006000 0x2000>; 63*4882a593Smuzhiyun #interrupt-cells = <3>; 64*4882a593Smuzhiyun interrupt-controller; 65*4882a593Smuzhiyun interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) 66*4882a593Smuzhiyun | IRQ_TYPE_LEVEL_LOW)>; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun riu: bus@1f000000 { 70*4882a593Smuzhiyun compatible = "simple-bus"; 71*4882a593Smuzhiyun reg = <0x1f000000 0x00400000>; 72*4882a593Smuzhiyun #address-cells = <1>; 73*4882a593Smuzhiyun #size-cells = <1>; 74*4882a593Smuzhiyun ranges = <0x0 0x1f000000 0x00400000>; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun pmsleep: syscon@1c00 { 77*4882a593Smuzhiyun compatible = "mstar,msc313-pmsleep", "syscon"; 78*4882a593Smuzhiyun reg = <0x1c00 0x100>; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun reboot { 82*4882a593Smuzhiyun compatible = "syscon-reboot"; 83*4882a593Smuzhiyun regmap = <&pmsleep>; 84*4882a593Smuzhiyun offset = <0xb8>; 85*4882a593Smuzhiyun mask = <0x79>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun intc_fiq: interrupt-controller@201310 { 89*4882a593Smuzhiyun compatible = "mstar,mst-intc"; 90*4882a593Smuzhiyun reg = <0x201310 0x40>; 91*4882a593Smuzhiyun #interrupt-cells = <3>; 92*4882a593Smuzhiyun interrupt-controller; 93*4882a593Smuzhiyun interrupt-parent = <&gic>; 94*4882a593Smuzhiyun mstar,irqs-map-range = <96 127>; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun intc_irq: interrupt-controller@201350 { 98*4882a593Smuzhiyun compatible = "mstar,mst-intc"; 99*4882a593Smuzhiyun reg = <0x201350 0x40>; 100*4882a593Smuzhiyun #interrupt-cells = <3>; 101*4882a593Smuzhiyun interrupt-controller; 102*4882a593Smuzhiyun interrupt-parent = <&gic>; 103*4882a593Smuzhiyun mstar,irqs-map-range = <32 95>; 104*4882a593Smuzhiyun mstar,intc-no-eoi; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun l3bridge: l3bridge@204400 { 108*4882a593Smuzhiyun compatible = "mstar,l3bridge"; 109*4882a593Smuzhiyun reg = <0x204400 0x200>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun pm_uart: uart@221000 { 113*4882a593Smuzhiyun compatible = "ns16550a"; 114*4882a593Smuzhiyun reg = <0x221000 0x100>; 115*4882a593Smuzhiyun reg-shift = <3>; 116*4882a593Smuzhiyun interrupts-extended = <&intc_irq GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 117*4882a593Smuzhiyun clock-frequency = <172000000>; 118*4882a593Smuzhiyun status = "disabled"; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun imi: sram@a0000000 { 123*4882a593Smuzhiyun compatible = "mmio-sram"; 124*4882a593Smuzhiyun reg = <0xa0000000 0x10000>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun}; 128