* [PATCH 1/8] ARM: realview: move DT GIC to FPGA node
@ 2014-10-14 13:04 Linus Walleij
2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
This creates a node in the device tree to hold the FPGA devices
as a "simple-bus" and moves the GIC found on the FPGA to this
node, so it reflects the actual topology of the system.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 32 +++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 3135939cd13f..f780adde2332 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -153,18 +153,6 @@
<0x10120000 0x100>;
};
- /* This GIC on the board is cascaded off the DevChip GIC */
- intc_pb1176: interrupt-controller at 10040000 {
- compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
- #interrupt-cells = <3>;
- #address-cells = <1>;
- interrupt-controller;
- reg = <0x10041000 0x1000>,
- <0x10040000 0x100>;
- interrupt-parent = <&intc_dc1176>;
- interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
- };
-
L2: l2-cache {
compatible = "arm,l220-cache";
reg = <0x10110000 0x1000>;
@@ -244,4 +232,24 @@
clock-names = "uartclk", "apb_pclk";
};
};
+
+ /* These peripherals are inside the FPGA rather than the DevChip */
+ fpga {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ ranges;
+
+ /* This GIC on the board is cascaded off the DevChip GIC */
+ intc_fpga1176: interrupt-controller at 10040000 {
+ compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+ #interrupt-cells = <3>;
+ #address-cells = <1>;
+ interrupt-controller;
+ reg = <0x10041000 0x1000>,
+ <0x10040000 0x100>;
+ interrupt-parent = <&intc_dc1176>;
+ interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
+ };
+ };
};
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
This adds the PL061 GPIO instances found on the PB1176 devchip
and the FPGA to the DTS file.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 39 +++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index f780adde2332..4721244a16d6 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -196,6 +196,19 @@
clock-names = "timer1", "timer2", "apb_pclk";
};
+ pb1176_gpio0: gpio at 1010a000 {
+ compatible = "arm,pl061", "arm,primecell";
+ reg = <0x1010a000 0x1000>;
+ gpio-controller;
+ interrupt-parent = <&intc_dc1176>;
+ interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
+
pb1176_serial0: serial at 1010c000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x1010c000 0x1000>;
@@ -251,5 +264,31 @@
interrupt-parent = <&intc_dc1176>;
interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
};
+
+ fpga_gpio0: gpio at 10014000 {
+ compatible = "arm,pl061", "arm,primecell";
+ reg = <0x10014000 0x1000>;
+ gpio-controller;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
+
+ fpga_gpio1: gpio at 10015000 {
+ compatible = "arm,pl061", "arm,primecell";
+ reg = <0x10015000 0x1000>;
+ gpio-controller;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
};
};
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
Extend the PB1176 device tree with the character LCD device.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 4721244a16d6..4ca486796f71 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -253,6 +253,15 @@
compatible = "simple-bus";
ranges;
+ fpga_charlcd: charlcd at 10008000 {
+ compatible = "arm,versatile-lcd";
+ reg = <0x10008000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
+
/* This GIC on the board is cascaded off the DevChip GIC */
intc_fpga1176: interrupt-controller at 10040000 {
compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/8] ARM: realview: add RTC clocks to device tree
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
The PB1176 has two PL031 RTC clocks, one in the devchip and one
in the FPGA. Add them to the device tree.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 4ca486796f71..0e5b608ab9db 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -196,6 +196,15 @@
clock-names = "timer1", "timer2", "apb_pclk";
};
+ pb1176_rtc: rtc at 10108000 {
+ compatible = "arm,pl031", "arm,primecell";
+ reg = <0x10108000 0x1000>;
+ interrupt-parent = <&intc_dc1176>;
+ interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
+
pb1176_gpio0: gpio at 1010a000 {
compatible = "arm,pl061", "arm,primecell";
reg = <0x1010a000 0x1000>;
@@ -299,5 +308,14 @@
clocks = <&pclk>;
clock-names = "apb_pclk";
};
+
+ fpga_rtc: rtc at 10017000 {
+ compatible = "arm,pl031", "arm,primecell";
+ reg = <0x10017000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pclk>;
+ clock-names = "apb_pclk";
+ };
};
};
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
` (2 preceding siblings ...)
2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
Add the PL022 SSP/SPI block to the PL1176 DTS file, also
define the separate SSPCLK clock derived from the 24MHz
chrystal.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 0e5b608ab9db..313a71756a18 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -56,6 +56,14 @@
clocks = <&xtal24mhz>;
};
+ sspclk: sspclk at 24M {
+ #clock-cells = <0>;
+ compatible = "fixed-factor-clock";
+ clock-div = <1>;
+ clock-mult = <1>;
+ clocks = <&xtal24mhz>;
+ };
+
uartclk: uartclk at 24M {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
@@ -218,6 +226,15 @@
clock-names = "apb_pclk";
};
+ pb1176_ssp: ssp at 1010b000 {
+ compatible = "arm,pl022", "arm,primecell";
+ reg = <0x1010b000 0x1000>;
+ interrupt-parent = <&intc_dc1176>;
+ interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&sspclk>, <&pclk>;
+ clock-names = "SSPCLK", "apb_pclk";
+ };
+
pb1176_serial0: serial at 1010c000 {
compatible = "arm,pl011", "arm,primecell";
reg = <0x1010c000 0x1000>;
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/8] ARM: realview: add FPGA UART4 to PB1176 DTS
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
` (3 preceding siblings ...)
2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
This adds the UART4 found on the FPGA to the PB1176 DTS
file.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 313a71756a18..ac4c1c850db2 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -35,6 +35,7 @@
serial1 = &pb1176_serial1;
serial2 = &pb1176_serial2;
serial3 = &pb1176_serial3;
+ serial4 = &fpga_serial;
};
memory {
@@ -288,6 +289,15 @@
clock-names = "apb_pclk";
};
+ fpga_serial: serial at 10009000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x10009000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&uartclk>, <&pclk>;
+ clock-names = "uartclk", "apb_pclk";
+ };
+
/* This GIC on the board is cascaded off the DevChip GIC */
intc_fpga1176: interrupt-controller at 10040000 {
compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
@@ -334,5 +344,7 @@
clocks = <&pclk>;
clock-names = "apb_pclk";
};
+
+
};
};
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 7/8] ARM: realview: add KMIs to the PB1176 DTS
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
` (4 preceding siblings ...)
2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
This adds the Keyboard Mouse Interface (KMI) blocks to the
PB1176 DTS file, and defines the special KMI clock derived
from the 24 MHz chrystal.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index ac4c1c850db2..c292295ac1e3 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -57,6 +57,14 @@
clocks = <&xtal24mhz>;
};
+ kmiclk: kmiclk at 24M {
+ #clock-cells = <0>;
+ compatible = "fixed-factor-clock";
+ clock-div = <1>;
+ clock-mult = <1>;
+ clocks = <&xtal24mhz>;
+ };
+
sspclk: sspclk at 24M {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
@@ -280,6 +288,24 @@
compatible = "simple-bus";
ranges;
+ fpga_kmi0: kmi at 10006000 {
+ compatible = "arm,pl050", "arm,primecell";
+ reg = <0x10006000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&kmiclk>, <&pclk>;
+ clock-names = "KMIREFCLK", "apb_pclk";
+ };
+
+ fpga_kmi1: kmi at 10007000 {
+ compatible = "arm,pl050", "arm,primecell";
+ reg = <0x10007000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&kmiclk>, <&pclk>;
+ clock-names = "KMIREFCLK", "apb_pclk";
+ };
+
fpga_charlcd: charlcd at 10008000 {
compatible = "arm,versatile-lcd";
reg = <0x10008000 0x1000>;
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 8/8] ARM: realview: add MMCI to the PB1176 DTS
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
` (5 preceding siblings ...)
2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
To: linux-arm-kernel
This adds the MMC/SD card reader (MMCI) block to the
RealView PB1176 DTS file. Add a special MCLK derived clock
and a fixed regulator to represent the 3.3V rail hardwired
to the MMC reader on the board.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
arch/arm/boot/dts/arm-realview-pb1176.dts | 36 +++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index c292295ac1e3..ff26c7ed8c41 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -22,6 +22,7 @@
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
#include "skeleton.dtsi"
/ {
@@ -43,6 +44,15 @@
reg = <0x00000000 0x08000000>;
};
+ /* The voltage to the MMC card is hardwired at 3.3V */
+ vmmc: fixedregulator at 0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vmmc";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ };
+
xtal24mhz: xtal24mhz at 24M {
#clock-cells = <0>;
compatible = "fixed-clock";
@@ -57,6 +67,14 @@
clocks = <&xtal24mhz>;
};
+ mclk: mclk at 24M {
+ #clock-cells = <0>;
+ compatible = "fixed-factor-clock";
+ clock-div = <1>;
+ clock-mult = <1>;
+ clocks = <&xtal24mhz>;
+ };
+
kmiclk: kmiclk at 24M {
#clock-cells = <0>;
compatible = "fixed-factor-clock";
@@ -288,6 +306,24 @@
compatible = "simple-bus";
ranges;
+ fpga_mci: mmcsd at 10005000 {
+ compatible = "arm,pl18x", "arm,primecell";
+ reg = <0x10005000 0x1000>;
+ interrupt-parent = <&intc_fpga1176>;
+ interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH>,
+ <0 2 IRQ_TYPE_LEVEL_HIGH>;
+ /* Due to frequent FIFO overruns, use just 500 kHz */
+ max-frequency = <500000>;
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+ clocks = <&mclk>, <&pclk>;
+ clock-names = "mclk", "apb_pclk";
+ vmmc-supply = <&vmmc>;
+ cd-gpios = <&fpga_gpio1 0 GPIO_ACTIVE_LOW>;
+ wp-gpios = <&fpga_gpio1 1 GPIO_ACTIVE_HIGH>;
+ };
+
fpga_kmi0: kmi at 10006000 {
compatible = "arm,pl050", "arm,primecell";
reg = <0x10006000 0x1000>;
--
1.9.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-10-14 13:04 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.