]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge tag 'dt-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
authorArnd Bergmann <arnd@arndb.de>
Mon, 1 Jun 2015 16:02:44 +0000 (18:02 +0200)
committerArnd Bergmann <arnd@arndb.de>
Mon, 1 Jun 2015 16:02:44 +0000 (18:02 +0200)
Merge "Device Tree changes for Ux500 and ARM SOC" from Linus Walleij:

- Document Snoop Control Unit (SCU) bindings
- Document Ux500 board bindings
- Define the backup RAM in the DBx500 device tree

* tag 'dt-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: define the backupram in the device tree
  ARM: ux500: add board documentation
  ARM: scu: document Snoop Control Unit DT bindings

Documentation/devicetree/bindings/arm/scu.txt [new file with mode: 0644]
Documentation/devicetree/bindings/arm/ux500/boards.txt [new file with mode: 0644]
arch/arm/boot/dts/ste-dbx5x0.dtsi

diff --git a/Documentation/devicetree/bindings/arm/scu.txt b/Documentation/devicetree/bindings/arm/scu.txt
new file mode 100644 (file)
index 0000000..c447680
--- /dev/null
@@ -0,0 +1,25 @@
+* ARM Snoop Control Unit (SCU)
+
+As part of the MPCore complex, Cortex-A5 and Cortex-A9 are provided
+with a Snoop Control Unit. The register range is usually 256 (0x100)
+bytes.
+
+References:
+
+- Cortex-A9: see DDI0407E Cortex-A9 MPCore Technical Reference Manual
+  Revision r2p0
+- Cortex-A5: see DDI0434B Cortex-A5 MPCore Technical Reference Manual
+  Revision r0p1
+
+- compatible : Should be:
+       "arm,cortex-a9-scu"
+       "arm,cortex-a5-scu"
+
+- reg : Specify the base address and the size of the SCU register window.
+
+Example:
+
+scu@a04100000 {
+       compatible = "arm,cortex-a9-scu";
+       reg = <0xa0410000 0x100>;
+};
diff --git a/Documentation/devicetree/bindings/arm/ux500/boards.txt b/Documentation/devicetree/bindings/arm/ux500/boards.txt
new file mode 100644 (file)
index 0000000..b8737a8
--- /dev/null
@@ -0,0 +1,83 @@
+ST-Ericsson Ux500 boards
+------------------------
+
+Required properties (in root node) one of these:
+       compatible = "st-ericsson,mop500" (legacy)
+       compatible = "st-ericsson,u8500"
+
+Required node (under root node):
+
+soc: represents the system-on-chip and contains the chip
+peripherals
+
+Required property of soc node, one of these:
+       compatible = "stericsson,db8500"
+
+Required subnodes under soc node:
+
+backupram: (used for CPU spin tables and for storing data
+during retention, system won't boot without this):
+       compatible = "ste,dbx500-backupram"
+
+scu:
+       see binding for arm/scu.txt
+
+interrupt-controller:
+       see binding for arm/gic.txt
+
+timer:
+       see binding for arm/twd.txt
+
+clocks:
+       see binding for clocks/ux500.txt
+
+Example:
+
+/dts-v1/;
+
+/ {
+        model = "ST-Ericsson HREF (pre-v60) and ST UIB";
+        compatible = "st-ericsson,mop500", "st-ericsson,u8500";
+
+        soc {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "stericsson,db8500";
+               interrupt-parent = <&intc>;
+               ranges;
+
+               backupram@80150000 {
+                       compatible = "ste,dbx500-backupram";
+                       reg = <0x80150000 0x2000>;
+               };
+
+               intc: interrupt-controller@a0411000 {
+                       compatible = "arm,cortex-a9-gic";
+                       #interrupt-cells = <3>;
+                       #address-cells = <1>;
+                       interrupt-controller;
+                       reg = <0xa0411000 0x1000>,
+                             <0xa0410100 0x100>;
+               };
+
+               scu@a04100000 {
+                       compatible = "arm,cortex-a9-scu";
+                       reg = <0xa0410000 0x100>;
+               };
+
+               timer@a0410600 {
+                       compatible = "arm,cortex-a9-twd-timer";
+                       reg = <0xa0410600 0x20>;
+                       interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
+                       clocks = <&smp_twd_clk>;
+               };
+
+               clocks {
+                       compatible = "stericsson,u8500-clks";
+
+                       smp_twd_clk: smp-twd-clock {
+                               #clock-cells = <0>;
+                       };
+               };
+        };
+};
index f024a1c0de8b57b42de5ec96cad452f39aae23e2..853684ad777337771b48be2982a7c525f95ef1d6 100644 (file)
                        reg = <0xa0410000 0x100>;
                };
 
+               /*
+                * The backup RAM is used for retention during sleep
+                * and various things like spin tables
+                */
+               backupram@80150000 {
+                       compatible = "ste,dbx500-backupram";
+                       reg = <0x80150000 0x2000>;
+               };
+
                L2: l2-cache {
                        compatible = "arm,pl310-cache";
                        reg = <0xa0412000 0x1000>;