Skip to contentSkip to conversation

cpuidle: Renesas SCU Core Shutdown CPUIdle driver

PATCH New Magnus Damm 1 participant 1 message Sep 14, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 cpuidle: Renesas SCU Core Shutdown CPUIdle driver

From: Magnus Damm <[email protected]>

CPUIdle prototype support for SCU based SoCs from Renesas, currently tested on sh73a0 with Core Shutdown mode.

The Core Shutdown mode will turn off the power domain for the CPU core, and resume will happen from the reset vector.

At this point SMP operation is somewhat working, but there are known issues with for instance CPU Hotplug. If CPU Hotplug is used in parallel with CPUIdle then the resume path breaks.

Future work include CPU Hotplug code sharing and cache handling.

Not-yet-Signed-off-by Magnus Damm <[email protected]>

---

 drivers/cpuidle/Kconfig               |    6 +++
 drivers/cpuidle/Makefile              |    1 
 drivers/cpuidle/cpuidle-renesas-scu.c |   66 +++++++++++++++++++++++++++++++++
 3 files changed, 73 insertions(+)
drivers/cpuidle/Kconfig +6 -0
@@ -36,6 +36,12 @@ config CPU_IDLE_CALXEDA
 	help
 	  Select this to enable cpuidle on Calxeda processors.
 
+config CPU_IDLE_RENESAS_SCU
+	bool "CPU Idle Driver for Renesas SoCs using SCU"
+	select ARM_CPU_SUSPEND
+	help
+	  Select this to enable cpuidle on Renesas SoCs with SCU.
+
 config CPU_IDLE_ZYNQ
 	bool "CPU Idle Driver for Xilinx Zynq processors"
 	depends on ARCH_ZYNQ
drivers/cpuidle/Makefile +1 -0
@@ -6,5 +6,6 @@ obj-y += cpuidle.o driver.o governor.o s
 obj-$(CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED) += coupled.o
 
 obj-$(CONFIG_CPU_IDLE_CALXEDA) += cpuidle-calxeda.o
+obj-$(CONFIG_CPU_IDLE_RENESAS_SCU) += cpuidle-renesas-scu.o
 obj-$(CONFIG_ARCH_KIRKWOOD) += cpuidle-kirkwood.o
 obj-$(CONFIG_CPU_IDLE_ZYNQ) += cpuidle-zynq.o
drivers/cpuidle/cpuidle-renesas-scu.c new file +66 -0

66 lines not on this page · raw message