Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs
@ 2022-07-26 16:50 Xuanhao Shi via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection Xuanhao Shi via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 16:50 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Suniel Mahesh

*** BLURB HERE ***
The purpose of this series of patches is to include enable Buildroot to build for Texas Instruments AM6X boards.

These boards contain a separate 32-bit ARM R5 core that require a 32-bit ARM cross compiler. 
The R5 then configures some hardware before loading 64-bit code into DRAM. And this code will be run by a 64-bit ARM A53 core separately.

As a result, these boards would require two separate U-Boot builds with different cross compiler toolchains.

The more detailed boot process on these boards can be found at
https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html

I came across an old post about this:
http://lists.busybox.net/pipermail/buildroot/2019-October/262283.html
And the corresponding patch:
http://lists.busybox.net/pipermail/buildroot/2019-February/242251.html

So I used a similar idea and added on top of those patches to make the additions more generic to AM6X boards.

Buildroot as of now is able to build everything we need for the A53 core, but to build the R5 core, we would require a separate 32-bit arm-gnu-none-eabi cross compiler.
There is already a host package in Buildroot for the newest bare metal toolchain; however, there have been some bugs reported on 11.2:
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1969997
when the pre-packaged GCC was built, it could be targeting a newer x86_64 architecture than the processor being used.
This is why I modified the arm-gnu-toolchain host package to include an additional custom option to specify a different version.
Also, we would like to have TI's k3-image-gen to build the separate boot binary, tiboot3.bin, for the R5 core: 
https://git.ti.com/cgit/k3-image-gen/k3-image-gen/about/
Which requires u-boot-spl.bin from an additional U-Boot build with the R5's defconfig.

For the k3-image-gen package, it will depend on the arm-gnu-toolchain package and uboot.
After U-Boot finishes building all that's needed for the A53 core, it will use the arm-gnu-toolchain package to build U-Boot again to obtain the R5's u-boot-spl.bin.
Lastly, it will use u-boot-spl.bin to build the boot binary tiboot3.bin for all AM6X boards' R5 cores.
All of the outputs will be in $(BINARIES_DIR)/

The additions in board/ and configs/ use this series of packages to build the image needed for TI AM64x_sk board.

Xuanhao Shi (4):
  package/arm-gnu-toolchain: add version selection
  package/k3-image-gen: new package
  board/am6x: add new board support
  configs/am64x_sk_defconfig: add new defconfig

 .../linux/ti_sdk_arm64_release_defconfig      | 1983 +++++++++++++++++
 board/am6x/genimage.cfg                       |   27 +
 board/am6x/readme.txt                         |   41 +
 configs/am64x_sk_defconfig                    |   44 +
 package/Config.in                             |    1 +
 package/Config.in.host                        |    1 +
 package/arm-gnu-toolchain/Config.in.host      |   38 +
 .../arm-gnu-toolchain/arm-gnu-toolchain.mk    |    7 +
 package/k3-image-gen/Config.in                |   37 +
 package/k3-image-gen/k3-image-gen.hash        |    2 +
 package/k3-image-gen/k3-image-gen.mk          |   43 +
 11 files changed, 2224 insertions(+)
 create mode 100644 board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
 create mode 100644 board/am6x/genimage.cfg
 create mode 100644 board/am6x/readme.txt
 create mode 100644 configs/am64x_sk_defconfig
 create mode 100644 package/arm-gnu-toolchain/Config.in.host
 create mode 100644 package/k3-image-gen/Config.in
 create mode 100644 package/k3-image-gen/k3-image-gen.hash
 create mode 100644 package/k3-image-gen/k3-image-gen.mk

-- 
2.17.1

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

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

end of thread, other threads:[~2022-07-27 11:09 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-26 16:50 [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs Xuanhao Shi via buildroot
2022-07-26 16:50 ` [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection Xuanhao Shi via buildroot
2022-07-26 17:37   ` Thomas Petazzoni via buildroot
2022-07-26 19:32     ` Xuanhao Shi via buildroot
2022-07-26 20:07       ` Thomas Petazzoni via buildroot
2022-07-26 21:29         ` Xuanhao Shi via buildroot
2022-07-26 16:50 ` [Buildroot] [PATCH 2/4] package/k3-image-gen: new package Xuanhao Shi via buildroot
2022-07-26 18:55   ` Thomas Petazzoni via buildroot
2022-07-26 20:56     ` Xuanhao Shi via buildroot
2022-07-26 21:07       ` Thomas Petazzoni via buildroot
2022-07-26 21:31         ` Xuanhao Shi via buildroot
2022-07-27  8:22           ` Arnout Vandecappelle
2022-07-26 16:50 ` [Buildroot] [PATCH 3/4] board/am6x: add new board support Xuanhao Shi via buildroot
2022-07-26 18:58   ` Thomas Petazzoni via buildroot
2022-07-26 21:08     ` Xuanhao Shi via buildroot
2022-07-27  8:32       ` Arnout Vandecappelle
2022-07-26 16:50 ` [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig Xuanhao Shi via buildroot
2022-07-26 19:00   ` Thomas Petazzoni via buildroot
2022-07-26 21:11     ` Xuanhao Shi via buildroot

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