Merge commit 'ee4a8d1396928bad4cbe8b236903aad56682aae0'

* commit 'ee4a8d1396928bad4cbe8b236903aad56682aae0':
  firmware: rockchip_sip: support pvtpll config

Change-Id: I1c2cdb390858a2f80fa7a475b2fcf4c9c7a0571e
This commit is contained in:
Tao Huang
2023-12-20 16:14:42 +08:00
2 changed files with 56 additions and 0 deletions

View File

@@ -283,6 +283,33 @@ struct arm_smccc_res sip_smc_get_amp_info(u32 sub_func_id, u32 arg1)
}
EXPORT_SYMBOL_GPL(sip_smc_get_amp_info);
struct arm_smccc_res sip_smc_get_pvtpll_info(u32 sub_func_id, u32 arg1)
{
struct arm_smccc_res res;
/*
* res.a0: error code(0: success, !0: error).
* res.a1: low temp config flag(0: support, !0: don't support).
*/
arm_smccc_smc(SIP_PVTPLL_CFG, sub_func_id, arg1, 0, 0, 0, 0, 0, &res);
return res;
}
EXPORT_SYMBOL_GPL(sip_smc_get_pvtpll_info);
struct arm_smccc_res sip_smc_pvtpll_config(u32 sub_func_id, u32 arg1, u32 arg2,
u32 arg3, u32 arg4, u32 arg5, u32 arg6)
{
struct arm_smccc_res res;
/*
* res.a0: error code(0: success, !0: error).
*/
arm_smccc_smc(SIP_PVTPLL_CFG, sub_func_id, arg1, arg2, arg3, arg4, arg5,
arg6, &res);
return res;
}
EXPORT_SYMBOL_GPL(sip_smc_pvtpll_config);
void __iomem *sip_hdcp_request_share_memory(int id)
{
static void __iomem *base;

View File

@@ -57,6 +57,7 @@
#define SIP_WDT_CFG 0x82000026
#define SIP_HDMIRX_CFG 0x82000027
#define SIP_MCU_CFG 0x82000028
#define SIP_PVTPLL_CFG 0x82000029
#define TRUSTED_OS_HDCPKEY_INIT 0xB7000003
@@ -226,6 +227,13 @@ enum {
HDMIRX_INFO_NOTIFY = 2,
};
/* SIP_PVTPLL_CFG child configs */
enum {
PVTPLL_GET_INFO = 0,
PVTPLL_ADJUST_TABLE = 1,
PVTPLL_LOW_TEMP = 2,
};
struct pt_regs;
typedef void (*sip_fiq_debugger_uart_irq_tf_cb_t)(struct pt_regs *_pt_regs, unsigned long cpu);
@@ -256,6 +264,9 @@ struct arm_smccc_res sip_smc_bus_config(u32 arg0, u32 arg1, u32 arg2);
struct dram_addrmap_info *sip_smc_get_dram_map(void);
int sip_smc_amp_config(u32 sub_func_id, u32 arg1, u32 arg2, u32 arg3);
struct arm_smccc_res sip_smc_get_amp_info(u32 sub_func_id, u32 arg1);
struct arm_smccc_res sip_smc_get_pvtpll_info(u32 sub_func_id, u32 arg1);
struct arm_smccc_res sip_smc_pvtpll_config(u32 sub_func_id, u32 arg1, u32 arg2,
u32 arg3, u32 arg4, u32 arg5, u32 arg6);
void __iomem *sip_hdcp_request_share_memory(int id);
struct arm_smccc_res sip_hdcp_config(u32 arg0, u32 arg1, u32 arg2);
@@ -365,6 +376,24 @@ static inline struct arm_smccc_res sip_smc_get_amp_info(u32 sub_func_id,
return tmp;
}
static inline struct arm_smccc_res sip_smc_get_pvtpll_info(u32 sub_func_id,
u32 arg1)
{
struct arm_smccc_res tmp = { .a0 = SIP_RET_NOT_SUPPORTED, };
return tmp;
}
static inline struct arm_smccc_res sip_smc_pvtpll_config(u32 sub_func_id,
u32 arg1, u32 arg2,
u32 arg3, u32 arg4,
u32 arg5, u32 arg6)
{
struct arm_smccc_res tmp = { .a0 = SIP_RET_NOT_SUPPORTED, };
return tmp;
}
static inline void __iomem *sip_hdcp_request_share_memory(int id)
{
return NULL;