aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2012-10-19 21:15:17 -0400
committerJon Medhurst <tixy@linaro.org>2013-04-29 09:43:12 +0100
commit3fb50a7f5e44d850aa6c46b5755bc2b9767184d7 (patch)
treeeb472c6619195d8bc111a703445ee3d59c25dce4 /include
parent9ed7d1a299474c62124c5478f70f86c525914cf1 (diff)
ARM: bulk changes to the spc driver
Picked wholesale in the IKS tree from ARM.
Diffstat (limited to 'include')
-rw-r--r--include/linux/vexpress.h66
1 files changed, 63 insertions, 3 deletions
diff --git a/include/linux/vexpress.h b/include/linux/vexpress.h
index e75f0a3c511..977535236db 100644
--- a/include/linux/vexpress.h
+++ b/include/linux/vexpress.h
@@ -137,18 +137,78 @@ void vexpress_clk_of_init(void);
#define VEXPRESS_SPC_WAKE_INTR_MASK 0xFFF
#ifdef CONFIG_ARM_SPC
+
+extern u32 vexpress_spc_get_clusterid(int cpu_part_no);
+extern u32 vexpress_spc_read_rsthold_reg(int cluster);
+extern u32 vexpress_spc_read_rststat_reg(int cluster);
+extern u32 vexpress_scc_read_rststat(int cluster);
+extern u32 vexpress_spc_get_wake_intr(int raw);
+extern int vexpress_spc_standbywfi_status(int cluster, int cpu);
+extern int vexpress_spc_standbywfil2_status(int cluster);
+extern int vexpress_spc_set_cpu_wakeup_irq(u32 cpu, u32 cluster, u32 set);
+extern int vexpress_spc_set_global_wakeup_intr(u32 set);
extern int vexpress_spc_get_performance(int cluster, int *perf);
extern int vexpress_spc_set_performance(int cluster, int perf);
+extern int vexpress_spc_wfi_cpustat(int cluster);
extern void vexpress_spc_set_wake_intr(u32 mask);
-extern u32 vexpress_spc_get_wake_intr(int raw);
+extern void vexpress_spc_write_bxaddr_reg(int cluster, int cpu, u32 val);
+extern int vexpress_spc_get_nb_cpus(int cluster);
+extern void vexpress_spc_write_rsthold_reg(int cluster, u32 value);
extern void vexpress_spc_powerdown_enable(int cluster, int enable);
extern void vexpress_spc_adb400_pd_enable(int cluster, int enable);
extern void vexpress_spc_wfi_cpureset(int cluster, int cpu, int enable);
-extern int vexpress_spc_wfi_cpustat(int cluster);
extern void vexpress_spc_wfi_cluster_reset(int cluster, int enable);
-extern bool vexpress_spc_check_loaded(void);
extern void vexpress_scc_ctl_snoops(int cluster, int enable);
+extern bool vexpress_spc_check_loaded(void);
#else
+static inline int vexpress_spc_set_cpu_wakeup_irq(u32 cpu, u32 cluster, u32 set)
+{
+ return 0;
+}
+
+static inline int vexpress_spc_set_global_wakeup_intr(u32 set)
+{
+ return 0;
+}
+
+static inline int vexpress_spc_standbywfi_status(int cluster, int cpu)
+{
+ return 0;
+}
+
+static inline int vexpress_spc_standbywfil2_status(int cluster)
+{
+ return 0;
+}
+
+static inline u32 vexpress_spc_get_clusterid(int cpu_part_no)
+{
+ return 0;
+}
+
+static inline u32 vexpress_spc_read_rsthold_reg(int cluster)
+{
+ return 0;
+}
+
+static inline u32 vexpress_spc_read_rststat_reg(int cluster)
+{
+ return 0;
+}
+
+static inline void vexpress_spc_write_bxaddr_reg(int cluster, int cpu, u32 val)
+{
+}
+
+static inline void vexpress_spc_write_rsthold_reg(int cluster, u32 value)
+{
+}
+
+static inline u32 vexpress_scc_read_rststat(int cluster)
+{
+ return 0;
+}
+
static inline int vexpress_spc_get_performance(int cluster, int *perf)
{
return -EINVAL;