IMX95: BSP imx-6.6.52-2.2.0 does not compile due to error in imx-atf_2.10

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX95: BSP imx-6.6.52-2.2.0 does not compile due to error in imx-atf_2.10

452 Views
mthenault
Contributor III

Hello, I am trying to build bsp imx-6.6.52-2.2.0 with yocto

This selection of layers do no build:
https://github.com/nxp-imx/imx-manifest/blob/imx-linux-scarthgap/imx-6.6.52-2.2.0.xml

due to an obvious bug in imx-atf_2.10

meta-imx revision "refs/tags/rel_imx_6.6.52_2.2.0" leads to imx-atf SRCREV 1b27ee3edbb40ef9432c69ccaa744d1ac5d54c5d

Error during build is:

 

drivers/arm/css/scmi/vendor/scmi_imx9.c: In function 'scmi_lmm_boot':
| drivers/arm/css/scmi/vendor/scmi_imx9.c:69:16: error: 'token' undeclared (first use in this function)
| 69 | assert(token == SCMI_MSG_GET_TOKEN(mbx_mem->msg_header));
| | ^~~~~
| include/lib/libc/assert.h:20:27: note: in definition of macro 'assert'
| 20 | # define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__))
| | ^
| drivers/arm/css/scmi/vendor/scmi_imx9.c:69:16: note: each undeclared identifier is reported only once for each function it appears in
| 69 | assert(token == SCMI_MSG_GET_TOKEN(mbx_mem->msg_header));
| | ^~~~~
| include/lib/libc/assert.h:20:27: note: in definition of macro 'assert'
| 20 | # define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__))
| | ^
| CC drivers/arm/gic/v3/gic-x00.c

The error is easy to debug since there is a missing declaration of the "token" variable in function scmi_lmm_boot

0 Kudos
Reply
2 Replies

420 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

I was able to build succesfully on my side, please try by updating the packages in your host pc.

Best regards/Saludos,
Aldo.

0 Kudos
Reply

397 Views
mthenault
Contributor III

I had to patch the recipe to declare the missing token variable to get it to build

--- a/drivers/arm/css/scmi/vendor/scmi_imx9.c
+++ b/drivers/arm/css/scmi/vendor/scmi_imx9.c
@@ -46,6 +46,7 @@ int scmi_lmm_shutdown(void *p, uint32_t lm_id, uint32_t flags)
int scmi_lmm_boot(void *p, uint32_t lm_id)
{
mailbox_mem_t *mbx_mem;
+ unsigned int token = 0;
int ret;
scmi_channel_t *ch = (scmi_channel_t *)p;

0 Kudos
Reply