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);
40 int rockchip_cpu_kill(unsigned int cpu);
41 void rockchip_cpu_die(unsigned int cpu);
42 int rockchip_cpu_disable(unsigned int cpu);
44 #define BOOT_MODE_NORMAL 0
45 #define BOOT_MODE_FACTORY2 1
46 #define BOOT_MODE_RECOVERY 2
47 #define BOOT_MODE_CHARGE 3
48 #define BOOT_MODE_POWER_TEST 4
49 #define BOOT_MODE_OFFMODE_CHARGING 5
50 #define BOOT_MODE_REBOOT 6
51 #define BOOT_MODE_PANIC 7
52 #define BOOT_MODE_WATCHDOG 8
53 #define BOOT_MODE_TSADC 9
55 int rockchip_boot_mode(void);
56 void __init rockchip_boot_mode_init(u32 flag, u32 mode);
57 void rockchip_restart_get_boot_mode(const char *cmd, u32 *flag, u32 *mode);
58 void __init rockchip_efuse_init(void);
59 void __init rockchip_suspend_init(void);
60 void __init rockchip_ion_reserve(void);
61 void __init rockchip_uboot_mem_reserve(void);
63 enum rockchip_pm_policy {
64 ROCKCHIP_PM_POLICY_PERFORMANCE = 0,
65 ROCKCHIP_PM_POLICY_NORMAL,
66 ROCKCHIP_PM_POLICY_POWERSAVE,
67 ROCKCHIP_PM_NR_POLICYS,
70 enum rockchip_pm_policy rockchip_pm_get_policy(void);
71 int rockchip_pm_set_policy(enum rockchip_pm_policy policy);
72 int rockchip_pm_policy_register_notifier(struct notifier_block *nb);
73 int rockchip_pm_policy_unregister_notifier(struct notifier_block *nb);
75 int rockchip_register_system_status_notifier(struct notifier_block *nb);
76 int rockchip_unregister_system_status_notifier(struct notifier_block *nb);
77 int rockchip_set_system_status(unsigned long status);
78 int rockchip_clear_system_status(unsigned long status);
79 unsigned long rockchip_get_system_status(void);
80 u32 pvtm_get_value(u32 ch, u32 time_us);
82 #define INVALID_TEMP INT_MAX
83 #if IS_ENABLED(CONFIG_SENSORS_ROCKCHIP_TSADC)
84 int rockchip_tsadc_get_temp(int chn);
86 static inline int rockchip_tsadc_get_temp(int chn) { return INVALID_TEMP; }
89 #ifdef CONFIG_RK_LAST_LOG
90 void rk_last_log_text(char *text, size_t size);
92 static inline void rk_last_log_text(char *text, size_t size) {}