1*724ba675SRob Herring/* 2*724ba675SRob Herring * Copyright 2015 Annapurna Labs Ltd. 3*724ba675SRob Herring * 4*724ba675SRob Herring * This program is free software; you can redistribute it and/or modify it 5*724ba675SRob Herring * under the terms and conditions of the GNU General Public License, 6*724ba675SRob Herring * version 2, as published by the Free Software Foundation. 7*724ba675SRob Herring * 8*724ba675SRob Herring * Alternatively, redistribution and use in source and binary forms, with or 9*724ba675SRob Herring * without modification, are permitted provided that the following conditions 10*724ba675SRob Herring * are met: 11*724ba675SRob Herring * 12*724ba675SRob Herring * * Redistributions of source code must retain the above copyright notice, 13*724ba675SRob Herring * this list of conditions and the following disclaimer. 14*724ba675SRob Herring * 15*724ba675SRob Herring * * Redistributions in binary form must reproduce the above copyright 16*724ba675SRob Herring * notice, this list of conditions and the following disclaimer in 17*724ba675SRob Herring * the documentation and/or other materials provided with the 18*724ba675SRob Herring * distribution. 19*724ba675SRob Herring * 20*724ba675SRob Herring * This program is distributed in the hope it will be useful, but WITHOUT 21*724ba675SRob Herring * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 22*724ba675SRob Herring * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 23*724ba675SRob Herring * more details. 24*724ba675SRob Herring * 25*724ba675SRob Herring */ 26*724ba675SRob Herring 27*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 28*724ba675SRob Herring 29*724ba675SRob Herring/ { 30*724ba675SRob Herring #address-cells = <2>; 31*724ba675SRob Herring #size-cells = <2>; 32*724ba675SRob Herring /* SOC compatibility */ 33*724ba675SRob Herring compatible = "al,alpine"; 34*724ba675SRob Herring 35*724ba675SRob Herring memory { 36*724ba675SRob Herring device_type = "memory"; 37*724ba675SRob Herring reg = <0 0 0 0>; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring /* CPU Configuration */ 41*724ba675SRob Herring cpus { 42*724ba675SRob Herring #address-cells = <1>; 43*724ba675SRob Herring #size-cells = <0>; 44*724ba675SRob Herring enable-method = "al,alpine-smp"; 45*724ba675SRob Herring 46*724ba675SRob Herring cpu@0 { 47*724ba675SRob Herring compatible = "arm,cortex-a15"; 48*724ba675SRob Herring device_type = "cpu"; 49*724ba675SRob Herring reg = <0>; 50*724ba675SRob Herring clock-frequency = <1700000000>; 51*724ba675SRob Herring }; 52*724ba675SRob Herring 53*724ba675SRob Herring cpu@1 { 54*724ba675SRob Herring compatible = "arm,cortex-a15"; 55*724ba675SRob Herring device_type = "cpu"; 56*724ba675SRob Herring reg = <1>; 57*724ba675SRob Herring clock-frequency = <1700000000>; 58*724ba675SRob Herring }; 59*724ba675SRob Herring 60*724ba675SRob Herring cpu@2 { 61*724ba675SRob Herring compatible = "arm,cortex-a15"; 62*724ba675SRob Herring device_type = "cpu"; 63*724ba675SRob Herring reg = <2>; 64*724ba675SRob Herring clock-frequency = <1700000000>; 65*724ba675SRob Herring }; 66*724ba675SRob Herring 67*724ba675SRob Herring cpu@3 { 68*724ba675SRob Herring compatible = "arm,cortex-a15"; 69*724ba675SRob Herring device_type = "cpu"; 70*724ba675SRob Herring reg = <3>; 71*724ba675SRob Herring clock-frequency = <1700000000>; 72*724ba675SRob Herring }; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring soc { 76*724ba675SRob Herring #address-cells = <2>; 77*724ba675SRob Herring #size-cells = <2>; 78*724ba675SRob Herring compatible = "simple-bus"; 79*724ba675SRob Herring interrupt-parent = <&gic>; 80*724ba675SRob Herring ranges; 81*724ba675SRob Herring 82*724ba675SRob Herring arch-timer { 83*724ba675SRob Herring compatible = "arm,cortex-a15-timer", 84*724ba675SRob Herring "arm,armv7-timer"; 85*724ba675SRob Herring interrupts = 86*724ba675SRob Herring <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 87*724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 88*724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 89*724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 90*724ba675SRob Herring clock-frequency = <50000000>; 91*724ba675SRob Herring }; 92*724ba675SRob Herring 93*724ba675SRob Herring /* Interrupt Controller */ 94*724ba675SRob Herring gic: interrupt-controller@fb001000 { 95*724ba675SRob Herring compatible = "arm,cortex-a15-gic"; 96*724ba675SRob Herring #interrupt-cells = <3>; 97*724ba675SRob Herring #size-cells = <0>; 98*724ba675SRob Herring #address-cells = <0>; 99*724ba675SRob Herring interrupt-controller; 100*724ba675SRob Herring reg = <0x0 0xfb001000 0x0 0x1000>, 101*724ba675SRob Herring <0x0 0xfb002000 0x0 0x2000>, 102*724ba675SRob Herring <0x0 0xfb004000 0x0 0x2000>, 103*724ba675SRob Herring <0x0 0xfb006000 0x0 0x2000>; 104*724ba675SRob Herring interrupts = 105*724ba675SRob Herring <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 106*724ba675SRob Herring }; 107*724ba675SRob Herring 108*724ba675SRob Herring /* CPU Resume registers */ 109*724ba675SRob Herring cpu-resume@fbff5ec0 { 110*724ba675SRob Herring compatible = "al,alpine-cpu-resume"; 111*724ba675SRob Herring reg = <0x0 0xfbff5ec0 0x0 0x30>; 112*724ba675SRob Herring }; 113*724ba675SRob Herring 114*724ba675SRob Herring /* North Bridge Service Registers */ 115*724ba675SRob Herring sysfabric-service@fb070000 { 116*724ba675SRob Herring compatible = "al,alpine-sysfabric-service", "syscon"; 117*724ba675SRob Herring reg = <0x0 0xfb070000 0x0 0x10000>; 118*724ba675SRob Herring }; 119*724ba675SRob Herring 120*724ba675SRob Herring /* Performance Monitor Unit */ 121*724ba675SRob Herring pmu { 122*724ba675SRob Herring compatible = "arm,cortex-a15-pmu"; 123*724ba675SRob Herring interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 124*724ba675SRob Herring <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 125*724ba675SRob Herring <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 126*724ba675SRob Herring <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring uart0: serial@fd883000 { 130*724ba675SRob Herring compatible = "ns16550a"; 131*724ba675SRob Herring reg = <0x0 0xfd883000 0x0 0x1000>; 132*724ba675SRob Herring clock-frequency = <375000000>; 133*724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 134*724ba675SRob Herring reg-shift = <2>; 135*724ba675SRob Herring reg-io-width = <4>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring 138*724ba675SRob Herring uart1: serial@fd884000 { 139*724ba675SRob Herring compatible = "ns16550a"; 140*724ba675SRob Herring reg = <0x0 0xfd884000 0x0 0x1000>; 141*724ba675SRob Herring clock-frequency = <375000000>; 142*724ba675SRob Herring interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 143*724ba675SRob Herring reg-shift = <2>; 144*724ba675SRob Herring reg-io-width = <4>; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring /* Internal PCIe Controller */ 148*724ba675SRob Herring pcie@fbc00000 { 149*724ba675SRob Herring compatible = "pci-host-ecam-generic"; 150*724ba675SRob Herring device_type = "pci"; 151*724ba675SRob Herring #size-cells = <2>; 152*724ba675SRob Herring #address-cells = <3>; 153*724ba675SRob Herring #interrupt-cells = <1>; 154*724ba675SRob Herring reg = <0x0 0xfbc00000 0x0 0x100000>; 155*724ba675SRob Herring interrupt-map-mask = <0xf800 0 0 7>; 156*724ba675SRob Herring /* Add legacy interrupts for SATA devices only */ 157*724ba675SRob Herring interrupt-map = <0x4000 0 0 1 &gic 0 43 4>, 158*724ba675SRob Herring <0x4800 0 0 1 &gic 0 44 4>; 159*724ba675SRob Herring 160*724ba675SRob Herring /* 32 bit non prefetchable memory space */ 161*724ba675SRob Herring ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>; 162*724ba675SRob Herring 163*724ba675SRob Herring bus-range = <0x00 0x00>; 164*724ba675SRob Herring msi-parent = <&msix>; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring msix: msix@fbe00000 { 168*724ba675SRob Herring compatible = "al,alpine-msix"; 169*724ba675SRob Herring reg = <0x0 0xfbe00000 0x0 0x100000>; 170*724ba675SRob Herring msi-controller; 171*724ba675SRob Herring al,msi-base-spi = <96>; 172*724ba675SRob Herring al,msi-num-spis = <64>; 173*724ba675SRob Herring }; 174*724ba675SRob Herring }; 175*724ba675SRob Herring}; 176