imx8: scu_api: sync sc_rm_is_pad_owned api change
authorYe Li <ye.li@nxp.com>
Tue, 13 Dec 2022 04:08:02 +0000 (05:08 +0100)
committerStefano Babic <sbabic@denx.de>
Tue, 31 Jan 2023 18:44:23 +0000 (19:44 +0100)
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>
arch/arm/include/asm/arch-imx8/sci/rpc.h
drivers/misc/imx8/scu_api.c

index 9f55904..39de7f0 100644 (file)
@@ -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
 
index 27ecce7..8f546e9 100644 (file)
@@ -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);