Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: mvebu: add CA9 MPcore SoC Controller node

The CA9 MPcore SoC Control block is a set of registers that allows to
configure certain internal aspects of the core blocks of the SoC
(Cortex-A9, L2 cache controller, etc.). In most cases, the default
values are fine so they aren't many reasons to touch those registers,
but there is one exception: to support cpuidle on Armada 38x, we need
to modify the value of the CA9 MPcore Reset Control register.

Therefore, this commit adds a new Device Tree binding for this
hardware block, and uses this new binding for the Armada 38x Device
Tree file.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: devicetree@vger.kernel.org
Link: https://lkml.kernel.org/r/1404913221-17343-11-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>

authored by

Gregory CLEMENT and committed by
Jason Cooper
d7f3ec2b 9495898f

+19
+14
Documentation/devicetree/bindings/arm/armada-380-mpcore-soc-ctrl.txt
··· 1 + Marvell Armada 38x CA9 MPcore SoC Controller 2 + ============================================ 3 + 4 + Required properties: 5 + 6 + - compatible: Should be "marvell,armada-380-mpcore-soc-ctrl". 7 + 8 + - reg: should be the register base and length as documented in the 9 + datasheet for the CA9 MPcore SoC Control registers 10 + 11 + mpcore-soc-ctrl@20d20 { 12 + compatible = "marvell,armada-380-mpcore-soc-ctrl"; 13 + reg = <0x20d20 0x6c>; 14 + };
+5
arch/arm/boot/dts/armada-38x.dtsi
··· 286 286 reg = <0x20800 0x10>; 287 287 }; 288 288 289 + mpcore-soc-ctrl@20d20 { 290 + compatible = "marvell,armada-380-mpcore-soc-ctrl"; 291 + reg = <0x20d20 0x6c>; 292 + }; 293 + 289 294 coherency-fabric@21010 { 290 295 compatible = "marvell,armada-380-coherency-fabric"; 291 296 reg = <0x21010 0x1c>;