From ea08eeccae9297f7aabd2ef7f0c2517ac4549acc Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 20 Feb 2024 01:18:26 +0000
Subject: [PATCH] write in 30M
---
kernel/drivers/firmware/rockchip_sip.c | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/kernel/drivers/firmware/rockchip_sip.c b/kernel/drivers/firmware/rockchip_sip.c
index 186011f..e483899 100644
--- a/kernel/drivers/firmware/rockchip_sip.c
+++ b/kernel/drivers/firmware/rockchip_sip.c
@@ -283,6 +283,33 @@
}
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;
@@ -627,6 +654,16 @@
}
EXPORT_SYMBOL_GPL(sip_hdcpkey_init);
+int sip_smc_mcu_config(unsigned long mcu_id,
+ unsigned long func,
+ unsigned long arg2)
+{
+ struct arm_smccc_res res;
+
+ res = __invoke_sip_fn_smc(SIP_MCU_CFG, mcu_id, func, arg2);
+ return res.a0;
+}
+EXPORT_SYMBOL_GPL(sip_smc_mcu_config);
/******************************************************************************/
#ifdef CONFIG_ARM
static __init int sip_firmware_init(void)
--
Gitblit v1.6.2