[master][PATCH v2] ti-cgt-pru: Update to version 2.3.3
Signed-off-by: Alessio Igor Bogani <alessio.bogani@...> --- .../devtools/{ti-cgt-pru_2.3.2.bb => ti-cgt-pru_2.3.3.bb} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename meta-ti-extras/recipes-ti/devtools/{ti-cgt-pru_2.3.2.bb => ti-cgt-pru_2.3.3.bb} (82%) diff --git a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb b/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.3.bb similarity index 82% rename from meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb rename to meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.3.bb index 8b3e2a07..c96113fe 100644 --- a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb +++ b/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.3.bb @@ -18,11 +18,11 @@ BINFILE_NAME:class-target = "cgt-pru-arm" SRC_URI = " http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/${PV}/${BINFILE};name=${BINFILE_NAME}" -SRC_URI[cgt-pru-x86.md5sum] = "270a0ecca383f66cad3a0e2a738c6ab0" -SRC_URI[cgt-pru-x86.sha256sum] = "af1178a059d46d67d5672df053dd2fbebb0b89a513b17b8739dbe915b4a5d71a" +SRC_URI[cgt-pru-x86.md5sum] = "abb76fac986993aafaf467915985ec4f" +SRC_URI[cgt-pru-x86.sha256sum] = "1f1405167214f2c0ef848591b17a7799fdcd9f55f11bc90db9ace3490d426215" -SRC_URI[cgt-pru-arm.md5sum] = "fbf10083af1b0e5d69b018126603bb58" -SRC_URI[cgt-pru-arm.sha256sum] = "75ac84775a5624ea7e4fad4efc1acb7e869c79160550d48ba780068a3dce879c" +SRC_URI[cgt-pru-arm.md5sum] = "648a6d7d8162fd6a89f381c7b974e6b0" +SRC_URI[cgt-pru-arm.sha256sum] = "8390cb77b46b728ce2940595b81406f76d86dfed58c21258e3206a7c1232ccf2" do_install() { install -d ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE} -- 2.17.1
|
|
Re: [master][PATCH] ti-cgt-pru: Update to version 2.3.3
On 3/30/2022 5:44 AM, Alessio Igor Bogani wrote: Signed-off-by: Alessio Igor Bogani <alessio.bogani@...> --- .../recipes-ti/devtools/ti-cgt-pru_2.3.2.bb | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb How does this patch update to 2.3.3 if all it does is delete the only recipe for ti-cgt-pru? Are you missing the addition of the new receipe for 2.3.3? diff --git a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb b/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb deleted file mode 100644 index 8b3e2a07..00000000 --- a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb +++ /dev/null @@ -1,49 +0,0 @@ -DESCRIPTION = "TI PRU Code Generation Tools" -HOMEPAGE = "https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm" -LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Hewlett-Packard & AFL-3.0 & MIT & BSD-2-Clause & PD" - -LIC_FILES_CHKSUM = "file://ti-cgt-pru_${PV}/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" -LIC_FILES_CHKSUM:class-target = "file://usr/share/doc/ti/cgt-pru/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" - -require recipes-ti/includes/ti-paths.inc -require recipes-ti/includes/ti-unpack.inc - -BINFILE = "ti_cgt_pru_${PV}_linux_installer_x86.bin" -BINFILE_NAME = "cgt-pru-x86" -TI_BIN_UNPK_ARGS = "--prefix ${S}" -TI_BIN_UNPK_CMDS = "" - -BINFILE:class-target = "ti_cgt_pru_${PV}_armlinuxa8hf_busybox_installer.sh" -BINFILE_NAME:class-target = "cgt-pru-arm" - -SRC_URI = "http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/${PV}/${BINFILE};name=${BINFILE_NAME}" - -SRC_URI[cgt-pru-x86.md5sum] = "270a0ecca383f66cad3a0e2a738c6ab0" -SRC_URI[cgt-pru-x86.sha256sum] = "af1178a059d46d67d5672df053dd2fbebb0b89a513b17b8739dbe915b4a5d71a" - -SRC_URI[cgt-pru-arm.md5sum] = "fbf10083af1b0e5d69b018126603bb58" -SRC_URI[cgt-pru-arm.sha256sum] = "75ac84775a5624ea7e4fad4efc1acb7e869c79160550d48ba780068a3dce879c" - -do_install() { - install -d ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE} - cp -r ${S}/ti-cgt-pru_${PV}/. \ - ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE}/ -} - -do_install:class-target() { - ${WORKDIR}/${BINFILE} --prefix ${D} -} - -FILES:${PN} += "${datadir}/ti/*" - -FILES:${PN}-dbg = "${TI_CGT_PRU_INSTALL_DIR_RECIPE}/bin/.debug \ - ${TI_CGT_PRU_INSTALL_DIR_RECIPE}/lib/.debug \ -" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_SYSROOT_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -INSANE_SKIP:${PN} += "arch staticdev already-stripped file-rdeps" - -BBCLASSEXTEND = "native nativesdk"
-- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
Re: [dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
On 3/29/2022 6:26 PM, Denys Dmytriyenko wrote: On Tue, Mar 29, 2022 at 04:48:43PM -0500, Etheridge, Darren wrote:
On 3/25/2022 5:36 PM, Andrew Davis wrote:
On 3/25/22 5:30 PM, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 5:06 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:54:56PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 4:38 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
Migrate Imagination DDK 1.13 to DDK 1.15 for J721e Overall looks good, please see inline below.
Signed-off-by: Darren Etheridge <detheridge@...> ---
rename from recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb rename to recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb index a05de0f2..fbff6c51 100644 --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb @@ -7,17 +7,17 @@ inherit module features_check  REQUIRED_MACHINE_FEATURES = "gpu" -MACHINE_KERNEL_PR_append = "b" +MACHINE_KERNEL_PR_append = "a"  PR = "${MACHINE_KERNEL_PR}"  PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "j7" +COMPATIBLE_MACHINE = "j7-evm|j721s2-evm|am62xx"  DEPENDS = "virtual/kernel"  PROVIDES = "virtual/gpudriver" -BRANCH = "1.13-5776728/linux-k5.10" +BRANCH = "linuxws/dunfell/k5.10/${PV}"  SRC_URI = " \ git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \ @@ -26,15 +26,19 @@ SRC_URI = " \  S = "${WORKDIR}/git" -SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84" +SRCREV = "ee0674adccac16f5b2f7cb8d5d05948706080cb5" -PVR_SOC = "j721e_linux" I was actually thinking of keeping PVR_SOC variable and moving it to corresponding machine configs.
PVR_SOC is a bit of a legacy name, especially since PVR is now IMG. PVR or PowerVR name is still used as an overall umbrella for all of Imagination's graphics, vision and AI chips, including SGX and Rogue/RGX: https://en.wikipedia.org/wiki/PowerVR
On the wiki page:
These GPUs are no longer called PowerVR, they are called IMG.[58] For their next gen GPUs they are distancing themselves from the PVR name, the GPU in AM62xx is one such next gen GPU, so it's already not correct here as is. So, then why AM62xx is being added to Rogue driver/DDK? Should there be a separate Albiorix driver and DDK then?
We asked IMG very nicely to not fork the DDK for each new gen of device (like what happened with SGX -> Rogue), so now we have he same driver code base supporting multiple generations of GPU. The name "Rogue" just stuck around. We should probably rename some of this stuff to also be more generic.
Thinking on this, the mapping between SoC family and the internal names like "RGX_BVNC" and "TARGET_PRODUCT" are specific to the version of this driver. For instance in the next DDK I may want the target name to go from "am62_linux" to "axb_128_linux", I would have to change things here (update the SRCREV) AND in the machine config. 1. I totally agree that "axb_128_linux" makes more sense than "am62_linux". 2. Changes like that happen very rarely. 3. You can call it PVR_MODEL or PVR_PRODUCT if you want, instead of PVR_SOC.
Mapping here feels like the right spot to me. I'd even argue the same for OPTEEMACHINE and the like, should go in the optee.bbappends with the rest of our platform specific recipe fixups, etc. The number of overrides in the recipe will keep on growing, as each new platform will need to add own config. That's the whole point of the machine configuration file to have those defined centrally.
The goal is to have a recipe as machine-agnostic and clean, as possible. Do not overwhelm it with tons of conditionals like that - any machine-specific configuration should be set in the machine config file.
Having all the fixups related to a package inside that package's definition sounds more central to me, and easier to reason about. But I can see the argument both ways.
Maybe the better solution would be to splitup this(and the SGX) recipe. So we get a package per GPU type. It's already how the bins are organized/shipped. Then we just pick the right GPU package for our SoC in arago-prefs.inc. (again like we already do to select between SGX/RGX) Yeah, I think keeping each series of GPU (SGX, Rogue, Albiorix) in their own separate recipes would be fine. Or are you suggesting splitting even further into separate recipes for SGX530 vs SGX540, etc?
I'm suggesting even further. The driver/package for SGX530 is not compatible and conflicts with the driver package for SGX540. So lets not have a single named package (ti-sgx-ddk-um) that can have very different contents, that's just confusing.
Oh, and not separate recipes, separate packages, they can all be provided by the same one or two recipes.
ti-sgx-530-um ti-sgx-544-um ti-axe1-16m-um etc..
Then:
PREFERRED_PROVIDER_virtual/libgles2:am62xx = "ti-axe1-16m-um" ...
Andrew Can we merge for Dunfell and then improve significantly for Kirkstone, or do I still need to make changes here for Dunfell? This is fine with me for Dunfell. Applied patch to dunfell-next. -- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
[master][PATCH] wl18xx-fw: Make it support usrmerge
Signed-off-by: Alessio Igor Bogani <alessio.bogani@...> --- .../recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb index 48b500a8..09968993 100644 --- a/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb +++ b/meta-ti-extras/recipes-bsp/wl18xx-fw/wl18xx-fw_8.9.0.0.86.bb @@ -19,7 +19,11 @@ do_compile() { } do_install() { - oe_runmake 'DEST_DIR=${D}' install + if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then + oe_runmake 'DEST_DIR=${D}/usr' install + else + oe_runmake 'DEST_DIR=${D}' install + fi } -FILES:${PN} = "/lib/firmware/ti-connectivity/*" +FILES:${PN} = "${nonarch_base_libdir}/firmware/ti-connectivity/*" -- 2.17.1
|
|
[master][PATCH] ti-cgt-pru: Update to version 2.3.3
Signed-off-by: Alessio Igor Bogani <alessio.bogani@...> --- .../recipes-ti/devtools/ti-cgt-pru_2.3.2.bb | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb diff --git a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb b/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb deleted file mode 100644 index 8b3e2a07..00000000 --- a/meta-ti-extras/recipes-ti/devtools/ti-cgt-pru_2.3.2.bb +++ /dev/null @@ -1,49 +0,0 @@ -DESCRIPTION = "TI PRU Code Generation Tools" -HOMEPAGE = " https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm"-LICENSE = "(TI-TSPA & Thai-Open-Source-Software-Center) & BSD-3-Clause & BSL-1.0 & Hewlett-Packard & AFL-3.0 & MIT & BSD-2-Clause & PD" - -LIC_FILES_CHKSUM = "file://ti-cgt-pru_${PV}/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" -LIC_FILES_CHKSUM:class-target = "file://usr/share/doc/ti/cgt-pru/PRU_Code_Generation_Tools_2.3.x_manifest.html;md5=e22f9d8240f7cca0c0aa5242d9ffa5bc" - -require recipes-ti/includes/ti-paths.inc -require recipes-ti/includes/ti-unpack.inc - -BINFILE = "ti_cgt_pru_${PV}_linux_installer_x86.bin" -BINFILE_NAME = "cgt-pru-x86" -TI_BIN_UNPK_ARGS = "--prefix ${S}" -TI_BIN_UNPK_CMDS = "" - -BINFILE:class-target = "ti_cgt_pru_${PV}_armlinuxa8hf_busybox_installer.sh" -BINFILE_NAME:class-target = "cgt-pru-arm" - -SRC_URI = " http://software-dl.ti.com/codegen/esd/cgt_public_sw/PRU/${PV}/${BINFILE};name=${BINFILE_NAME}" - -SRC_URI[cgt-pru-x86.md5sum] = "270a0ecca383f66cad3a0e2a738c6ab0" -SRC_URI[cgt-pru-x86.sha256sum] = "af1178a059d46d67d5672df053dd2fbebb0b89a513b17b8739dbe915b4a5d71a" - -SRC_URI[cgt-pru-arm.md5sum] = "fbf10083af1b0e5d69b018126603bb58" -SRC_URI[cgt-pru-arm.sha256sum] = "75ac84775a5624ea7e4fad4efc1acb7e869c79160550d48ba780068a3dce879c" - -do_install() { - install -d ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE} - cp -r ${S}/ti-cgt-pru_${PV}/. \ - ${D}${TI_CGT_PRU_INSTALL_DIR_RECIPE}/ -} - -do_install:class-target() { - ${WORKDIR}/${BINFILE} --prefix ${D} -} - -FILES:${PN} += "${datadir}/ti/*" - -FILES:${PN}-dbg = "${TI_CGT_PRU_INSTALL_DIR_RECIPE}/bin/.debug \ - ${TI_CGT_PRU_INSTALL_DIR_RECIPE}/lib/.debug \ -" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_SYSROOT_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -INSANE_SKIP:${PN} += "arch staticdev already-stripped file-rdeps" - -BBCLASSEXTEND = "native nativesdk" -- 2.17.1
|
|
Re: [dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
On Tue, Mar 29, 2022 at 04:48:43PM -0500, Etheridge, Darren wrote: On 3/25/2022 5:36 PM, Andrew Davis wrote:
On 3/25/22 5:30 PM, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 5:06 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:54:56PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 4:38 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
Migrate Imagination DDK 1.13 to DDK 1.15 for J721e Overall looks good, please see inline below.
Signed-off-by: Darren Etheridge <detheridge@...> ---
rename from recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb rename to recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb index a05de0f2..fbff6c51 100644 --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb @@ -7,17 +7,17 @@ inherit module features_check  REQUIRED_MACHINE_FEATURES = "gpu" -MACHINE_KERNEL_PR_append = "b" +MACHINE_KERNEL_PR_append = "a"  PR = "${MACHINE_KERNEL_PR}"  PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "j7" +COMPATIBLE_MACHINE = "j7-evm|j721s2-evm|am62xx"  DEPENDS = "virtual/kernel"  PROVIDES = "virtual/gpudriver" -BRANCH = "1.13-5776728/linux-k5.10" +BRANCH = "linuxws/dunfell/k5.10/${PV}"  SRC_URI = " \ git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \ @@ -26,15 +26,19 @@ SRC_URI = " \  S = "${WORKDIR}/git" -SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84" +SRCREV = "ee0674adccac16f5b2f7cb8d5d05948706080cb5" -PVR_SOC = "j721e_linux" I was actually thinking of keeping PVR_SOC variable and moving it to corresponding machine configs.
PVR_SOC is a bit of a legacy name, especially since PVR is now IMG. PVR or PowerVR name is still used as an overall umbrella for all of Imagination's graphics, vision and AI chips, including SGX and Rogue/RGX: https://en.wikipedia.org/wiki/PowerVR
On the wiki page:
These GPUs are no longer called PowerVR, they are called IMG.[58] For their next gen GPUs they are distancing themselves from the PVR name, the GPU in AM62xx is one such next gen GPU, so it's already not correct here as is. So, then why AM62xx is being added to Rogue driver/DDK? Should there be a separate Albiorix driver and DDK then?
We asked IMG very nicely to not fork the DDK for each new gen of device (like what happened with SGX -> Rogue), so now we have he same driver code base supporting multiple generations of GPU. The name "Rogue" just stuck around. We should probably rename some of this stuff to also be more generic.
Thinking on this, the mapping between SoC family and the internal names like "RGX_BVNC" and "TARGET_PRODUCT" are specific to the version of this driver. For instance in the next DDK I may want the target name to go from "am62_linux" to "axb_128_linux", I would have to change things here (update the SRCREV) AND in the machine config. 1. I totally agree that "axb_128_linux" makes more sense than "am62_linux". 2. Changes like that happen very rarely. 3. You can call it PVR_MODEL or PVR_PRODUCT if you want, instead of PVR_SOC.
Mapping here feels like the right spot to me. I'd even argue the same for OPTEEMACHINE and the like, should go in the optee.bbappends with the rest of our platform specific recipe fixups, etc. The number of overrides in the recipe will keep on growing, as each new platform will need to add own config. That's the whole point of the machine configuration file to have those defined centrally.
The goal is to have a recipe as machine-agnostic and clean, as possible. Do not overwhelm it with tons of conditionals like that - any machine-specific configuration should be set in the machine config file.
Having all the fixups related to a package inside that package's definition sounds more central to me, and easier to reason about. But I can see the argument both ways.
Maybe the better solution would be to splitup this(and the SGX) recipe. So we get a package per GPU type. It's already how the bins are organized/shipped. Then we just pick the right GPU package for our SoC in arago-prefs.inc. (again like we already do to select between SGX/RGX) Yeah, I think keeping each series of GPU (SGX, Rogue, Albiorix) in their own separate recipes would be fine. Or are you suggesting splitting even further into separate recipes for SGX530 vs SGX540, etc?
I'm suggesting even further. The driver/package for SGX530 is not compatible and conflicts with the driver package for SGX540. So lets not have a single named package (ti-sgx-ddk-um) that can have very different contents, that's just confusing.
Oh, and not separate recipes, separate packages, they can all be provided by the same one or two recipes.
ti-sgx-530-um ti-sgx-544-um ti-axe1-16m-um etc..
Then:
PREFERRED_PROVIDER_virtual/libgles2:am62xx = "ti-axe1-16m-um" ...
Andrew Can we merge for Dunfell and then improve significantly for Kirkstone, or do I still need to make changes here for Dunfell? This is fine with me for Dunfell. -- Denys
|
|
Re: [dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
On 3/25/2022 5:36 PM, Andrew Davis wrote: On 3/25/22 5:30 PM, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 5:06 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:54:56PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 4:38 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
Migrate Imagination DDK 1.13 to DDK 1.15 for J721e Overall looks good, please see inline below.
Signed-off-by: Darren Etheridge <detheridge@...> ---
rename from recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb rename to recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb index a05de0f2..fbff6c51 100644 --- a/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.13.5776728.bb +++ b/recipes-bsp/powervr-drivers/ti-img-rogue-driver_1.15.6133109.bb @@ -7,17 +7,17 @@ inherit module features_check  REQUIRED_MACHINE_FEATURES = "gpu" -MACHINE_KERNEL_PR_append = "b" +MACHINE_KERNEL_PR_append = "a"  PR = "${MACHINE_KERNEL_PR}"  PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "j7" +COMPATIBLE_MACHINE = "j7-evm|j721s2-evm|am62xx"  DEPENDS = "virtual/kernel"  PROVIDES = "virtual/gpudriver" -BRANCH = "1.13-5776728/linux-k5.10" +BRANCH = "linuxws/dunfell/k5.10/${PV}"  SRC_URI = " \ git://git.ti.com/graphics/ti-img-rogue-driver.git;branch=${BRANCH} \ @@ -26,15 +26,19 @@ SRC_URI = " \  S = "${WORKDIR}/git" -SRCREV = "35a25875ae8738f82c7cabc6b077ef992b0cca84" +SRCREV = "ee0674adccac16f5b2f7cb8d5d05948706080cb5" -PVR_SOC = "j721e_linux" I was actually thinking of keeping PVR_SOC variable and moving it to corresponding machine configs.
PVR_SOC is a bit of a legacy name, especially since PVR is now IMG. PVR or PowerVR name is still used as an overall umbrella for all of Imagination's graphics, vision and AI chips, including SGX and Rogue/RGX: https://en.wikipedia.org/wiki/PowerVR
On the wiki page:
These GPUs are no longer called PowerVR, they are called IMG.[58] For their next gen GPUs they are distancing themselves from the PVR name, the GPU in AM62xx is one such next gen GPU, so it's already not correct here as is. So, then why AM62xx is being added to Rogue driver/DDK? Should there be a separate Albiorix driver and DDK then?
We asked IMG very nicely to not fork the DDK for each new gen of device (like what happened with SGX -> Rogue), so now we have he same driver code base supporting multiple generations of GPU. The name "Rogue" just stuck around. We should probably rename some of this stuff to also be more generic.
Thinking on this, the mapping between SoC family and the internal names like "RGX_BVNC" and "TARGET_PRODUCT" are specific to the version of this driver. For instance in the next DDK I may want the target name to go from "am62_linux" to "axb_128_linux", I would have to change things here (update the SRCREV) AND in the machine config. 1. I totally agree that "axb_128_linux" makes more sense than "am62_linux". 2. Changes like that happen very rarely. 3. You can call it PVR_MODEL or PVR_PRODUCT if you want, instead of PVR_SOC.
Mapping here feels like the right spot to me. I'd even argue the same for OPTEEMACHINE and the like, should go in the optee.bbappends with the rest of our platform specific recipe fixups, etc. The number of overrides in the recipe will keep on growing, as each new platform will need to add own config. That's the whole point of the machine configuration file to have those defined centrally.
The goal is to have a recipe as machine-agnostic and clean, as possible. Do not overwhelm it with tons of conditionals like that - any machine-specific configuration should be set in the machine config file.
Having all the fixups related to a package inside that package's definition sounds more central to me, and easier to reason about. But I can see the argument both ways.
Maybe the better solution would be to splitup this(and the SGX) recipe. So we get a package per GPU type. It's already how the bins are organized/shipped. Then we just pick the right GPU package for our SoC in arago-prefs.inc. (again like we already do to select between SGX/RGX) Yeah, I think keeping each series of GPU (SGX, Rogue, Albiorix) in their own separate recipes would be fine. Or are you suggesting splitting even further into separate recipes for SGX530 vs SGX540, etc?
I'm suggesting even further. The driver/package for SGX530 is not compatible and conflicts with the driver package for SGX540. So lets not have a single named package (ti-sgx-ddk-um) that can have very different contents, that's just confusing.
Oh, and not separate recipes, separate packages, they can all be provided by the same one or two recipes. ti-sgx-530-um ti-sgx-544-um ti-axe1-16m-um etc.. Then: PREFERRED_PROVIDER_virtual/libgles2:am62xx = "ti-axe1-16m-um" ... Andrew Can we merge for Dunfell and then improve significantly for Kirkstone, or do I still need to make changes here for Dunfell?
Andrew
|
|
Re: [dunfell][PATCH v4] machine: Add am62xx evm configuration
On Fri, Mar 25, 2022 at 04:06:32PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: From: Nishanth Menon <nm@...>
Lets add the basic AM62xx-evm configuration. - Add configurations. - Add firmware overrides. - Add u-boot overrides.
Signed-off-by: Nishanth Menon <nm@...> Signed-off-by: Hari Nagalla <hnagalla@...> Signed-off-by: Ryan Eatmon <reatmon@...> Reviewed-by: Denys Dmytriyenko <denys@...> --- v2: Removed ti-graphics patch, and removed lpm-demo patches. v3: Squashed and cleaned up the previous patches. v4: Removed tabs that made their way into some of the files, and added more to the commit message.
conf/machine/am62xx-evm-k3r5.conf | 11 +++++++ conf/machine/am62xx-evm.conf | 13 ++++++++ conf/machine/include/am62xx.inc | 17 ++++++++++ recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 18 ++++++++++ recipes-bsp/u-boot/u-boot-ti.inc | 7 ++++ recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb | 38 +++++++++++++++++++--- 6 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 conf/machine/am62xx-evm-k3r5.conf create mode 100644 conf/machine/am62xx-evm.conf create mode 100644 conf/machine/include/am62xx.inc
diff --git a/conf/machine/am62xx-evm-k3r5.conf b/conf/machine/am62xx-evm-k3r5.conf new file mode 100644 index 00000000..724a8d4a --- /dev/null +++ b/conf/machine/am62xx-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM62xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am62x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "am62x_evm_r5_defconfig" diff --git a/conf/machine/am62xx-evm.conf b/conf/machine/am62xx-evm.conf new file mode 100644 index 00000000..600abb58 --- /dev/null +++ b/conf/machine/am62xx-evm.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM +#@DESCRIPTION: Machine configuration for the TI AM62XX EVM + +require conf/machine/include/am62xx.inc + +KERNEL_DEVICETREE = " \ + ti/k3-am625-sk.dtb \ + ti/k3-am625-sk-lpmdemo.dtb \ + ti/k3-am625-minimal.dtb \ +" + +UBOOT_MACHINE = "am62x_evm_a53_defconfig" diff --git a/conf/machine/include/am62xx.inc b/conf/machine/include/am62xx.inc new file mode 100644 index 00000000..e8823dd2 --- /dev/null +++ b/conf/machine/include/am62xx.inc @@ -0,0 +1,17 @@ +require conf/machine/include/k3.inc +SOC_FAMILY_append = ":am62xx" + +MACHINE_FEATURES += "screen touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +# AM62 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" + +TFA_BOARD = "lite" +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb index 646833a7..099473b4 100644 --- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb +++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb @@ -6,6 +6,7 @@ DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader" DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader" +DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader" CLEANBROKEN = "1" PR = "${INC_PR}.2" @@ -29,6 +30,7 @@ SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware" SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware" SYSFW_SUFFIX ?= "unknown" @@ -63,6 +65,7 @@ EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-s EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" do_compile() { cd ${WORKDIR}/imggen/ @@ -170,4 +173,19 @@ do_deploy_am64xx-hs-evm-k3r5() { install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ } +do_install_am62xx-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy_am62xx-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot-ti.inc b/recipes-bsp/u-boot/u-boot-ti.inc index 7ed6c5b4..231b7647 100644 --- a/recipes-bsp/u-boot/u-boot-ti.inc +++ b/recipes-bsp/u-boot/u-boot-ti.inc @@ -41,6 +41,7 @@ PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-i PACKAGECONFIG_append_aarch64 = " atf optee" PACKAGECONFIG_append_j7 = " dm" +PACKAGECONFIG_append_am62xx = " dm" COMPATIBLE_MACHINE = "(ti-soc)" @@ -69,6 +70,7 @@ SPL_UART_BINARY_j7200-hs-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_j721s2-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-hs-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY_am62xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}" @@ -419,4 +421,9 @@ do_deploy_append_am64xx-hs-evm-k3r5 () { mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true } +do_deploy_append_am62xx-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + TOOLCHAIN = "gcc" diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb index c5852dbd..02e5d665 100644 --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb @@ -19,6 +19,7 @@ PLAT_SFX_j7200-hs-evm = "j7200" PLAT_SFX_j721s2-evm = "j721s2" PLAT_SFX_am65xx = "am65xx" PLAT_SFX_am64xx = "am64xx" +PLAT_SFX_am62xx = "am62x" FILESEXTRAPATHS_prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" require recipes-bsp/ti-linux-fw/ti-linux-fw.inc @@ -50,11 +51,11 @@ DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" # J7 HS support do_install_prepend_j7-hs-evm() { - export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} - ( cd ${RTOS_DM_FW_DIR}; \ - mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ - ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ - ) + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) } # J7 HS support @@ -77,6 +78,13 @@ do_install_prepend_am64xx() { ) } +# Update the am62xx ipc binaries to be consistent with other platforms +do_install_prepend_am62xx() { + ( cd ${RTOS_IPC_FW_DIR}; \ + mv am62-mcu-m4f0_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \ + ) +} + #Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level do_install() { @@ -154,6 +162,13 @@ do_install_am64xx() { install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} } +do_install_am62xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} +} + # Set up names for the firmwares ALTERNATIVE_${PN}_am65xx = "\ am65x-mcu-r5f0_0-fw \ @@ -167,6 +182,10 @@ ALTERNATIVE_${PN}_am64xx = "\ am64-main-r5f1_1-fw \ am64-mcu-m4f0_0-fw \ " +ALTERNATIVE_${PN}_am62xx = "\ + am62-mcu-m4f0_0-fw \ + am62-main-r5f0_0-fw \ + " ALTERNATIVE_${PN}_j7 = "\ j7-mcu-r5f0_0-fw \ @@ -216,6 +235,9 @@ TARGET_MAIN_R5FSS1_0_am64xx = "am64-main-r5f1_0-fw" TARGET_MAIN_R5FSS1_1_am64xx = "am64-main-r5f1_1-fw" TARGET_MCU_M4FSS0_0_am64xx = "am64-mcu-m4f0_0-fw" +TARGET_MAIN_R5FSS0_0_am62xx = "am62-main-r5f0_0-fw" +TARGET_MCU_M4FSS0_0_am62xx = "am62-mcu-m4f0_0-fw" + TARGET_MCU_R5FSS0_0_j7 = "j7-mcu-r5f0_0-fw" TARGET_MCU_R5FSS0_1_j7 = "j7-mcu-r5f0_1-fw" TARGET_MAIN_R5FSS0_0_j7 = "j7-main-r5f0_0-fw" @@ -254,6 +276,9 @@ ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_M ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" + ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" @@ -289,6 +314,9 @@ ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_e ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f" ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f" + ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" -- 2.17.1
|
|
Re: [dunfell][PATCH v4] machine: Add am62xx evm configuration
On Tue, Mar 29, 2022 at 07:26:12AM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
On 3/29/2022 12:41 AM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:06:32PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
From: Nishanth Menon <nm@...>
Lets add the basic AM62xx-evm configuration. - Add configurations. - Add firmware overrides. - Add u-boot overrides. That's the result of squashing. The five various development commits touched the files in varying ways. So they ended up as a single patch.
The only other option would be for me to make the edits by hand (by copying each aggregated file to a new copy of the repository) and then doing new commits of the "clean" file. Which is preferable?
Thanks for the explanation. If nobody else objects, I'd be fine with merging it as a single patch to avoid extra manual editing. It's just a bit harder to review - give me couple hours to go over it again. Everything in one patch?
Signed-off-by: Nishanth Menon <nm@...> Signed-off-by: Hari Nagalla <hnagalla@...> Signed-off-by: Ryan Eatmon <reatmon@...> --- v2: Removed ti-graphics patch, and removed lpm-demo patches. v3: Squashed and cleaned up the previous patches. v4: Removed tabs that made their way into some of the files, and added more to the commit message.
conf/machine/am62xx-evm-k3r5.conf | 11 +++++++ conf/machine/am62xx-evm.conf | 13 ++++++++ conf/machine/include/am62xx.inc | 17 ++++++++++ recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 18 ++++++++++ recipes-bsp/u-boot/u-boot-ti.inc | 7 ++++ recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb | 38 +++++++++++++++++++--- 6 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 conf/machine/am62xx-evm-k3r5.conf create mode 100644 conf/machine/am62xx-evm.conf create mode 100644 conf/machine/include/am62xx.inc
diff --git a/conf/machine/am62xx-evm-k3r5.conf b/conf/machine/am62xx-evm-k3r5.conf new file mode 100644 index 00000000..724a8d4a --- /dev/null +++ b/conf/machine/am62xx-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM62xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am62x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "am62x_evm_r5_defconfig" diff --git a/conf/machine/am62xx-evm.conf b/conf/machine/am62xx-evm.conf new file mode 100644 index 00000000..600abb58 --- /dev/null +++ b/conf/machine/am62xx-evm.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM +#@DESCRIPTION: Machine configuration for the TI AM62XX EVM + +require conf/machine/include/am62xx.inc + +KERNEL_DEVICETREE = " \ + ti/k3-am625-sk.dtb \ + ti/k3-am625-sk-lpmdemo.dtb \ + ti/k3-am625-minimal.dtb \ +" + +UBOOT_MACHINE = "am62x_evm_a53_defconfig" diff --git a/conf/machine/include/am62xx.inc b/conf/machine/include/am62xx.inc new file mode 100644 index 00000000..e8823dd2 --- /dev/null +++ b/conf/machine/include/am62xx.inc @@ -0,0 +1,17 @@ +require conf/machine/include/k3.inc +SOC_FAMILY_append = ":am62xx" + +MACHINE_FEATURES += "screen touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +# AM62 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" + +TFA_BOARD = "lite" +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb index 646833a7..099473b4 100644 --- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb +++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb @@ -6,6 +6,7 @@ DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader" DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader" +DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader" CLEANBROKEN = "1" PR = "${INC_PR}.2" @@ -29,6 +30,7 @@ SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware" SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware" SYSFW_SUFFIX ?= "unknown" @@ -63,6 +65,7 @@ EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-s EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" do_compile() { cd ${WORKDIR}/imggen/ @@ -170,4 +173,19 @@ do_deploy_am64xx-hs-evm-k3r5() { install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ } +do_install_am62xx-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy_am62xx-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot-ti.inc b/recipes-bsp/u-boot/u-boot-ti.inc index 7ed6c5b4..231b7647 100644 --- a/recipes-bsp/u-boot/u-boot-ti.inc +++ b/recipes-bsp/u-boot/u-boot-ti.inc @@ -41,6 +41,7 @@ PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-i PACKAGECONFIG_append_aarch64 = " atf optee" PACKAGECONFIG_append_j7 = " dm" +PACKAGECONFIG_append_am62xx = " dm" COMPATIBLE_MACHINE = "(ti-soc)" @@ -69,6 +70,7 @@ SPL_UART_BINARY_j7200-hs-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_j721s2-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-hs-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY_am62xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}" @@ -419,4 +421,9 @@ do_deploy_append_am64xx-hs-evm-k3r5 () { mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true } +do_deploy_append_am62xx-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + TOOLCHAIN = "gcc" diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb index c5852dbd..02e5d665 100644 --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb @@ -19,6 +19,7 @@ PLAT_SFX_j7200-hs-evm = "j7200" PLAT_SFX_j721s2-evm = "j721s2" PLAT_SFX_am65xx = "am65xx" PLAT_SFX_am64xx = "am64xx" +PLAT_SFX_am62xx = "am62x" FILESEXTRAPATHS_prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" require recipes-bsp/ti-linux-fw/ti-linux-fw.inc @@ -50,11 +51,11 @@ DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" # J7 HS support do_install_prepend_j7-hs-evm() { - export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} - ( cd ${RTOS_DM_FW_DIR}; \ - mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ - ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ - ) + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) } # J7 HS support @@ -77,6 +78,13 @@ do_install_prepend_am64xx() { ) } +# Update the am62xx ipc binaries to be consistent with other platforms +do_install_prepend_am62xx() { + ( cd ${RTOS_IPC_FW_DIR}; \ + mv am62-mcu-m4f0_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \ + ) +} + #Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level do_install() { @@ -154,6 +162,13 @@ do_install_am64xx() { install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} } +do_install_am62xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} +} + # Set up names for the firmwares ALTERNATIVE_${PN}_am65xx = "\ am65x-mcu-r5f0_0-fw \ @@ -167,6 +182,10 @@ ALTERNATIVE_${PN}_am64xx = "\ am64-main-r5f1_1-fw \ am64-mcu-m4f0_0-fw \ " +ALTERNATIVE_${PN}_am62xx = "\ + am62-mcu-m4f0_0-fw \ + am62-main-r5f0_0-fw \ + " ALTERNATIVE_${PN}_j7 = "\ j7-mcu-r5f0_0-fw \ @@ -216,6 +235,9 @@ TARGET_MAIN_R5FSS1_0_am64xx = "am64-main-r5f1_0-fw" TARGET_MAIN_R5FSS1_1_am64xx = "am64-main-r5f1_1-fw" TARGET_MCU_M4FSS0_0_am64xx = "am64-mcu-m4f0_0-fw" +TARGET_MAIN_R5FSS0_0_am62xx = "am62-main-r5f0_0-fw" +TARGET_MCU_M4FSS0_0_am62xx = "am62-mcu-m4f0_0-fw" + TARGET_MCU_R5FSS0_0_j7 = "j7-mcu-r5f0_0-fw" TARGET_MCU_R5FSS0_1_j7 = "j7-mcu-r5f0_1-fw" TARGET_MAIN_R5FSS0_0_j7 = "j7-main-r5f0_0-fw" @@ -254,6 +276,9 @@ ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_M ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" + ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" @@ -289,6 +314,9 @@ ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_e ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f" ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f" + ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" -- 2.17.1
|
|
Re: [master][PATCH 3/4] ti-img-rogue-umlibs: only the j721e SoC is currently supported
On 3/28/2022 11:50 PM, Denys Dmytriyenko wrote: On Fri, Mar 25, 2022 at 01:41:50PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
There are now three SoCs in the J7 family, but only the j721e variant is currently supported. Be specific here.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...> Appled patch to master. -- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
Re: [master][PATCH 4/4] ti-sgx-ddk-um: only the am65xx member of the k3 family is supported
On 3/28/2022 11:50 PM, Denys Dmytriyenko wrote: On Fri, Mar 25, 2022 at 01:41:51PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
The AM65xx is the only member of the K3 family with an SGX GPU. Be specific here to avoid confusion.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...> Appled patch to master. -- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
Re: [master][PATCH 2/4] meta-ti-bsp: add SoC families for the J7 SoCs
On 3/28/2022 11:50 PM, Denys Dmytriyenko wrote: On Fri, Mar 25, 2022 at 01:41:49PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
This allows us to be more specific around what SoCs we support and lets us add features based on the SoC family not just at the EVM or whole J7family level.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...> Appled patch to master. -- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
Re: [master][PATCH 1/4] meta-ti: rename j7-evm to j721e-evm
On 3/28/2022 11:49 PM, Denys Dmytriyenko wrote: On Fri, Mar 25, 2022 at 01:41:48PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
In many places we use "j7" the family when we should be using a specific SoC or EVM and vice-versa. For instance when including graphics drivers we add for all "j7" family, but what we really want is only for some specific j7 SoC.
First step in untangling this is to make it clear that there is no SoC called j7. There is a SoC called j721e with a j721e-evm.
Fix up this naming here.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...> Appled patch to master. -- Ryan Eatmon reatmon@... ----------------------------------------- Texas Instruments, Inc. - LCPD - MGTS
|
|
Re: [dunfell][PATCH v4] machine: Add am62xx evm configuration
On 3/29/2022 12:41 AM, Denys Dmytriyenko wrote: On Fri, Mar 25, 2022 at 04:06:32PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote:
From: Nishanth Menon <nm@...>
Lets add the basic AM62xx-evm configuration. - Add configurations. - Add firmware overrides. - Add u-boot overrides. That's the result of squashing. The five various development commits touched the files in varying ways. So they ended up as a single patch. The only other option would be for me to make the edits by hand (by copying each aggregated file to a new copy of the repository) and then doing new commits of the "clean" file. Which is preferable? Everything in one patch?
Signed-off-by: Nishanth Menon <nm@...> Signed-off-by: Hari Nagalla <hnagalla@...> Signed-off-by: Ryan Eatmon <reatmon@...> --- v2: Removed ti-graphics patch, and removed lpm-demo patches. v3: Squashed and cleaned up the previous patches. v4: Removed tabs that made their way into some of the files, and added more to the commit message.
conf/machine/am62xx-evm-k3r5.conf | 11 +++++++ conf/machine/am62xx-evm.conf | 13 ++++++++ conf/machine/include/am62xx.inc | 17 ++++++++++ recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 18 ++++++++++ recipes-bsp/u-boot/u-boot-ti.inc | 7 ++++ recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb | 38 +++++++++++++++++++--- 6 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 conf/machine/am62xx-evm-k3r5.conf create mode 100644 conf/machine/am62xx-evm.conf create mode 100644 conf/machine/include/am62xx.inc
diff --git a/conf/machine/am62xx-evm-k3r5.conf b/conf/machine/am62xx-evm-k3r5.conf new file mode 100644 index 00000000..724a8d4a --- /dev/null +++ b/conf/machine/am62xx-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM62xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am62x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "am62x_evm_r5_defconfig" diff --git a/conf/machine/am62xx-evm.conf b/conf/machine/am62xx-evm.conf new file mode 100644 index 00000000..600abb58 --- /dev/null +++ b/conf/machine/am62xx-evm.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM +#@DESCRIPTION: Machine configuration for the TI AM62XX EVM + +require conf/machine/include/am62xx.inc + +KERNEL_DEVICETREE = " \ + ti/k3-am625-sk.dtb \ + ti/k3-am625-sk-lpmdemo.dtb \ + ti/k3-am625-minimal.dtb \ +" + +UBOOT_MACHINE = "am62x_evm_a53_defconfig" diff --git a/conf/machine/include/am62xx.inc b/conf/machine/include/am62xx.inc new file mode 100644 index 00000000..e8823dd2 --- /dev/null +++ b/conf/machine/include/am62xx.inc @@ -0,0 +1,17 @@ +require conf/machine/include/k3.inc +SOC_FAMILY_append = ":am62xx" + +MACHINE_FEATURES += "screen touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +# AM62 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" + +TFA_BOARD = "lite" +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb index 646833a7..099473b4 100644 --- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb +++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb @@ -6,6 +6,7 @@ DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader" DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader" +DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader" CLEANBROKEN = "1" PR = "${INC_PR}.2" @@ -29,6 +30,7 @@ SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware" SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware" SYSFW_SUFFIX ?= "unknown" @@ -63,6 +65,7 @@ EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-s EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" do_compile() { cd ${WORKDIR}/imggen/ @@ -170,4 +173,19 @@ do_deploy_am64xx-hs-evm-k3r5() { install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ } +do_install_am62xx-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy_am62xx-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot-ti.inc b/recipes-bsp/u-boot/u-boot-ti.inc index 7ed6c5b4..231b7647 100644 --- a/recipes-bsp/u-boot/u-boot-ti.inc +++ b/recipes-bsp/u-boot/u-boot-ti.inc @@ -41,6 +41,7 @@ PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-i PACKAGECONFIG_append_aarch64 = " atf optee" PACKAGECONFIG_append_j7 = " dm" +PACKAGECONFIG_append_am62xx = " dm" COMPATIBLE_MACHINE = "(ti-soc)" @@ -69,6 +70,7 @@ SPL_UART_BINARY_j7200-hs-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_j721s2-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-hs-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY_am62xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}" @@ -419,4 +421,9 @@ do_deploy_append_am64xx-hs-evm-k3r5 () { mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true } +do_deploy_append_am62xx-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + TOOLCHAIN = "gcc" diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb index c5852dbd..02e5d665 100644 --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb @@ -19,6 +19,7 @@ PLAT_SFX_j7200-hs-evm = "j7200" PLAT_SFX_j721s2-evm = "j721s2" PLAT_SFX_am65xx = "am65xx" PLAT_SFX_am64xx = "am64xx" +PLAT_SFX_am62xx = "am62x" FILESEXTRAPATHS_prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" require recipes-bsp/ti-linux-fw/ti-linux-fw.inc @@ -50,11 +51,11 @@ DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" # J7 HS support do_install_prepend_j7-hs-evm() { - export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} - ( cd ${RTOS_DM_FW_DIR}; \ - mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ - ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ - ) + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) } # J7 HS support @@ -77,6 +78,13 @@ do_install_prepend_am64xx() { ) } +# Update the am62xx ipc binaries to be consistent with other platforms +do_install_prepend_am62xx() { + ( cd ${RTOS_IPC_FW_DIR}; \ + mv am62-mcu-m4f0_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \ + ) +} + #Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level do_install() { @@ -154,6 +162,13 @@ do_install_am64xx() { install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} } +do_install_am62xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} +} + # Set up names for the firmwares ALTERNATIVE_${PN}_am65xx = "\ am65x-mcu-r5f0_0-fw \ @@ -167,6 +182,10 @@ ALTERNATIVE_${PN}_am64xx = "\ am64-main-r5f1_1-fw \ am64-mcu-m4f0_0-fw \ " +ALTERNATIVE_${PN}_am62xx = "\ + am62-mcu-m4f0_0-fw \ + am62-main-r5f0_0-fw \ + " ALTERNATIVE_${PN}_j7 = "\ j7-mcu-r5f0_0-fw \ @@ -216,6 +235,9 @@ TARGET_MAIN_R5FSS1_0_am64xx = "am64-main-r5f1_0-fw" TARGET_MAIN_R5FSS1_1_am64xx = "am64-main-r5f1_1-fw" TARGET_MCU_M4FSS0_0_am64xx = "am64-mcu-m4f0_0-fw" +TARGET_MAIN_R5FSS0_0_am62xx = "am62-main-r5f0_0-fw" +TARGET_MCU_M4FSS0_0_am62xx = "am62-mcu-m4f0_0-fw" + TARGET_MCU_R5FSS0_0_j7 = "j7-mcu-r5f0_0-fw" TARGET_MCU_R5FSS0_1_j7 = "j7-mcu-r5f0_1-fw" TARGET_MAIN_R5FSS0_0_j7 = "j7-main-r5f0_0-fw" @@ -254,6 +276,9 @@ ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_M ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" + ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" @@ -289,6 +314,9 @@ ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_e ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f" ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f" + ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" -- 2.17.1
-- Ryan Eatmon Texas Instruments, Inc. reatmon@... -------------------------------------------------------- Analog EDA - Simulation Development - MGTS
|
|
Re: [dunfell][PATCH v4] machine: Add am62xx evm configuration
On Fri, Mar 25, 2022 at 04:06:32PM -0500, Ryan Eatmon via lists.yoctoproject.org wrote: From: Nishanth Menon <nm@...>
Lets add the basic AM62xx-evm configuration. - Add configurations. - Add firmware overrides. - Add u-boot overrides. Everything in one patch? Signed-off-by: Nishanth Menon <nm@...> Signed-off-by: Hari Nagalla <hnagalla@...> Signed-off-by: Ryan Eatmon <reatmon@...> --- v2: Removed ti-graphics patch, and removed lpm-demo patches. v3: Squashed and cleaned up the previous patches. v4: Removed tabs that made their way into some of the files, and added more to the commit message.
conf/machine/am62xx-evm-k3r5.conf | 11 +++++++ conf/machine/am62xx-evm.conf | 13 ++++++++ conf/machine/include/am62xx.inc | 17 ++++++++++ recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb | 18 ++++++++++ recipes-bsp/u-boot/u-boot-ti.inc | 7 ++++ recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb | 38 +++++++++++++++++++--- 6 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 conf/machine/am62xx-evm-k3r5.conf create mode 100644 conf/machine/am62xx-evm.conf create mode 100644 conf/machine/include/am62xx.inc
diff --git a/conf/machine/am62xx-evm-k3r5.conf b/conf/machine/am62xx-evm-k3r5.conf new file mode 100644 index 00000000..724a8d4a --- /dev/null +++ b/conf/machine/am62xx-evm-k3r5.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM (R5F) +#@DESCRIPTION: Machine configuration for the TI AM62xx EVM (R5F core) + +require conf/machine/include/k3r5.inc + +SYSFW_SOC = "am62x" +SYSFW_CONFIG = "evm" +SYSFW_SUFFIX = "gp" + +UBOOT_MACHINE = "am62x_evm_r5_defconfig" diff --git a/conf/machine/am62xx-evm.conf b/conf/machine/am62xx-evm.conf new file mode 100644 index 00000000..600abb58 --- /dev/null +++ b/conf/machine/am62xx-evm.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: AM62XX EVM +#@DESCRIPTION: Machine configuration for the TI AM62XX EVM + +require conf/machine/include/am62xx.inc + +KERNEL_DEVICETREE = " \ + ti/k3-am625-sk.dtb \ + ti/k3-am625-sk-lpmdemo.dtb \ + ti/k3-am625-minimal.dtb \ +" + +UBOOT_MACHINE = "am62x_evm_a53_defconfig" diff --git a/conf/machine/include/am62xx.inc b/conf/machine/include/am62xx.inc new file mode 100644 index 00000000..e8823dd2 --- /dev/null +++ b/conf/machine/include/am62xx.inc @@ -0,0 +1,17 @@ +require conf/machine/include/k3.inc +SOC_FAMILY_append = ":am62xx" + +MACHINE_FEATURES += "screen touchscreen" + +SERIAL_CONSOLES = "115200;ttyS2" +SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" + +# AM62 supports multi-certificate images, use the same +IMAGE_BOOT_FILES = "${IMAGE_BOOT_FILES_MULTI_CERT}" + +do_image_wic[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" +do_image_tar[mcdepends] = "mc::k3r5:ti-sci-fw:do_deploy" + +TFA_BOARD = "lite" +OPTEEMACHINE = "k3-am65x" +OPTEEOUTPUTMACHINE = "k3" diff --git a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb index 646833a7..099473b4 100644 --- a/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb +++ b/recipes-bsp/ti-sci-fw/ti-sci-fw_git.bb @@ -6,6 +6,7 @@ DEPENDS_append_j7200-hs-evm-k3r5 = " virtual/bootloader" DEPENDS_append_j721s2-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-evm-k3r5 = " virtual/bootloader" DEPENDS_append_am64xx-hs-evm-k3r5 = " virtual/bootloader" +DEPENDS_append_am62xx-evm-k3r5 = " virtual/bootloader" CLEANBROKEN = "1" PR = "${INC_PR}.2" @@ -29,6 +30,7 @@ SYSFW_PREFIX_j7-hs-evm-k3r5-sr1-1 = "ti-fs-firmware" SYSFW_PREFIX_j7200-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j7200-hs-evm-k3r5 = "ti-fs-firmware" SYSFW_PREFIX_j721s2-evm-k3r5 = "ti-fs-firmware" +SYSFW_PREFIX_am62xx-evm-k3r5 = "ti-fs-firmware" SYSFW_SUFFIX ?= "unknown" @@ -63,6 +65,7 @@ EXTRA_OEMAKE_append_j7200-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-s EXTRA_OEMAKE_append_j721s2-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" EXTRA_OEMAKE_append_am64xx-hs-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" +EXTRA_OEMAKE_append_am62xx-evm-k3r5 = " SBL="${STAGING_DIR_HOST}/boot/u-boot-spl.bin"" do_compile() { cd ${WORKDIR}/imggen/ @@ -170,4 +173,19 @@ do_deploy_am64xx-hs-evm-k3r5() { install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ } +do_install_am62xx-evm-k3r5() { + install -d ${D}/boot + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} +} + +do_deploy_am62xx-evm-k3r5() { + install -d ${DEPLOYDIR} + install -m 644 ${WORKDIR}/imggen/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_SYMLINK} + ln -sf ${UBOOT_IMAGE} ${DEPLOYDIR}/${UBOOT_BINARY} + install -m 644 ${SYSFW_TISCI} ${DEPLOYDIR}/ +} + addtask deploy before do_build after do_compile diff --git a/recipes-bsp/u-boot/u-boot-ti.inc b/recipes-bsp/u-boot/u-boot-ti.inc index 7ed6c5b4..231b7647 100644 --- a/recipes-bsp/u-boot/u-boot-ti.inc +++ b/recipes-bsp/u-boot/u-boot-ti.inc @@ -41,6 +41,7 @@ PACKAGECONFIG[dm] = "DM=${STAGING_DIR_HOST}${nonarch_base_libdir}/firmware/pdk-i PACKAGECONFIG_append_aarch64 = " atf optee" PACKAGECONFIG_append_j7 = " dm" +PACKAGECONFIG_append_am62xx = " dm" COMPATIBLE_MACHINE = "(ti-soc)" @@ -69,6 +70,7 @@ SPL_UART_BINARY_j7200-hs-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_j721s2-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_BINARY_am64xx-hs-evm-k3r5 = "u-boot-spl.bin" +SPL_UART_BINARY_am62xx-evm-k3r5 = "u-boot-spl.bin" SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}" SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}" @@ -419,4 +421,9 @@ do_deploy_append_am64xx-hs-evm-k3r5 () { mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true } +do_deploy_append_am62xx-evm-k3r5 () { + mv ${DEPLOYDIR}/tiboot3.bin ${DEPLOYDIR}/tiboot3-r5spl.bin || true + mv ${DEPLOYDIR}/u-boot-spl.bin ${DEPLOYDIR}/u-boot-spl-r5spl.bin || true +} + TOOLCHAIN = "gcc" diff --git a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb index c5852dbd..02e5d665 100644 --- a/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb +++ b/recipes-ti/ti-rtos-bin/ti-rtos-firmware.bb @@ -19,6 +19,7 @@ PLAT_SFX_j7200-hs-evm = "j7200" PLAT_SFX_j721s2-evm = "j721s2" PLAT_SFX_am65xx = "am65xx" PLAT_SFX_am64xx = "am64xx" +PLAT_SFX_am62xx = "am62x" FILESEXTRAPATHS_prepend := "${METATIBASE}/recipes-bsp/ti-sci-fw/files/:" require recipes-bsp/ti-linux-fw/ti-linux-fw.inc @@ -50,11 +51,11 @@ DM_FIRMWARE = "ipc_echo_testb_mcu1_0_release_strip.xer5f" # J7 HS support do_install_prepend_j7-hs-evm() { - export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} - ( cd ${RTOS_DM_FW_DIR}; \ - mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ - ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ - ) + export TI_SECURE_DEV_PKG=${TI_SECURE_DEV_PKG} + ( cd ${RTOS_DM_FW_DIR}; \ + mv ${DM_FIRMWARE} ${DM_FIRMWARE}.unsigned; \ + ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${DM_FIRMWARE}.unsigned ${DM_FIRMWARE}; \ + ) } # J7 HS support @@ -77,6 +78,13 @@ do_install_prepend_am64xx() { ) } +# Update the am62xx ipc binaries to be consistent with other platforms +do_install_prepend_am62xx() { + ( cd ${RTOS_IPC_FW_DIR}; \ + mv am62-mcu-m4f0_0-fw ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f; \ + ) +} + #Install all R5 & DSP ipc echo test binaries in lib/firmware/pdk-ipc, with softlinks up a level do_install() { @@ -154,6 +162,13 @@ do_install_am64xx() { install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} } +do_install_am62xx() { + install -d ${LEGACY_IPC_FW_DIR} + install -m 0644 ${RTOS_IPC_FW_DIR}/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f ${LEGACY_IPC_FW_DIR} + # DM Firmware + install -m 0644 ${RTOS_DM_FW_DIR}/ipc_echo_testb_mcu1_0_release_strip.xer5f ${LEGACY_DM_FW_DIR} +} + # Set up names for the firmwares ALTERNATIVE_${PN}_am65xx = "\ am65x-mcu-r5f0_0-fw \ @@ -167,6 +182,10 @@ ALTERNATIVE_${PN}_am64xx = "\ am64-main-r5f1_1-fw \ am64-mcu-m4f0_0-fw \ " +ALTERNATIVE_${PN}_am62xx = "\ + am62-mcu-m4f0_0-fw \ + am62-main-r5f0_0-fw \ + " ALTERNATIVE_${PN}_j7 = "\ j7-mcu-r5f0_0-fw \ @@ -216,6 +235,9 @@ TARGET_MAIN_R5FSS1_0_am64xx = "am64-main-r5f1_0-fw" TARGET_MAIN_R5FSS1_1_am64xx = "am64-main-r5f1_1-fw" TARGET_MCU_M4FSS0_0_am64xx = "am64-mcu-m4f0_0-fw" +TARGET_MAIN_R5FSS0_0_am62xx = "am62-main-r5f0_0-fw" +TARGET_MCU_M4FSS0_0_am62xx = "am62-mcu-m4f0_0-fw" + TARGET_MCU_R5FSS0_0_j7 = "j7-mcu-r5f0_0-fw" TARGET_MCU_R5FSS0_1_j7 = "j7-mcu-r5f0_1-fw" TARGET_MAIN_R5FSS0_0_j7 = "j7-main-r5f0_0-fw" @@ -254,6 +276,9 @@ ALTERNATIVE_LINK_NAME[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/${TARGET_M ALTERNATIVE_LINK_NAME[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS1_1}" ALTERNATIVE_LINK_NAME[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" +ALTERNATIVE_LINK_NAME[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_M4FSS0_0}" + ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_0}" ALTERNATIVE_LINK_NAME[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/${TARGET_MCU_R5FSS0_1}" ALTERNATIVE_LINK_NAME[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/${TARGET_MAIN_R5FSS0_0}" @@ -289,6 +314,9 @@ ALTERNATIVE_TARGET[am64-main-r5f1_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_e ALTERNATIVE_TARGET[am64-main-r5f1_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_1_release_strip.xer5f" ALTERNATIVE_TARGET[am64-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu3_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-main-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" +ALTERNATIVE_TARGET[am62-mcu-m4f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_baremetal_test_mcu2_0_release_strip.xer5f" + ALTERNATIVE_TARGET[j7-mcu-r5f0_0-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_testb_mcu1_0_release_strip.xer5f" ALTERNATIVE_TARGET[j7-mcu-r5f0_1-fw] = "${base_libdir}/firmware/pdk-ipc/ipc_echo_test_mcu1_1_release_strip.xer5f" ALTERNATIVE_TARGET[j7-main-r5f0_0-fw] = "${base_libdir}/firmware/ethfw/app_remoteswitchcfg_server_strip.xer5f" -- 2.17.1
|
|
Re: [dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
On Fri, Mar 25, 2022 at 05:36:47PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote: On 3/25/22 5:30 PM, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 5:06 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:54:56PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote:
On 3/25/22 4:38 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
Migrate Imagination DDK 1.13 to DDK 1.15 for J721e Overall looks good, please see inline below. Yeah, I think keeping each series of GPU (SGX, Rogue, Albiorix) in their own separate recipes would be fine. Or are you suggesting splitting even further into separate recipes for SGX530 vs SGX540, etc?
I'm suggesting even further. The driver/package for SGX530 is not compatible and conflicts with the driver package for SGX540. So lets not have a single named package (ti-sgx-ddk-um) that can have very different contents, that's just confusing.
Oh, and not separate recipes, separate packages, they can all be provided by the same one or two recipes.
ti-sgx-530-um ti-sgx-544-um ti-axe1-16m-um etc..
Then:
PREFERRED_PROVIDER_virtual/libgles2:am62xx = "ti-axe1-16m-um"
PREFERRED_PROVIDER specifies the build-time dependency, i.e. a recipe. -- Denys
|
|
Re: [dunfell][PATCH v2] ti-graphics: gpu enable and move all platforms to ddk 1.15
On Fri, Mar 25, 2022 at 04:54:56PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote: On 3/25/22 4:38 PM, Denys Dmytriyenko wrote:
On Fri, Mar 25, 2022 at 04:21:38PM -0500, Andrew Davis wrote:
On 3/25/22 3:10 PM, Denys Dmytriyenko wrote:
On Wed, Mar 23, 2022 at 02:37:07PM -0500, Darren Etheridge wrote:
Enable the GPU for am62xx and j721s2 and use IMG DDK 1.15
Migrate Imagination DDK 1.13 to DDK 1.15 for J721e Overall looks good, please see inline below.
Thinking on this, the mapping between SoC family and the internal names like "RGX_BVNC" and "TARGET_PRODUCT" are specific to the version of this driver. For instance in the next DDK I may want the target name to go from "am62_linux" to "axb_128_linux", I would have to change things here (update the SRCREV) AND in the machine config. 1. I totally agree that "axb_128_linux" makes more sense than "am62_linux". 2. Changes like that happen very rarely. 3. You can call it PVR_MODEL or PVR_PRODUCT if you want, instead of PVR_SOC.
Mapping here feels like the right spot to me. I'd even argue the same for OPTEEMACHINE and the like, should go in the optee.bbappends with the rest of our platform specific recipe fixups, etc. The number of overrides in the recipe will keep on growing, as each new platform will need to add own config. That's the whole point of the machine configuration file to have those defined centrally.
The goal is to have a recipe as machine-agnostic and clean, as possible. Do not overwhelm it with tons of conditionals like that - any machine-specific configuration should be set in the machine config file.
Having all the fixups related to a package inside that package's definition sounds more central to me, and easier to reason about. But I can see the argument both ways. Think of it from another perspective - if you keep all machine overrides for one varibale in the same recipe, a minor change to one specific override there will make the recipe as "modified" for all platforms and all builds would have to be redone. But if that one variable is set in the machine config to a specific value, changing it for one platform won't affect other platforms and you'd only need to rebuild that changed platform. For example - let's add a new .dtbo for am65xx-evm... In first case you would modify an override in the kernel recipe: recipes-kernel/linux/linux-ti-staging_5.10.bb: KERNEL_DEVICETREE_am64xx-evm = "..." -KERNEL_DEVICETREE_am65xx-evm = "devtree.dtb overlay1.dtbo" +KERNEL_DEVICETREE_am65xx-evm = "devtree.dtb overlay1.dtbo overlay2.dtbo" KERNEL_DEVICETREE_j721e-evm = "..." So, you modified the kernel recipes, so now all platforms would have to rebuild the kernel and everything that depends on it. With all the variants (RT, non-RT, debug), brands and configs (nightly, RC, etc), that ends up in a lot of rebuilds in the farm (could be hundreds of rebuilds, if you count all permutations)! In the second case, the .dtbo is added in the machine config: conf/machine/am65xx-evm.conf: -KERNEL_DEVICETREE = "devtree.dtb overlay1.dtbo" +KERNEL_DEVICETREE = "devtree.dtb overlay1.dtbo overlay2.dtbo" And the kernel recipe wasn't touched, so only am65xx-evm needs to be rebuilt. Even with permutations, it's just several rebuilds of the same platform. The other point is that changes to the same variable more often happen one platform at a time (add a .dtbo, change defconfig or add a config fragment, even add a new platform), instead of changing globally for all platforms at the same time... PS. There are some advanced Yocto techniques to remedy the above rebuilding of dependency tree to some extent, such as hash equivalence and such, but that's still a bit cutting edge, somewhat unstable and might not be ready for production yet. -- Denys
|
|
Re: [master][PATCH 4/4] ti-sgx-ddk-um: only the am65xx member of the k3 family is supported
On Fri, Mar 25, 2022 at 01:41:51PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote: The AM65xx is the only member of the K3 family with an SGX GPU. Be specific here to avoid confusion.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...>
|
|
Re: [master][PATCH 3/4] ti-img-rogue-umlibs: only the j721e SoC is currently supported
On Fri, Mar 25, 2022 at 01:41:50PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote: There are now three SoCs in the J7 family, but only the j721e variant is currently supported. Be specific here.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...>
|
|
Re: [master][PATCH 2/4] meta-ti-bsp: add SoC families for the J7 SoCs
On Fri, Mar 25, 2022 at 01:41:49PM -0500, Andrew F. Davis via lists.yoctoproject.org wrote: This allows us to be more specific around what SoCs we support and lets us add features based on the SoC family not just at the EVM or whole J7family level.
Signed-off-by: Andrew Davis <afd@...> Tested-by: Denys Dmytriyenko <denys@...>
|
|