Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards
@ 2023-06-16  0:23 Andreas Dannenberg via buildroot
  2023-06-16  0:23 ` [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization Andreas Dannenberg via buildroot
                   ` (9 more replies)
  0 siblings, 10 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16  0:23 UTC (permalink / raw)
  To: buildroot; +Cc: Andreas Dannenberg

This series introduces support for TI's AM64x and AM62x SK boards.

The series was previously sent out by Xuanhao in August 2022 and was
reviewed by Giulio Benetti up to v5 (Thanks!). It was then picked up by
Anand who submitted v5 through v7 before work stalled late 2022.

I've since taken this over from Anand to drive this further due to some
customer requests we had here at TI (which led to the creation of a
temporary E2E FAQ document [1] to enable interested parties), and I
would like to contribute those recent changes to upstream, because that
is where the actual solution should reside.

This v8 series makes some major changes/additions on top of the existing
v7 series to take into account the popularity of AM62 (so support is
needed, including graphics) as well as "High Security" device variants,
something Julien Olivain came across just a few days ago. It also is
setup to be a current TI SDK v8.6 [2][3] production baseline-equivalent
in terms of U-Boot/Kernel/OPTEE/ATF sources as well as all the different
other device firmwares and tools (TIFS, DM, K3 Image Gen, GPU driver)
that are part of the official TI SDK, this way establishing a known
level of quality and feature-completeness. Since those different
components also have dependencies on each other and cannot be randomly
combined, the v8.6 baseline approach I've chosen also has some practical
reasons. See change log below for the details.

Furthermore, the series addresses most review comments for v7. However
since the scope has somewhat evolved and I reworked things quite a bit,
please take the time to look at the already much-reviewed patches
'boot/ti-k3-image-gen: add new package' and 'board/ti/am64x_sk: add new
board' a bit more closely again. I did carry over previous commit tags
despite the changes I made, please accept my apologies if you think this
was not appropriate because of the extra changes I introduced and let me
know. I'm certainly motivated now that the development is active again
to continue working this with all of you until things are in good shape.

As for future plans beyond this series, here's what I had in mind:

1) Migration to TI SDK v9.x baseline equivalent, once available. This
   will bring newer U-Boot 2023.04, Kernel v6.1, and matching GFX drivers.
   This should also eliminate the need for the boot/ti-k3-image-gen package
   as those tasks will then be taken care of by U-Boot/Binman moving
   forward. This migration will also improve the authenticated boot
   flow.

2) Migration to fully-upstream U-Boot, Kernel, and GFX driver sources
   once the open-source GFX driver is available (work in progress) which
   will eliminate the hard dependency on the Kernel version we have at the
   moment.


Changes in v8:
- extended to also include AM62 devices (somewhat similar device as
  AM64, but with graphics)
- added IMG Rogue graphics driver KM/UM packages supporting AM62
  and other TI K3 platform devices
- uses U-Boot/Kernel/ATF/OPTEE and various device firmwares from
  TI's Processor SDK Linux v8.6 [2][3] to achieve a similar level
  of basic platform feature-completeness and quality as the official SDK
- supports SK-AM62B with AM62 HS-FS and SK-AM64B with AM64 HS-FS
  High Security device variants by default. The switch to HS-FS
  devices was made through follow-on commit to document in the Git
  history how this is done (also allowing somebody to unroll it
  for a quick test on a GP device). Note that this requires the
  TI_SECURE_DEV_PKG environmental variable to be defined at build
  time pointing to a valid core-secdev-k3 folder location,
  otherwise the build will fail.
- extended ti-k3-r5-loader package to allow for full build source
  customization
- extended the ti-k3-image-gen package to accommodate the different
  classes of device firmware types used on TI K3 SoC like AM62 (TIFS)
  vs. AM64 (TISCI). With this support any TI K3 device including AM65,
  AM68, AM69, J721E etc. should now be enabled by this package.
- extended the uboot package to allow building a Device Manager (DM)
  firmware into the U-Boot SPL image as required on certain TI K3 SoCs
  like AM62, AM62A, etc.
- incorporated Thomas Petazzoni's feedback into k3-image-gen. Also
  this package no longer downloads stuff during build (ugh!!), thanks
  to changes as proposed by François Perrad.
- incorporated some cleanup feedback on k3-image-gen from Julien
  Olivain such as missing hash on LICENSE file and a later image
  Generator Git tag is now used (that is matching the TISDK v8.6
  baseline equivalent that is being implemented).
- improved wording/descriptions in the 'board/ti/am64x_sk: add new
  board' commit as suggested by Thomas Petazzoni. Did not make the
  change regarding explicitly specifying the Cortex-A53 core as it
  seems to be implied and is not emitted by 'make savedefconfig'.
  Also using a fixed version of OPTEE as per TI SDK v8.6 baseline
  addresses Thomas' the desire to build with a known-good version.

Changes in v7:
- changes per François Perrad's review comments

Changes in v6:
- rebased to latest next branch and retested
- updated u-boot and kernel to latest released versions as of today
From Andrew's comments:
- added a new SOC_TYPE option for k3-image-gen, as requested by Andrew
  Davis in a review comment.
From Romain's comments:
- use "if" instead of "depends on" for sub-options
- move TI K3 R5 Loader defconfig selection to Kconfig
- use $(HOST_DIR) instead of $(HOST_ARM_GNU_TOOLCHAIN_INSTALL_DIR)
- Retain Xuanhao's gmail ID in the MAINTAINERs file, but drop his TI
  email from CC list as it will be inactive till he rejoins TI
- Add a plain-text license file into the k3-image-gen repository and use
  it instead of the HTML manifest file. Confirmed that this is still
  BSD-3-Clause license.
- Add comments in the ti-k3-image-gen.mk file for a couple of options

Changes in v5:
- None (resubmission of Xuanhao's series)

Changes in v4:
- rebased to latest master and retested
- dropped OPTEE CUSTOM* options as we don't need them.

Changes in v3:
- Fix boot/ti-k3-r5-loader package's build options and dependencies.
- Fix boot/ti-k3-image-gen package's config
- Add more details in board/ti/am64x_sk's readme
- Trim configs/am64x_sk's toolchain options and 
  fix uboot and genimage dependencies.
- Remove board/ti/am62x_sk and configs/am62x_sk for now due to some
  firmware dependency problems. Will be added back in the future.

Changes in v2:
- Revert arm-gnu-toolchain back to version 10.x due to a bug.
  When the pre-packaged GCC was built, it could be targeting
  a newer x86_64 architecture than the processor being used.
- Add boot/ti-k3-r5-loader package that builds a separate U-Boot
  for the R5 cores on TI's K3 devices.
- Add boot/ti-k3-image-gen package that builds the full boot binary
  tiboot3.bin from the spl built from ti-k3-r5-loader.
- Add board/ti directory to include sdcard config and board information
  for AM64x_sk and AM62x_sk boards.
- Add the Buildroot defconfigs for AM64x_sk and AM62x_sk.
- Add to DEVELOPERS list.

[1] https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1226815/faq-buildroot-support-for-sitara-am62x-am62ax-am64x-devices
[2] https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM64X/08.06.00.42
[3] https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-AM62X/08.06.00.42


Andreas Dannenberg (7):
  boot/ti-k3-r5-loader: allow for full build source customization
  boot/uboot: add support for building the TI K3 DM into U-Boot
  board/ti/am62x_sk|am64x_sk: switch to TI SDK v8.6 sources
  board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
  package/ti-rogue-km: new package
  package/ti-rogue-um: new package
  configs/am62x_sk_defconfig: enable IMG Rogue graphics driver

Xuanhao Shi (3):
  boot/ti-k3-image-gen: new package
  board/ti/am64x_sk: add new board
  board/ti/am62x_sk: add new board

 DEVELOPERS                                    |   10 +
 board/ti/am62x_sk/genimage.cfg                |   27 +
 board/ti/am62x_sk/readme.txt                  |   42 +
 .../ti/am62x_sk/ti_sdk_arm64_debug_defconfig  | 1991 +++++++++++++++++
 .../am62x_sk/ti_sdk_arm64_release_defconfig   | 1894 ++++++++++++++++
 board/ti/am64x_sk/genimage.cfg                |   27 +
 board/ti/am64x_sk/readme.txt                  |   42 +
 .../ti/am64x_sk/ti_sdk_arm64_debug_defconfig  | 1991 +++++++++++++++++
 .../am64x_sk/ti_sdk_arm64_release_defconfig   | 1894 ++++++++++++++++
 boot/Config.in                                |    1 +
 boot/ti-k3-image-gen/Config.in                |   55 +
 boot/ti-k3-image-gen/ti-k3-image-gen.hash     |   23 +
 boot/ti-k3-image-gen/ti-k3-image-gen.mk       |   71 +
 boot/ti-k3-r5-loader/Config.in                |   65 +-
 boot/ti-k3-r5-loader/ti-k3-r5-loader.mk       |   28 +-
 boot/uboot/Config.in                          |   17 +
 boot/uboot/uboot.mk                           |   16 +
 configs/am62x_sk_defconfig                    |   56 +
 configs/am64x_sk_defconfig                    |   53 +
 package/Config.in                             |    2 +
 package/ti-rogue-km/Config.in                 |   28 +
 package/ti-rogue-km/ti-rogue-km.hash          |    3 +
 package/ti-rogue-km/ti-rogue-km.mk            |   37 +
 .../0001-all-drop-the-init-script.patch       |  832 +++++++
 package/ti-rogue-um/Config.in                 |   52 +
 package/ti-rogue-um/ti-rogue-um.hash          |    3 +
 package/ti-rogue-um/ti-rogue-um.mk            |   38 +
 27 files changed, 9294 insertions(+), 4 deletions(-)
 create mode 100644 board/ti/am62x_sk/genimage.cfg
 create mode 100644 board/ti/am62x_sk/readme.txt
 create mode 100644 board/ti/am62x_sk/ti_sdk_arm64_debug_defconfig
 create mode 100644 board/ti/am62x_sk/ti_sdk_arm64_release_defconfig
 create mode 100644 board/ti/am64x_sk/genimage.cfg
 create mode 100644 board/ti/am64x_sk/readme.txt
 create mode 100644 board/ti/am64x_sk/ti_sdk_arm64_debug_defconfig
 create mode 100644 board/ti/am64x_sk/ti_sdk_arm64_release_defconfig
 create mode 100644 boot/ti-k3-image-gen/Config.in
 create mode 100644 boot/ti-k3-image-gen/ti-k3-image-gen.hash
 create mode 100644 boot/ti-k3-image-gen/ti-k3-image-gen.mk
 create mode 100644 configs/am62x_sk_defconfig
 create mode 100644 configs/am64x_sk_defconfig
 create mode 100644 package/ti-rogue-km/Config.in
 create mode 100644 package/ti-rogue-km/ti-rogue-km.hash
 create mode 100644 package/ti-rogue-km/ti-rogue-km.mk
 create mode 100644 package/ti-rogue-um/0001-all-drop-the-init-script.patch
 create mode 100644 package/ti-rogue-um/Config.in
 create mode 100644 package/ti-rogue-um/ti-rogue-um.hash
 create mode 100644 package/ti-rogue-um/ti-rogue-um.mk

-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-12-13  4:47 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-16  0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization Andreas Dannenberg via buildroot
2023-06-16  1:39   ` Patrick Oppenlander
2023-06-16  2:25     ` Andreas Dannenberg via buildroot
2023-06-21 15:42       ` Andreas Dannenberg via buildroot
2023-06-21 23:35         ` Patrick Oppenlander
2023-08-22 10:16   ` Thomas Petazzoni via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package Andreas Dannenberg via buildroot
2023-08-22 10:29   ` Thomas Petazzoni via buildroot
2023-12-12 13:14     ` Romain Naour
2023-12-13  4:31       ` Bryan Brattlof via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 03/10] boot/uboot: add support for building the TI K3 DM into U-Boot Andreas Dannenberg via buildroot
2023-08-22 10:31   ` Thomas Petazzoni via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 04/10] board/ti/am64x_sk: add new board Andreas Dannenberg via buildroot
2023-08-22 10:32   ` Thomas Petazzoni via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 05/10] board/ti/am62x_sk: " Andreas Dannenberg via buildroot
2023-08-22 10:32   ` Thomas Petazzoni via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 06/10] board/ti/am62x_sk|am64x_sk: switch to TI SDK v8.6 sources Andreas Dannenberg via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants Andreas Dannenberg via buildroot
2023-06-16 11:15   ` François Perrad
2023-06-16 12:02     ` Andreas Dannenberg via buildroot
2023-06-16 16:40       ` François Perrad
2023-06-16 22:13         ` Andreas Dannenberg via buildroot
2023-06-17  9:37           ` François Perrad
2023-06-18 12:37             ` Andreas Dannenberg via buildroot
2023-06-18 12:27           ` Arnout Vandecappelle via buildroot
2023-06-18 13:43             ` Andreas Dannenberg via buildroot
2023-06-19 17:39   ` Julien Olivain
2023-06-21 15:32     ` Andreas Dannenberg via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 08/10] package/ti-rogue-km: new package Andreas Dannenberg via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 09/10] package/ti-rogue-um: " Andreas Dannenberg via buildroot
2023-06-16  0:23 ` [Buildroot] [PATCH v8 10/10] configs/am62x_sk_defconfig: enable IMG Rogue graphics driver Andreas Dannenberg via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox