1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (c) 2020 thingy.jp. 4*724ba675SRob Herring * Author: Daniel Palmer <daniel@thingy.jp> 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 8*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 9*724ba675SRob Herring#include <dt-bindings/clock/mstar-msc313-mpll.h> 10*724ba675SRob Herring 11*724ba675SRob Herring/ { 12*724ba675SRob Herring #address-cells = <1>; 13*724ba675SRob Herring #size-cells = <1>; 14*724ba675SRob Herring interrupt-parent = <&gic>; 15*724ba675SRob Herring 16*724ba675SRob Herring cpus: cpus { 17*724ba675SRob Herring #address-cells = <1>; 18*724ba675SRob Herring #size-cells = <0>; 19*724ba675SRob Herring 20*724ba675SRob Herring cpu0: cpu@0 { 21*724ba675SRob Herring device_type = "cpu"; 22*724ba675SRob Herring compatible = "arm,cortex-a7"; 23*724ba675SRob Herring reg = <0x0>; 24*724ba675SRob Herring clocks = <&cpupll>; 25*724ba675SRob Herring clock-names = "cpuclk"; 26*724ba675SRob Herring }; 27*724ba675SRob Herring }; 28*724ba675SRob Herring 29*724ba675SRob Herring arch_timer { 30*724ba675SRob Herring compatible = "arm,armv7-timer"; 31*724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) 32*724ba675SRob Herring | IRQ_TYPE_LEVEL_LOW)>, 33*724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) 34*724ba675SRob Herring | IRQ_TYPE_LEVEL_LOW)>, 35*724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) 36*724ba675SRob Herring | IRQ_TYPE_LEVEL_LOW)>, 37*724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) 38*724ba675SRob Herring | IRQ_TYPE_LEVEL_LOW)>; 39*724ba675SRob Herring /* 40*724ba675SRob Herring * we shouldn't need this but the vendor 41*724ba675SRob Herring * u-boot is broken 42*724ba675SRob Herring */ 43*724ba675SRob Herring clock-frequency = <6000000>; 44*724ba675SRob Herring arm,cpu-registers-not-fw-configured; 45*724ba675SRob Herring }; 46*724ba675SRob Herring 47*724ba675SRob Herring pmu: pmu { 48*724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 49*724ba675SRob Herring interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 50*724ba675SRob Herring interrupt-affinity = <&cpu0>; 51*724ba675SRob Herring }; 52*724ba675SRob Herring 53*724ba675SRob Herring clocks: clocks { 54*724ba675SRob Herring xtal: xtal { 55*724ba675SRob Herring #clock-cells = <0>; 56*724ba675SRob Herring compatible = "fixed-clock"; 57*724ba675SRob Herring clock-frequency = <24000000>; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring rtc_xtal: rtc_xtal { 61*724ba675SRob Herring #clock-cells = <0>; 62*724ba675SRob Herring compatible = "fixed-clock"; 63*724ba675SRob Herring clock-frequency = <32768>; 64*724ba675SRob Herring status = "disabled"; 65*724ba675SRob Herring }; 66*724ba675SRob Herring 67*724ba675SRob Herring xtal_div2: xtal_div2 { 68*724ba675SRob Herring #clock-cells = <0>; 69*724ba675SRob Herring compatible = "fixed-factor-clock"; 70*724ba675SRob Herring clocks = <&xtal>; 71*724ba675SRob Herring clock-div = <2>; 72*724ba675SRob Herring clock-mult = <1>; 73*724ba675SRob Herring }; 74*724ba675SRob Herring }; 75*724ba675SRob Herring 76*724ba675SRob Herring soc: soc { 77*724ba675SRob Herring compatible = "simple-bus"; 78*724ba675SRob Herring #address-cells = <1>; 79*724ba675SRob Herring #size-cells = <1>; 80*724ba675SRob Herring ranges = <0x16001000 0x16001000 0x00007000>, 81*724ba675SRob Herring <0x1f000000 0x1f000000 0x00400000>, 82*724ba675SRob Herring <0xa0000000 0xa0000000 0x20000>; 83*724ba675SRob Herring 84*724ba675SRob Herring gic: interrupt-controller@16001000 { 85*724ba675SRob Herring compatible = "arm,cortex-a7-gic"; 86*724ba675SRob Herring reg = <0x16001000 0x1000>, 87*724ba675SRob Herring <0x16002000 0x2000>, 88*724ba675SRob Herring <0x16004000 0x2000>, 89*724ba675SRob Herring <0x16006000 0x2000>; 90*724ba675SRob Herring #interrupt-cells = <3>; 91*724ba675SRob Herring interrupt-controller; 92*724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) 93*724ba675SRob Herring | IRQ_TYPE_LEVEL_LOW)>; 94*724ba675SRob Herring }; 95*724ba675SRob Herring 96*724ba675SRob Herring riu: bus@1f000000 { 97*724ba675SRob Herring compatible = "simple-bus"; 98*724ba675SRob Herring reg = <0x1f000000 0x00400000>; 99*724ba675SRob Herring #address-cells = <1>; 100*724ba675SRob Herring #size-cells = <1>; 101*724ba675SRob Herring ranges = <0x0 0x1f000000 0x00400000>; 102*724ba675SRob Herring 103*724ba675SRob Herring pmsleep: syscon@1c00 { 104*724ba675SRob Herring compatible = "mstar,msc313-pmsleep", "syscon"; 105*724ba675SRob Herring reg = <0x1c00 0x100>; 106*724ba675SRob Herring }; 107*724ba675SRob Herring 108*724ba675SRob Herring reboot { 109*724ba675SRob Herring compatible = "syscon-reboot"; 110*724ba675SRob Herring regmap = <&pmsleep>; 111*724ba675SRob Herring offset = <0xb8>; 112*724ba675SRob Herring mask = <0x79>; 113*724ba675SRob Herring }; 114*724ba675SRob Herring 115*724ba675SRob Herring rtc@2400 { 116*724ba675SRob Herring compatible = "mstar,msc313-rtc"; 117*724ba675SRob Herring reg = <0x2400 0x40>; 118*724ba675SRob Herring clocks = <&xtal_div2>; 119*724ba675SRob Herring interrupts-extended = <&intc_irq GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring 122*724ba675SRob Herring watchdog@6000 { 123*724ba675SRob Herring compatible = "mstar,msc313e-wdt"; 124*724ba675SRob Herring reg = <0x6000 0x1f>; 125*724ba675SRob Herring clocks = <&xtal_div2>; 126*724ba675SRob Herring }; 127*724ba675SRob Herring 128*724ba675SRob Herring 129*724ba675SRob Herring intc_fiq: interrupt-controller@201310 { 130*724ba675SRob Herring compatible = "mstar,mst-intc"; 131*724ba675SRob Herring reg = <0x201310 0x40>; 132*724ba675SRob Herring #interrupt-cells = <3>; 133*724ba675SRob Herring interrupt-controller; 134*724ba675SRob Herring interrupt-parent = <&gic>; 135*724ba675SRob Herring mstar,irqs-map-range = <96 127>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring 138*724ba675SRob Herring intc_irq: interrupt-controller@201350 { 139*724ba675SRob Herring compatible = "mstar,mst-intc"; 140*724ba675SRob Herring reg = <0x201350 0x40>; 141*724ba675SRob Herring #interrupt-cells = <3>; 142*724ba675SRob Herring interrupt-controller; 143*724ba675SRob Herring interrupt-parent = <&gic>; 144*724ba675SRob Herring mstar,irqs-map-range = <32 95>; 145*724ba675SRob Herring mstar,intc-no-eoi; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring l3bridge: l3bridge@204400 { 149*724ba675SRob Herring compatible = "mstar,l3bridge"; 150*724ba675SRob Herring reg = <0x204400 0x200>; 151*724ba675SRob Herring }; 152*724ba675SRob Herring 153*724ba675SRob Herring mpll: mpll@206000 { 154*724ba675SRob Herring compatible = "mstar,msc313-mpll"; 155*724ba675SRob Herring #clock-cells = <1>; 156*724ba675SRob Herring reg = <0x206000 0x200>; 157*724ba675SRob Herring clocks = <&xtal>; 158*724ba675SRob Herring }; 159*724ba675SRob Herring 160*724ba675SRob Herring cpupll: cpupll@206400 { 161*724ba675SRob Herring compatible = "mstar,msc313-cpupll"; 162*724ba675SRob Herring reg = <0x206400 0x200>; 163*724ba675SRob Herring #clock-cells = <0>; 164*724ba675SRob Herring clocks = <&mpll MSTAR_MSC313_MPLL_DIV2>; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring gpio: gpio@207800 { 168*724ba675SRob Herring #gpio-cells = <2>; 169*724ba675SRob Herring reg = <0x207800 0x200>; 170*724ba675SRob Herring gpio-controller; 171*724ba675SRob Herring #interrupt-cells = <2>; 172*724ba675SRob Herring interrupt-controller; 173*724ba675SRob Herring interrupt-parent = <&intc_fiq>; 174*724ba675SRob Herring status = "disabled"; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring pm_uart: serial@221000 { 178*724ba675SRob Herring compatible = "ns16550a"; 179*724ba675SRob Herring reg = <0x221000 0x100>; 180*724ba675SRob Herring reg-shift = <3>; 181*724ba675SRob Herring interrupts-extended = <&intc_irq GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 182*724ba675SRob Herring clock-frequency = <172000000>; 183*724ba675SRob Herring status = "disabled"; 184*724ba675SRob Herring }; 185*724ba675SRob Herring }; 186*724ba675SRob Herring 187*724ba675SRob Herring imi: sram@a0000000 { 188*724ba675SRob Herring compatible = "mmio-sram"; 189*724ba675SRob Herring reg = <0xa0000000 0x10000>; 190*724ba675SRob Herring }; 191*724ba675SRob Herring }; 192*724ba675SRob Herring}; 193