mailbox: rk3368: add mailbox and scpi function
[firefly-linux-kernel-4.4.55.git] / include / linux / rockchip / scpi.h
index c57df9759ea5252cf41db8b4fdf418ca913e8e56..468a35095c132e9914ee8dacad7803b59e3d0967 100644 (file)
@@ -2,6 +2,7 @@
  * SCPI Message Protocol driver header
  *
  * Copyright (C) 2014 ARM Ltd.
+ * Copyright (C) 2014, Fuzhou Rockchip Electronics Co., Ltd
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms and conditions of the GNU General Public License,
@@ -18,6 +19,7 @@
 #include <linux/types.h>
 #include <linux/rockchip/common.h>
 
+#ifdef CONFIG_RK3368_SCPI_PROTOCOL
 struct scpi_opp_entry {
        u32 freq_hz;
        u32 volt_mv;
@@ -36,7 +38,7 @@ int scpi_dvfs_set_idx(u8 domain, u8 idx);
 struct scpi_opp *scpi_dvfs_get_opps(u8 domain);
 int scpi_get_sensor(char *name);
 int scpi_get_sensor_value(u16 sensor, u32 *val);
-
+int scpi_sys_set_jtagmux_on_off(u32 en);
 int scpi_sys_set_mcu_state_suspend(void);
 int scpi_sys_set_mcu_state_resume(void);
 
@@ -51,3 +53,101 @@ int scpi_ddr_bandwidth_get(struct ddr_bw_info *ddr_bw_ch0,
 int scpi_ddr_get_clk_rate(void);
 int scpi_thermal_get_temperature(void);
 int scpi_thermal_set_clk_cycle(u32 cycle);
+#else
+static inline unsigned long scpi_clk_get_val(u16 clk_id)
+{
+       return -EPERM;
+}
+
+static inline int scpi_clk_set_val(u16 clk_id, unsigned long rate)
+{
+       return -EPERM;
+}
+
+static inline int scpi_dvfs_get_idx(u8 domain)
+{
+       return -EPERM;
+}
+
+static inline int scpi_dvfs_set_idx(u8 domain, u8 idx)
+{
+       return -EPERM;
+}
+
+static inline struct scpi_opp *scpi_dvfs_get_opps(u8 domain)
+{
+       return ERR_PTR(-EPERM);
+}
+
+static inline int scpi_get_sensor(char *name)
+{
+       return -EPERM;
+}
+
+static inline int scpi_get_sensor_value(u16 sensor, u32 *val)
+{
+       return -EPERM;
+}
+
+static int scpi_sys_set_jtagmux_on_off(u32 en)
+{
+       return -EPERM;
+}
+
+static inline int scpi_sys_set_mcu_state_suspend(void)
+{
+       return -EPERM;
+}
+
+static inline int scpi_sys_set_mcu_state_resume(void)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_init(u32 dram_speed_bin, u32 freq, u32 lcdc_type,
+                               u32 addr_mcu_el3)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_set_clk_rate(u32 rate, u32 lcdc_type)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_send_timing(u32 *p, u32 size)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_round_rate(u32 m_hz)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_set_auto_self_refresh(u32 en)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_bandwidth_get(struct ddr_bw_info *ddr_bw_ch0,
+                                        struct ddr_bw_info *ddr_bw_ch1)
+{
+       return -EPERM;
+}
+
+static inline int scpi_ddr_get_clk_rate(void)
+{
+       return -EPERM;
+}
+
+static inline int scpi_thermal_get_temperature(void)
+{
+       return -EPERM;
+}
+
+static inline int scpi_thermal_set_clk_cycle(u32 cycle)
+{
+       return -EPERM;
+}
+#endif