linux-uconsole/include/linux/rockchip/common.h
zhangqing 9f7e4c2ef6 rk3368: clk: clk_add_recalc_ddr_freq.
Get ddr frequency correctly.

Signed-off-by: zhangqing <zhangqing@rock-chips.com>
2015-04-03 06:54:08 -07:00

100 lines
2.8 KiB
C

#ifndef __MACH_ROCKCHIP_COMMON_H
#define __MACH_ROCKCHIP_COMMON_H
#include <linux/notifier.h>
#define RK_DEVICE(VIRT, PHYS, SIZE) \
{ \
.virtual = (unsigned long)(VIRT), \
.pfn = __phys_to_pfn(PHYS), \
.length = SIZE, \
.type = MT_DEVICE, \
}
extern bool rockchip_jtag_enabled;
extern unsigned long rockchip_boot_fn;
extern struct smp_operations rockchip_smp_ops;
struct ddr_bw_info {
u32 ddr_wr;
u32 ddr_rd;
u32 ddr_act;
u32 ddr_time;
u32 ddr_total;
u32 ddr_percent;
u32 cpum;
u32 gpu;
u32 peri;
u32 video;
u32 vio0;
u32 vio1;
u32 vio2;
};
extern void (*ddr_bandwidth_get)(struct ddr_bw_info *ddr_bw_ch0,
struct ddr_bw_info *ddr_bw_ch1);
extern int (*ddr_change_freq)(uint32_t mhz);
extern long (*ddr_round_rate)(uint32_t mhz);
extern void (*ddr_set_auto_self_refresh)(bool en);
extern int (*ddr_recalc_rate)(void);
int rockchip_cpu_kill(unsigned int cpu);
void rockchip_cpu_die(unsigned int cpu);
int rockchip_cpu_disable(unsigned int cpu);
#define BOOT_MODE_NORMAL 0
#define BOOT_MODE_FACTORY2 1
#define BOOT_MODE_RECOVERY 2
#define BOOT_MODE_CHARGE 3
#define BOOT_MODE_POWER_TEST 4
#define BOOT_MODE_OFFMODE_CHARGING 5
#define BOOT_MODE_REBOOT 6
#define BOOT_MODE_PANIC 7
#define BOOT_MODE_WATCHDOG 8
#define BOOT_MODE_TSADC 9
int rockchip_boot_mode(void);
void __init rockchip_boot_mode_init(u32 flag, u32 mode);
void rockchip_restart_get_boot_mode(const char *cmd, u32 *flag, u32 *mode);
void __init rockchip_efuse_init(void);
void __init rockchip_suspend_init(void);
void __init rockchip_ion_reserve(void);
void __init rockchip_uboot_mem_reserve(void);
enum rockchip_pm_policy {
ROCKCHIP_PM_POLICY_PERFORMANCE = 0,
ROCKCHIP_PM_POLICY_NORMAL,
ROCKCHIP_PM_POLICY_POWERSAVE,
ROCKCHIP_PM_NR_POLICYS,
};
enum rockchip_pm_policy rockchip_pm_get_policy(void);
int rockchip_pm_set_policy(enum rockchip_pm_policy policy);
int rockchip_pm_policy_register_notifier(struct notifier_block *nb);
int rockchip_pm_policy_unregister_notifier(struct notifier_block *nb);
int rockchip_register_system_status_notifier(struct notifier_block *nb);
int rockchip_unregister_system_status_notifier(struct notifier_block *nb);
int rockchip_set_system_status(unsigned long status);
int rockchip_clear_system_status(unsigned long status);
unsigned long rockchip_get_system_status(void);
u32 pvtm_get_value(u32 ch, u32 time_us);
#define INVALID_TEMP INT_MAX
#if IS_ENABLED(CONFIG_ROCKCHIP_THERMAL)
int rockchip_tsadc_get_temp(int chn, int voltage);
#else
#if IS_ENABLED(CONFIG_SENSORS_ROCKCHIP_TSADC)
int rockchip_tsadc_get_temp(int chn);
#else
static inline int rockchip_tsadc_get_temp(int chn) { return INVALID_TEMP; }
#endif
#endif
#ifdef CONFIG_RK_LAST_LOG
void rk_last_log_text(char *text, size_t size);
#else
static inline void rk_last_log_text(char *text, size_t size) {}
#endif
#endif