firmware: rockchip_sip: support cpu_pm_config

Change-Id: I803f23acc98251743dd5f1e4906492c730320fd9
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
This commit is contained in:
XiaoDong Huang
2025-03-12 19:56:35 +08:00
committed by Tao Huang
parent 2eeed1b87d
commit 67507eac79
2 changed files with 21 additions and 0 deletions

View File

@@ -371,6 +371,15 @@ struct arm_smccc_res sip_smc_gpio_config(u32 sub_func_id, u32 arg1, u32 arg2,
}
EXPORT_SYMBOL_GPL(sip_smc_gpio_config);
int sip_smc_cpu_pm_config(u32 func, u32 id, u32 cfg)
{
struct arm_smccc_res res;
res = __invoke_sip_fn_smc(SIP_CPU_PM_CFG, func, id, cfg);
return res.a0;
}
EXPORT_SYMBOL_GPL(sip_smc_cpu_pm_config);
/************************** fiq debugger **************************************/
/*
* AArch32 is not allowed to call SMC64(ATF framework does not support), so we

View File

@@ -60,6 +60,7 @@
#define SIP_MCU_CFG 0x82000028
#define SIP_PVTPLL_CFG 0x82000029
#define SIP_GPIO_CFG 0x8200002c
#define SIP_CPU_PM_CFG 0x8200002d
#define TRUSTED_OS_HDCPKEY_INIT 0xB7000003
@@ -257,6 +258,11 @@ enum {
GPIO_GET_VIRT_EN = 2,
};
/* SIP_CPU_PM_CFG child configs */
enum {
CPU_PM_CLUST_AUTO_PD_EN = 0,
};
struct pt_regs;
typedef void (*sip_fiq_debugger_uart_irq_tf_cb_t)(struct pt_regs *_pt_regs, unsigned long cpu);
@@ -296,6 +302,7 @@ void __iomem *sip_hdcp_request_share_memory(int id);
struct arm_smccc_res sip_hdcp_config(u32 arg0, u32 arg1, u32 arg2);
struct arm_smccc_res sip_smc_gpio_config(u32 sub_func_id, u32 arg1, u32 arg2,
u32 arg3);
int sip_smc_cpu_pm_config(u32 func, u32 id, u32 cfg);
ulong sip_cpu_logical_map_mpidr(u32 cpu);
/***************************fiq debugger **************************************/
void sip_fiq_debugger_enable_fiq(bool enable, uint32_t tgt_cpu);
@@ -447,6 +454,11 @@ static inline struct arm_smccc_res sip_smc_gpio_config(u32 sub_func_id, u32 arg1
return tmp;
}
static inline int sip_smc_cpu_pm_config(u32 func, u32 id, u32 cfg)
{
return SIP_RET_NOT_SUPPORTED;
}
static inline ulong sip_cpu_logical_map_mpidr(u32 cpu) { return 0; }
/***************************fiq debugger **************************************/