mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
dfc8a11738
This adds a devicetree for the ARM RealView PBA8 platform, also known as HBI-0178, "RealView Platform Baseboard for Cortex-A8" and PBX-A9 "RealView Platform Baseboard Explore for Cortex-A9" Tested in QEMU with -M realview-pb-a8, as well as with -M realview-pbx-a9 -smp cpus=2 Cc: Arnd Bergmann <arnd@arndb.de> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Tested-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
230 lines
4.9 KiB
Plaintext
230 lines
4.9 KiB
Plaintext
/*
|
|
* Copyright 2016 Linaro Ltd
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "arm-realview-pbx.dtsi"
|
|
|
|
/ {
|
|
/*
|
|
* This is the RealView Platform Baseboard Explore for Cortex-A9
|
|
* (HBI0182 + HBI0183) as described in ARM DUI 0440B
|
|
*/
|
|
model = "ARM RealView Platform Baseboard Explore for Cortex-A9";
|
|
arm,hbi = <0x182>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
enable-method = "arm,realview-smp";
|
|
|
|
cpu-map {
|
|
cluster0 {
|
|
core0 {
|
|
cpu = <&CPU0>;
|
|
};
|
|
core1 {
|
|
cpu = <&CPU1>;
|
|
};
|
|
};
|
|
};
|
|
CPU0: cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a9";
|
|
reg = <0x0>;
|
|
next-level-cache = <&L2>;
|
|
};
|
|
CPU1: cpu@1 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a9";
|
|
reg = <0x1>;
|
|
next-level-cache = <&L2>;
|
|
};
|
|
};
|
|
|
|
L2: l2-cache {
|
|
compatible = "arm,pl310-cache";
|
|
reg = <0x1f002000 0x1000>;
|
|
cache-unified;
|
|
cache-level = <2>;
|
|
/*
|
|
* Override default cache size, sets and
|
|
* associativity as these may be erroneously set
|
|
* up by boot loader(s).
|
|
*/
|
|
cache-size = <1048576>; // 1MB
|
|
cache-sets = <4096>;
|
|
cache-line-size = <32>;
|
|
arm,parity-disable;
|
|
arm,tag-latency = <1>;
|
|
arm,data-latency = <1 1>;
|
|
arm,dirty-latency = <1>;
|
|
};
|
|
|
|
scu: scu@1f000000 {
|
|
compatible = "arm,cortex-a9-scu";
|
|
reg = <0x1f000000 0x100>;
|
|
};
|
|
|
|
twd_timer: timer@1f000600 {
|
|
compatible = "arm,cortex-a9-twd-timer";
|
|
reg = <0x1f000600 0x20>;
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <1 13 0xf04>;
|
|
};
|
|
|
|
twd_wdog: watchdog@1f000620 {
|
|
compatible = "arm,cortex-a9-twd-wdt";
|
|
reg = <0x1f000620 0x20>;
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <1 14 0xf04>;
|
|
};
|
|
|
|
pmu: pmu@0 {
|
|
compatible = "arm,cortex-a9-pmu";
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 45 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-affinity = <&CPU0>, <&CPU1>;
|
|
};
|
|
|
|
/* Primary GIC PL390 interrupt controller in the test chip */
|
|
intc: interrupt-controller@1f000000 {
|
|
compatible = "arm,cortex-a9-gic";
|
|
#interrupt-cells = <3>;
|
|
#address-cells = <1>;
|
|
interrupt-controller;
|
|
reg = <0x1f001000 0x1000>,
|
|
<0x1f000100 0x100>;
|
|
};
|
|
};
|
|
|
|
ðernet {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&usb {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&serial0 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&serial1 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&serial2 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&serial3 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&ssp {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&wdog0 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 0 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&wdog1 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&timer01 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&timer23 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 5 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&gpio0 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&gpio1 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&gpio2 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&rtc {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 10 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&timer45 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&timer67 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 42 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&aaci {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&mmc {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0 18 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&kmi0 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 20 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&kmi1 {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
&clcd {
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|