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 9f55904f4422acf49d8ac2827b62f1bb3832516a..39de7f0e3e054d90198568b2f4e7d3af2910dea6 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 27ecce710fcbb4f3d93b57641bae39c9216b066a..8f546e9b3fc38a702ce96bb5ad715ffd5d1347ef 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);