aboutsummaryrefslogtreecommitdiff
path: root/include/linux/vexpress.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/vexpress.h')
-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;