Commit a3206509 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'arm-realview-dt-for-arm-soc' of...

Merge tag 'arm-realview-dt-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt

Merge "RealView DeviceTree support for v3.19" from Linus Walleij:

- Device Tree implementation for the ARM RealView boards
- DTS file for the ARM RealView PB1176
- Updates on top of the same DTS file

* tag 'arm-realview-dt-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: realview: add MMCI to the PB1176 DTS
  ARM: realview: add KMIs to the PB1176 DTS
  ARM: realview: add FPGA UART4 to PB1176 DTS
  ARM: realview: add PL022 SSP/SPI block to PB1176 DTS
  ARM: realview: add RTC clocks to device tree
  ARM: realview: add charlcd to PB1176 device tree
  ARM: realview: add PL061 GPIO to the PB1176 DTS
  ARM: realview: move DT GIC to FPGA node
  ARM: realview: add device tree and bindings for PB1176
  ARM: realview: basic device tree implementation
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b2b2490a 10d8ddee
...@@ -92,3 +92,68 @@ Required nodes: ...@@ -92,3 +92,68 @@ Required nodes:
- core-module: the root node to the Versatile platforms must have - core-module: the root node to the Versatile platforms must have
a core-module with regs and the compatible strings a core-module with regs and the compatible strings
"arm,core-module-versatile", "syscon" "arm,core-module-versatile", "syscon"
ARM RealView Boards
-------------------
The RealView boards cover tailored evaluation boards that are used to explore
the ARM11 and Cortex A-8 and Cortex A-9 processors.
Required properties (in root node):
/* RealView Emulation Baseboard */
compatible = "arm,realview-eb";
/* RealView Platform Baseboard for ARM1176JZF-S */
compatible = "arm,realview-pb1176";
/* RealView Platform Baseboard for ARM11 MPCore */
compatible = "arm,realview-pb11mp";
/* RealView Platform Baseboard for Cortex A-8 */
compatible = "arm,realview-pba8";
/* RealView Platform Baseboard Explore for Cortex A-9 */
compatible = "arm,realview-pbx";
Required nodes:
- soc: some node of the RealView platforms must be the SoC
node that contain the SoC-specific devices, withe the compatible
string set to one of these tuples:
"arm,realview-eb-soc", "simple-bus"
"arm,realview-pb1176-soc", "simple-bus"
"arm,realview-pb11mp-soc", "simple-bus"
"arm,realview-pba8-soc", "simple-bus"
"arm,realview-pbx-soc", "simple-bus"
- syscon: some subnode of the RealView SoC node must be a
system controller node pointing to the control registers,
with the compatible string set to one of these tuples:
"arm,realview-eb-syscon", "syscon"
"arm,realview-pb1176-syscon", "syscon"
"arm,realview-pb11mp-syscon", "syscon"
"arm,realview-pba8-syscon", "syscon"
"arm,realview-pbx-syscon", "syscon"
Required properties for the system controller:
- regs: the location and size of the system controller registers,
one range of 0x1000 bytes.
Example:
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include "skeleton.dtsi"
/ {
model = "ARM RealView PB1176 with device tree";
compatible = "arm,realview-pb1176";
soc {
#address-cells = <1>;
#size-cells = <1>;
compatible = "arm,realview-pb1176-soc", "simple-bus";
ranges;
syscon: syscon@10000000 {
compatible = "arm,realview-syscon", "syscon";
reg = <0x10000000 0x1000>;
};
};
};
...@@ -17,6 +17,7 @@ Main node required properties: ...@@ -17,6 +17,7 @@ Main node required properties:
"arm,cortex-a7-gic" "arm,cortex-a7-gic"
"arm,arm11mp-gic" "arm,arm11mp-gic"
"brcm,brahma-b15-gic" "brcm,brahma-b15-gic"
"arm,arm1176jzf-devchip-gic"
- interrupt-controller : Identifies the node as an interrupt controller - interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode an - #interrupt-cells : Specifies the number of cells needed to encode an
interrupt source. The type shall be a <u32> and the value shall be 3. interrupt source. The type shall be a <u32> and the value shall be 3.
......
...@@ -364,6 +364,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ ...@@ -364,6 +364,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
qcom-msm8660-surf.dtb \ qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb \ qcom-msm8960-cdp.dtb \
qcom-msm8974-sony-xperia-honami.dtb qcom-msm8974-sony-xperia-honami.dtb
dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += \ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
rk3066a-bqcurie2.dtb \ rk3066a-bqcurie2.dtb \
rk3188-radxarock.dtb \ rk3188-radxarock.dtb \
......
This diff is collapsed.
menu "RealView platform type" menu "RealView platform type"
depends on ARCH_REALVIEW depends on ARCH_REALVIEW
config REALVIEW_DT
bool "Support RealView(R) Device Tree based boot"
select ARM_GIC
select MFD_SYSCON
select POWER_RESET
select POWER_RESET_VERSATILE
select POWER_SUPPLY
select SOC_REALVIEW
select USE_OF
help
Include support for booting the ARM(R) RealView(R) evaluation
boards using a device tree machine description.
config MACH_REALVIEW_EB config MACH_REALVIEW_EB
bool "Support RealView(R) Emulation Baseboard" bool "Support RealView(R) Emulation Baseboard"
select ARM_GIC select ARM_GIC
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# #
obj-y := core.o obj-y := core.o
obj-$(CONFIG_REALVIEW_DT) += realview-dt.o
obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o
obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o
obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o
......
/*
* Copyright (C) 2014 Linaro Ltd.
*
* Author: Linus Walleij <linus.walleij@linaro.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2, as
* published by the Free Software Foundation.
*
*/
#include <linux/of_platform.h>
#include <asm/mach/arch.h>
#include <asm/hardware/cache-l2x0.h>
#include "core.h"
static const char *realview_dt_platform_compat[] __initconst = {
"arm,realview-eb",
"arm,realview-pb1176",
"arm,realview-pb11mp",
"arm,realview-pba8",
"arm,realview-pbx",
NULL,
};
DT_MACHINE_START(REALVIEW_DT, "ARM RealView Machine (Device Tree Support)")
#ifdef CONFIG_ZONE_DMA
.dma_zone_size = SZ_256M,
#endif
.dt_compat = realview_dt_platform_compat,
.l2c_aux_val = 0x0,
.l2c_aux_mask = ~0x0,
MACHINE_END
...@@ -1041,6 +1041,8 @@ gic_of_init(struct device_node *node, struct device_node *parent) ...@@ -1041,6 +1041,8 @@ gic_of_init(struct device_node *node, struct device_node *parent)
return 0; return 0;
} }
IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init); IRQCHIP_DECLARE(gic_400, "arm,gic-400", gic_of_init);
IRQCHIP_DECLARE(arm11mp_gic, "arm,arm11mp-gic", gic_of_init);
IRQCHIP_DECLARE(arm1176jzf_dc_gic, "arm,arm1176jzf-devchip-gic", gic_of_init);
IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init); IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init);
IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init); IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init);
IRQCHIP_DECLARE(cortex_a7_gic, "arm,cortex-a7-gic", gic_of_init); IRQCHIP_DECLARE(cortex_a7_gic, "arm,cortex-a7-gic", gic_of_init);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment