aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2022-12-13 05:08:02 +0100
committerStefano Babic <sbabic@denx.de>2023-01-31 19:44:23 +0100
commit7246ec19345a07befaabcde1cbf38ad78d0c1c8d (patch)
treed6e73a630ea1ad58febcdcfb3363c6bd136cafc1
parent6dac63adca4bfef791426ff9208078ab3e7105eb (diff)
downloadu-boot-7246ec19345a07befaabcde1cbf38ad78d0c1c8d.zip
u-boot-7246ec19345a07befaabcde1cbf38ad78d0c1c8d.tar.gz
u-boot-7246ec19345a07befaabcde1cbf38ad78d0c1c8d.tar.bz2
imx8: scu_api: sync sc_rm_is_pad_owned api change
SCFW has fixed a overflow issue in sc_rm_is_pad_owned API. This requires u-boot to update API implementation, since it will cause compatible issue. Otherwise all pad checking will have problem and cause pad setting not continue. Due to the compatible issue, the new u-boot only works with new SCFW (API version: 1.21 and later). old scfw + old u-boot: API overflow issue old scfw + new u-boot, or new scfw + old u-boot: API compatible issue new scfw + new u-boot: Working Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by : Jason Liu <Jason.hui.liu@nxp.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--arch/arm/include/asm/arch-imx8/sci/rpc.h2
-rw-r--r--drivers/misc/imx8/scu_api.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/include/asm/arch-imx8/sci/rpc.h b/arch/arm/include/asm/arch-imx8/sci/rpc.h
index 9f55904..39de7f0 100644
--- a/arch/arm/include/asm/arch-imx8/sci/rpc.h
+++ b/arch/arm/include/asm/arch-imx8/sci/rpc.h
@@ -11,7 +11,7 @@
/* Defines */
#define SCFW_API_VERSION_MAJOR 1U
-#define SCFW_API_VERSION_MINOR 15U
+#define SCFW_API_VERSION_MINOR 21U
#define SC_RPC_VERSION 1U
diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c
index 27ecce7..8f546e9 100644
--- a/drivers/misc/imx8/scu_api.c
+++ b/drivers/misc/imx8/scu_api.c
@@ -788,7 +788,7 @@ sc_bool_t sc_rm_is_pad_owned(sc_ipc_t ipc, sc_pad_t pad)
RPC_VER(&msg) = SC_RPC_VERSION;
RPC_SVC(&msg) = (u8)SC_RPC_SVC_RM;
RPC_FUNC(&msg) = (u8)RM_FUNC_IS_PAD_OWNED;
- RPC_U8(&msg, 0U) = (u8)pad;
+ RPC_U16(&msg, 0U) = (u16)pad;
RPC_SIZE(&msg) = 2U;
ret = misc_call(dev, SC_FALSE, &msg, size, &msg, size);