xtensa-build-zephyr.py: upgraded Xtensa toolchain for MTL

Intel Meteorlake release toolchain is Xtensa RI-2022.10 version.
New toolchain does not support xt-xcc driver anymore so we are
forced to switch to new xt-clang driver.
To distinguish between default driver for the platform built,
(Xtensa GCC or Clang) added new field to script platform list
containing a toolchain name "xcc" or "xcc-clang" expected by
Zephyr project.

Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
This commit is contained in:
Andrey Borisovich 2023-02-01 22:34:01 +01:00 committed by Liam Girdwood
parent ec974a881f
commit 309fa264e2
1 changed files with 15 additions and 7 deletions

View File

@ -76,25 +76,29 @@ platform_list = [
"name": "apl", "name": "apl",
"PLAT_CONFIG": "intel_adsp_cavs15", "PLAT_CONFIG": "intel_adsp_cavs15",
"XTENSA_CORE": "X4H3I16w2D48w3a_2017_8", "XTENSA_CORE": "X4H3I16w2D48w3a_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}" "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc"
}, },
{ {
"name": "cnl", "name": "cnl",
"PLAT_CONFIG": "intel_adsp_cavs18", "PLAT_CONFIG": "intel_adsp_cavs18",
"XTENSA_CORE": "X6H3CNL_2017_8", "XTENSA_CORE": "X6H3CNL_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}" "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc"
}, },
{ {
"name": "icl", "name": "icl",
"PLAT_CONFIG": "intel_adsp_cavs20", "PLAT_CONFIG": "intel_adsp_cavs20",
"XTENSA_CORE": "X6H3CNL_2017_8", "XTENSA_CORE": "X6H3CNL_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}" "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc"
}, },
{ {
"name": "jsl", "name": "jsl",
"PLAT_CONFIG": "intel_adsp_cavs20_jsl", "PLAT_CONFIG": "intel_adsp_cavs20_jsl",
"XTENSA_CORE": "X6H3CNL_2017_8", "XTENSA_CORE": "X6H3CNL_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}" "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc"
}, },
{ {
"name": "tgl", "name": "tgl",
@ -103,6 +107,7 @@ platform_list = [
"IPC4_RIMAGE_DESC": "tgl-cavs.toml", "IPC4_RIMAGE_DESC": "tgl-cavs.toml",
"XTENSA_CORE": "cavs2x_LX6HiFi3_2017_8", "XTENSA_CORE": "cavs2x_LX6HiFi3_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}", "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc",
"RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem") "RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem")
}, },
{ {
@ -112,13 +117,15 @@ platform_list = [
"IPC4_RIMAGE_DESC": "tgl-h-cavs.toml", "IPC4_RIMAGE_DESC": "tgl-h-cavs.toml",
"XTENSA_CORE": "cavs2x_LX6HiFi3_2017_8", "XTENSA_CORE": "cavs2x_LX6HiFi3_2017_8",
"XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}", "XTENSA_TOOLS_VERSION": f"RG-2017.8{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xcc",
"RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem") "RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem")
}, },
{ {
"name": "mtl", "name": "mtl",
"PLAT_CONFIG": "intel_adsp_ace15_mtpm", "PLAT_CONFIG": "intel_adsp_ace15_mtpm",
"XTENSA_CORE": "ace10_LX7HiFi4_RI_2020_5", "XTENSA_CORE": "ace10_LX7HiFi4_2022_10",
"XTENSA_TOOLS_VERSION": f"RI-2020.5{xtensa_tools_version_postfix}", "XTENSA_TOOLS_VERSION": f"RI-2022.10{xtensa_tools_version_postfix}",
"DEFAULT_TOOLCHAIN_VARIANT": "xt-clang",
"RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem") "RIMAGE_KEY": pathlib.Path(SOF_TOP, "keys", "otc_private_key_3k.pem")
}, },
# NXP platforms # NXP platforms
@ -542,7 +549,8 @@ def build_platforms():
"or is not a directory") "or is not a directory")
# set variables expected by zephyr/cmake/toolchain/xcc/generic.cmake # set variables expected by zephyr/cmake/toolchain/xcc/generic.cmake
os.environ["ZEPHYR_TOOLCHAIN_VARIANT"] = "xcc" os.environ["ZEPHYR_TOOLCHAIN_VARIANT"] = os.environ.get("ZEPHYR_TOOLCHAIN_VARIANT",
platform_dict["DEFAULT_TOOLCHAIN_VARIANT"])
XTENSA_TOOLCHAIN_PATH = str(pathlib.Path(xtensa_tools_root_dir, "install", XTENSA_TOOLCHAIN_PATH = str(pathlib.Path(xtensa_tools_root_dir, "install",
"tools").absolute()) "tools").absolute())
os.environ["XTENSA_TOOLCHAIN_PATH"] = XTENSA_TOOLCHAIN_PATH os.environ["XTENSA_TOOLCHAIN_PATH"] = XTENSA_TOOLCHAIN_PATH