[PATCH/RFC 00/15] ARM: shmobile: R-Car: Add SYSC PM Domain DT Support
Geert Uytterhoeven
geert+renesas at glider.be
Thu Jun 4 11:53:26 PDT 2015
Hi all,
The Renesas R-Car System Controller, as found in Renesas R-Car Gen1 and
Gen2 SoCs, provides power management for the CPU cores and various
coprocessors.
This RFC patch series adds preliminary DT support for the R-Car SYSC,
using the generic PM Domain.
Special cases, like PM domains containing CPU cores or SCUs, are
handled by scanning the DT topology.
The SYSCIER register value is derived from the PM domains found in DT,
which will allow to get rid of the hardcoded values in pm-rcar-gen2.c.
However, this means we have to scan for PM domains even if CONFIG_PM=n.
One step closer to making CONFIG_PM mandatory (and getting rid of
drivers/sh/pm_runtime.c ;-)?
Patches:
- Patch 1 adds the DT binding documentation (alternatives I considered
below the "---"-line),
- Patch 2 contains the driver implementation,
- Patches 3-6 add device nodes for the L2 cache-controller nodes, as
R-Car Gen2 has separate power domains for the Cortex-A15 and/or
Cortex-A7 L2 cache/SCU-combos,
- Patches 7-10 add links from the CPU nodes to the L2 cache-controller
nodes, and adds L1 cache information while we're at it,
- Patches 11-15 add the SYSC PM domains themselves to the various dtsi
files.
Questions:
- What are the bindings for Cortex-A15/A7 L2 cache-controller nodes?
For now I used 'compatible = "cache"', and some fairly standard
properties.
- Let's see how/if this integrates with "[PATCH RFC 0/3] PM / Domains:
Generic PM domains for cpus" from Lina Iyer
(http://www.spinics.net/lists/arm-kernel/msg423430.html)
Known issues:
- Although this supports R-Car H1 (r8a7779), the DT PM domain code
conflicts with the current setup code in pm-r8a7779, which is used
regardless of DT,
- This needs better integration with the PM code in pm-rcar-gen2, and
the SMP code in smp-r8a7790.
Dependencies:
- This is based on Simon Horman's renesas-devel-20150603-v4.1-rc6,
- Series "[PATCH 00/11] ARM: shmobile: R-Mobile / R-Car PM Domain
improvements", which I've just posted to linux-sh (only matters if
you want to apply this series, not for the casual reviewer).
This was tested on r8a7791/koelsch.
Thanks for your comments!
Geert Uytterhoeven (15):
PM / Domains: Add DT bindings for the R-Car System Controller
ARM: shmobile: R-Car: Add DT support for PM domains
ARM: shmobile: r8a7790 dtsi: Add L2 cache-controller nodes
ARM: shmobile: r8a7791 dtsi: Add L2 cache-controller node
ARM: shmobile: r8a7793 dtsi: Add L2 cache-controller node
ARM: shmobile: r8a7794 dtsi: Add L2 cache-controller node
ARM: shmobile: r8a7790 dtsi: Add L1 cache information to CPU nodes
ARM: shmobile: r8a7791 dtsi: Add L1 cache information to CPU nodes
ARM: shmobile: r8a7793 dtsi: Add L1 cache information to CPU node
ARM: shmobile: r8a7794 dtsi: Add L1 cache information to CPU nodes
ARM: shmobile: r8a7779 dtsi: Add SYSC PM domains
ARM: shmobile: r8a7790 dtsi: Add SYSC PM domains
ARM: shmobile: r8a7791 dtsi: Add SYSC PM domains
ARM: shmobile: r8a7793 dtsi: Add SYSC PM domains
ARM: shmobile: r8a7794 dtsi: Add SYSC PM domains
.../bindings/power/renesas,sysc-rcar.txt | 82 ++++++
arch/arm/boot/dts/r8a7779.dtsi | 48 ++++
arch/arm/boot/dts/r8a7790.dtsi | 193 +++++++++++++
arch/arm/boot/dts/r8a7791.dtsi | 73 +++++
arch/arm/boot/dts/r8a7793.dtsi | 61 +++++
arch/arm/boot/dts/r8a7794.dtsi | 71 +++++
arch/arm/mach-shmobile/pm-rcar.c | 299 +++++++++++++++++++++
7 files changed, 827 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/renesas,sysc-rcar.txt
--
1.9.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the linux-arm-kernel
mailing list