pmgr: Expose pmgr_set_mode

For ISP stuff which is not declared in the ADT

Signed-off-by: Hector Martin <marcan@marcan.st>
This commit is contained in:
Hector Martin 2023-09-08 00:04:29 +09:00
parent e1421f6fef
commit ee536f7414
2 changed files with 7 additions and 5 deletions

View file

@ -16,10 +16,6 @@
#define PMGR_PS_ACTUAL GENMASK(7, 4)
#define PMGR_PS_TARGET GENMASK(3, 0)
#define PMGR_PS_ACTIVE 0xf
#define PMGR_PS_CLKGATE 0x4
#define PMGR_PS_PWRGATE 0x0
#define PMGR_POLL_TIMEOUT 10000
#define PMGR_FLAG_VIRTUAL 0x10
@ -67,7 +63,7 @@ static uintptr_t pmgr_get_psreg(u8 idx)
return pmgr_reg + reg_offset;
}
static int pmgr_set_mode(uintptr_t addr, u8 target_mode)
int pmgr_set_mode(uintptr_t addr, u8 target_mode)
{
mask32(addr, PMGR_PS_TARGET, FIELD_PREP(PMGR_PS_TARGET, target_mode));
if (poll32(addr, PMGR_PS_ACTUAL, FIELD_PREP(PMGR_PS_ACTUAL, target_mode), PMGR_POLL_TIMEOUT) <

View file

@ -10,6 +10,10 @@
#define PMGR_DEVICE_ID GENMASK(15, 0)
#define PMGR_DIE_ID GENMASK(31, 28)
#define PMGR_PS_ACTIVE 0xf
#define PMGR_PS_CLKGATE 0x4
#define PMGR_PS_PWRGATE 0x0
int pmgr_init(void);
int pmgr_power_enable(u32 id);
@ -23,6 +27,8 @@ int pmgr_adt_reset(const char *path);
int pmgr_reset(int die, const char *name);
int pmgr_set_mode(uintptr_t addr, u8 target_mode);
u32 pmgr_get_feature(const char *name);
#endif