-
Notifications
You must be signed in to change notification settings - Fork 6.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmake: Fix SOC_FULL_DIR path #69399
cmake: Fix SOC_FULL_DIR path #69399
Conversation
Create SOC_FULL_DIR path based on SOC_FAMILY name which is expected to be of type: vendor[_\-]soc_family. AS this is defined now, for some boards, SOC_FULL_DIR is empty. So, when compiling for Xtensa and I get the following error: ``` Generating ../../../../include/generated/core-isa-dM.h ... xtensa-nxp_imx_adsp_zephyr-elf-gcc: fatal error: no input files compilation terminated. ``` That's because in arch/xtensa/core/CMakeLists.txt we have: COMMAND ${CMAKE_C_COMPILER} -E -dM -U__XCC__ -I${ZEPHYR_XTENSA_MODULE_DIR}/zephyr/soc/${CONFIG_SOC} -I${SOC_FULL_DIR} ${CORE_ISA_IN} -o ${CORE_ISA_DM}) Signed-off-by: Iuliana Prodan <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the variable is not set then you have not set the soc name properly or have a mismatch
Here #69398 I've ported the ADSP (Xtensa arch) from i.MX family.
As you can see SOC_FULL_DIR is empty. |
Then the soc name is wrong, it is not listed in your soc.yml, in fact the reason you are getting an empty variable is actually the indication of the error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SoC name is
mimx8ml8
because based on this name we load the drivers from HAL_NXP or overlays from HAL_Xtensa.
Then why are you using imx8mp
here ?
https://github.com/zephyrproject-rtos/zephyr/blob/b20d48150acc5dd9398aefa579bf523afa51fdee/boards/nxp/mimx8mp_evk/board.yml#L5
you should take a look at the compliance failure in #69398
soc name: imx8mp not found in CONFIG_SOC defaults.
soc name: imx8qm not found in CONFIG_SOC defaults.
soc name: imx8mn not found in CONFIG_SOC defaults.
soc name: imx8ulp not found in CONFIG_SOC defaults.
soc name: imx8mm not found in CONFIG_SOC defaults.
soc name: imx8qxp not found in CONFIG_SOC defaults.
soc name: imx93 not found in CONFIG_SOC defaults.
the Kconfig SOC value must be in sync with the soc name used in soc.yml / board.yml.
So please fix such errors before changing the code in this PR.
Ok, will do. |
I will close this since the problem was the mismatch between the soc name defined in Kconfig and in soc.yml. |
Create SOC_FULL_DIR path based on SOC_FAMILY
name which is expected to be of type:
vendor[_-]soc_family.
AS this is defined now, for some boards,
SOC_FULL_DIR is empty. So, when compiling
for Xtensa and I get the following error:
That's because in arch/xtensa/core/CMakeLists.txt
we have: