1 #ifndef __MACH_ROCKCHIP_COMMON_H
2 #define __MACH_ROCKCHIP_COMMON_H
4 #include <linux/notifier.h>
6 #define RK_DEVICE(VIRT, PHYS, SIZE) \
8 .virtual = (unsigned long)(VIRT), \
9 .pfn = __phys_to_pfn(PHYS), \
14 extern bool rockchip_jtag_enabled;
15 extern unsigned long rockchip_boot_fn;
16 extern struct smp_operations rockchip_smp_ops;
34 extern void (*ddr_bandwidth_get)(struct ddr_bw_info *ddr_bw_ch0,
35 struct ddr_bw_info *ddr_bw_ch1);
36 extern int (*ddr_change_freq)(uint32_t mhz);
37 extern long (*ddr_round_rate)(uint32_t mhz);
38 extern void (*ddr_set_auto_self_refresh)(bool en);
39 extern int (*ddr_recalc_rate)(void);
41 int rockchip_cpu_kill(unsigned int cpu);
42 void rockchip_cpu_die(unsigned int cpu);
43 int rockchip_cpu_disable(unsigned int cpu);
45 #define BOOT_MODE_NORMAL 0
46 #define BOOT_MODE_FACTORY2 1
47 #define BOOT_MODE_RECOVERY 2
48 #define BOOT_MODE_CHARGE 3
49 #define BOOT_MODE_POWER_TEST 4
50 #define BOOT_MODE_OFFMODE_CHARGING 5
51 #define BOOT_MODE_REBOOT 6
52 #define BOOT_MODE_PANIC 7
53 #define BOOT_MODE_WATCHDOG 8
54 #define BOOT_MODE_TSADC 9
56 int rockchip_boot_mode(void);
57 void __init rockchip_boot_mode_init(u32 flag, u32 mode);
58 void rockchip_restart_get_boot_mode(const char *cmd, u32 *flag, u32 *mode);
59 void __init rockchip_efuse_init(void);
60 void __init rockchip_suspend_init(void);
61 void __init rockchip_ion_reserve(void);
62 void __init rockchip_uboot_mem_reserve(void);
64 enum rockchip_pm_policy {
65 ROCKCHIP_PM_POLICY_PERFORMANCE = 0,
66 ROCKCHIP_PM_POLICY_NORMAL,
67 ROCKCHIP_PM_POLICY_POWERSAVE,
68 ROCKCHIP_PM_NR_POLICYS,
71 enum rockchip_pm_policy rockchip_pm_get_policy(void);
72 int rockchip_pm_set_policy(enum rockchip_pm_policy policy);
73 int rockchip_pm_policy_register_notifier(struct notifier_block *nb);
74 int rockchip_pm_policy_unregister_notifier(struct notifier_block *nb);
76 int rockchip_register_system_status_notifier(struct notifier_block *nb);
77 int rockchip_unregister_system_status_notifier(struct notifier_block *nb);
78 int rockchip_set_system_status(unsigned long status);
79 int rockchip_clear_system_status(unsigned long status);
80 unsigned long rockchip_get_system_status(void);
81 u32 pvtm_get_value(u32 ch, u32 time_us);
83 #define INVALID_TEMP INT_MAX
84 #if IS_ENABLED(CONFIG_ROCKCHIP_THERMAL)
85 int rockchip_tsadc_get_temp(int chn, int voltage);
87 #if IS_ENABLED(CONFIG_SENSORS_ROCKCHIP_TSADC)
88 int rockchip_tsadc_get_temp(int chn);
90 static inline int rockchip_tsadc_get_temp(int chn) { return INVALID_TEMP; }
94 #ifdef CONFIG_RK_LAST_LOG
95 void rk_last_log_text(char *text, size_t size);
97 static inline void rk_last_log_text(char *text, size_t size) {}