lineage_kernel_xcoverpro/drivers/soc/samsung/cal-if/pmucal_local.h

48 lines
1.2 KiB
C
Raw Normal View History

2023-06-18 22:53:49 +00:00
#ifndef __PMUCAL_LOCAL_H__
#define __PMUCAL_LOCAL_H__
#include "pmucal_common.h"
/* In Exynos, the number of MAX_POWER_DOMAIN is less than 20 */
#define PMUCAL_NUM_PDS 20
/* will be a member of struct exynos_pm_domain */
struct pmucal_pd {
u32 id;
char *name;
struct pmucal_seq *on;
struct pmucal_seq *save;
struct pmucal_seq *off;
struct pmucal_seq *status;
u32 num_on;
u32 num_save;
u32 num_off;
u32 num_status;
u32 need_smc;
};
#define PMUCAL_PD_DESC(_pd_id, _name, _on, _save, _off, _status) \
[_pd_id] = { \
.id = _pd_id, \
.name = _name, \
.on = _on, \
.save = _save, \
.off = _off, \
.status = _status, \
.num_on = ARRAY_SIZE(_on), \
.num_save = ARRAY_SIZE(_save), \
.num_off = ARRAY_SIZE(_off), \
.num_status = ARRAY_SIZE(_status), \
.need_smc = 0, \
}
/* APIs to be supported to PWRCAL interface */
extern int pmucal_local_enable(unsigned int pd_id);
extern int pmucal_local_disable(unsigned int pd_id);
extern int pmucal_local_is_enabled(unsigned int pd_id);
extern int pmucal_local_init(void);
extern void pmucal_local_set_smc_id(unsigned int pd_id, unsigned int need_smc);
extern struct pmucal_pd pmucal_pd_list[];
extern unsigned int pmucal_pd_list_size;
#endif