* [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
* [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
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 ` Andreas Dannenberg via buildroot
2023-06-16 1:39 ` 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
` (8 subsequent siblings)
9 siblings, 2 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
The TI K3 R5 loader package essentially is a wrapper to build a special
version of U-boot SPL used as part of a multi-stage boot flow on TI K3
devices, and as such needs full flexibility as to specifying the U-Boot
sources used for the build. To accomodate this, add the same options as
already available in the regular U-Boot package. For most use cases, the
same source settings (repo URL, versions, etc.) should be used for both
ti-k3-r5-loader and uboot packages.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
boot/ti-k3-r5-loader/Config.in | 65 +++++++++++++++++++++++--
boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 28 ++++++++++-
2 files changed, 89 insertions(+), 4 deletions(-)
diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
index 10602c8df3..2419babe70 100644
--- a/boot/ti-k3-r5-loader/Config.in
+++ b/boot/ti-k3-r5-loader/Config.in
@@ -1,14 +1,73 @@
config BR2_TARGET_TI_K3_R5_LOADER
- bool "ti-k3-r5-loader"
+ bool "TI K3 R5 Loader"
depends on BR2_aarch64
help
- Separate U-Boot build for R5 cores on TI's k3 boards.
+ Separate U-Boot SPL build for R5 core on TI's K3 processors.
Usually used to build tiboot3.bin with k3-image-gen.
if BR2_TARGET_TI_K3_R5_LOADER
choice
- prompt "Configuration"
+ prompt "U-Boot Version"
+ help
+ Select the specific U-Boot version you want to use to build the
+ initial SPL running on the R5 core. Note that for most use cases
+ you'd want to use the exact same configuration here as it is used
+ to build the main U-Boot package.
+
+config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
+ bool "2022.10"
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
+ bool "Custom version"
+ help
+ This option allows to use a specific official versions
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
+ bool "Custom tarball"
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT
+ bool "Custom Git repository"
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG
+ bool "Custom Mercurial repository"
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
+ bool "Custom Subversion repository"
+
+endchoice
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE
+ string "U-Boot version"
+ depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION
+ string "URL of custom U-Boot tarball"
+ depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
+
+if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL
+ string "URL of custom repository"
+
+config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION
+ string "Custom repository version"
+ help
+ Revision to use in the typical format used by
+ Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
+
+endif
+
+config BR2_TARGET_TI_K3_R5_LOADER_VERSION
+ string
+ default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
+ default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \
+ if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
+ default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
+ default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \
+ if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
+choice
+ prompt "U-Boot Configuration"
default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
index afa309aa98..fe403a5c44 100644
--- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
+++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
@@ -2,11 +2,37 @@
#
# ti-k3-r5-loader
#
+# The ti-k3-r5 loader package should really be built from the same U-Boot
+# sources as the uboot package itself, so for most users so all LOADER_SITE /
+# LOADER_SOURCE type definitions should be set the same for both packages.
+# However it still makes sense to keep the ti-k3-r5-loader package somewhat
+# separated and independent from the uboot package to allow for special use
+# cases such as Falcon boot (which would skip the uboot package completely).
+#
################################################################################
-TI_K3_R5_LOADER_VERSION = 2022.10
+TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
+
+ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
+# Handle custom U-Boot tarballs as specified by the configuration
+TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
+TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
+TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
+else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
+TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
+TI_K3_R5_LOADER_SITE_METHOD = git
+else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
+TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
+TI_K3_R5_LOADER_SITE_METHOD = hg
+else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
+TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
+TI_K3_R5_LOADER_SITE_METHOD = svn
+else
+# Handle stable official U-Boot versions
TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
+endif
+
TI_K3_R5_LOADER_LICENSE = GPL-2.0+
TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package
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 0:23 ` Andreas Dannenberg via buildroot
2023-08-22 10:29 ` Thomas Petazzoni 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
` (7 subsequent siblings)
9 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot
Cc: Bryan Brattlof, Andrew Davis, Julien Olivain, Xuanhao Shi,
Giulio Benetti, Anand Gadiyar, Romain Naour, Andreas Dannenberg
From: Xuanhao Shi <x-shi@ti.com>
This is the image generator that builds the initial boot binary,
tiboot3.bin, for the R5 core on TI's K3 family of devices.
This requires the R5 SPL output from the ti-k3-r5-loader package.
https://git.ti.com/cgit/k3-image-gen/k3-image-gen
Signed-off-by: Xuanhao Shi <x-shi@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Acked-by: Andrew Davis <afd@ti.com>
Tested-by: Bryan Brattlof <bb@ti.com>
Cc: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
Reviewed-by: Julien Olivain <ju.o@free.fr>
---
DEVELOPERS | 2 +
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 +++++++++++++++++++++++
5 files changed, 152 insertions(+)
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
diff --git a/DEVELOPERS b/DEVELOPERS
index 56316201af..4d3e3b156a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -129,6 +129,7 @@ F: package/libxmlrpc/
F: package/python-docopt/
N: Anand Gadiyar <gadiyar@ti.com>
+F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
N: André Zwing <nerv@dawncrow.de>
@@ -3020,6 +3021,7 @@ N: Wojciech Niziński <niziak@spox.org>
F: package/fwup/
N: Xuanhao Shi <X15000177@gmail.com>
+F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
N: Yair Ben Avraham <yairba@protonmail.com>
diff --git a/boot/Config.in b/boot/Config.in
index 58366e035e..3c2b05438d 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -20,6 +20,7 @@ source "boot/opensbi/Config.in"
source "boot/s500-bootloader/Config.in"
source "boot/shim/Config.in"
source "boot/syslinux/Config.in"
+source "boot/ti-k3-image-gen/Config.in"
source "boot/ti-k3-r5-loader/Config.in"
source "boot/uboot/Config.in"
source "boot/vexpress-firmware/Config.in"
diff --git a/boot/ti-k3-image-gen/Config.in b/boot/ti-k3-image-gen/Config.in
new file mode 100644
index 0000000000..97cb470119
--- /dev/null
+++ b/boot/ti-k3-image-gen/Config.in
@@ -0,0 +1,55 @@
+config BR2_TARGET_TI_K3_IMAGE_GEN
+ bool "ti-k3-image-gen"
+ depends on BR2_TARGET_TI_K3_R5_LOADER
+ help
+ Use TI's k3-image-gen to build a separate bare metal
+ boot binary from a separate SPL that is running on
+ the R5 core. Currently supports version 08.06.00.007
+ as default.
+
+ https://git.ti.com/cgit/k3-image-gen/k3-image-gen/
+
+if BR2_TARGET_TI_K3_IMAGE_GEN
+choice
+ prompt "SoC firmware type for image gen"
+ default BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
+ bool "Firmware type TIFS"
+ help
+ Use firmware type TIFS for SoCs like AM62x and
+ AM62Ax.
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI
+ bool "Firmware type TISCI"
+ help
+ Use firmware type TISCI for SoCs like AM64x and
+ AM65x.
+
+endchoice
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC
+ string "SoC"
+ help
+ The target SoC option for image gen.
+ For example, "am64x" for AM64x boards.
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE
+ string "security type"
+ help
+ The target SoC security type option for image gen.
+ Valid options are "gp" for General Purpose devices,
+ "hs-fs" for High Security - Field Securable devices, or
+ "hs" for High Security - Security Enforcing devices.
+ Note for all High Security device variants the
+ TI_SECURE_DEV_PKG environmental variable must be defined
+ at build time pointing to a valid core-secdev-k3 folder
+ location, otherwise the build will fail, see
+ https://git.ti.com/cgit/security-development-tools/core-secdev-k3
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG
+ string "config type"
+ help
+ The board config option for image gen.
+ Usually "sk" or "evm".
+endif
diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.hash b/boot/ti-k3-image-gen/ti-k3-image-gen.hash
new file mode 100644
index 0000000000..6fb8c4c1eb
--- /dev/null
+++ b/boot/ti-k3-image-gen/ti-k3-image-gen.hash
@@ -0,0 +1,23 @@
+# Locally calculated
+sha256 f89ea4b1f5c992455b1a682fde48359221b53f3294135df4bf20feea6aea90e4 k3-image-gen-08.06.00.007.tar.gz
+sha256 f012e8d000d711d0539e5b4c812fc1d3a59c10fc1e3d6ea155556f5b78286845 LICENSE
+
+sha256 eca3d0dca65ceabdf17c7efa6b0eb651d365c6056730aa1c67700b7fea2e8bd2 ti-fs-firmware-am62x-gp.bin
+sha256 9ed6089ca7d59e9e5919b0da92effe788138edef41682e0bf7eaea25a896a4f1 ti-fs-firmware-am62x-hs-cert.bin
+sha256 655b5ded62b63f26c17b3ae2f23ac3565ae91fbd7fba1b7b0a4cb7807467523b ti-fs-firmware-am62x-hs-enc.bin
+sha256 5efa229acd122685fa928170a3f2e39597cce0231fca10b03d9b4d519db2259f ti-fs-firmware-am62x-hs-fs-cert.bin
+sha256 0f49da5e616a95dc8573531799d20fa7697a000f88084d09f3f6f5a665d85680 ti-fs-firmware-am62x-hs-fs-enc.bin
+
+sha256 c5c91d005b228a926fdc518f1e4365d2f693248a63f2432fccfbde10e5717499 ti-fs-firmware-am62ax-gp.bin
+sha256 6de6d6a249217b15dd78dfb2b0ca99bda95aa15b7e4867a2cbe0d5a169422522 ti-fs-firmware-am62ax-hs-cert.bin
+sha256 b1b3b25409013174fa5969b5bfaa572c0a79eee9e8b7445b3ac7867646eaf402 ti-fs-firmware-am62ax-hs-enc.bin
+sha256 652b1369bed586cc294a65ee690056763a12034e4c9f0d05ea3838dd60ec8aba ti-fs-firmware-am62ax-hs-fs-cert.bin
+sha256 b37f82dad0998921672b36b6aeb1473197ab2720f612c2409292a81561ddc602 ti-fs-firmware-am62ax-hs-fs-enc.bin
+
+sha256 958fdb0613a1dc3a5cb90edf35b84981b94bd70de6255cdf5f220bce2a4b10ef ti-sci-firmware-am64x-gp.bin
+sha256 cfee8679183577392b513b317a4d9a6af47cde9a59ecbad758704e4bec38196c ti-sci-firmware-am64x-hs-cert.bin
+sha256 8760b70cc18cd5921d634ce226122aed5a28d64857d90f6ede40f2383dabd169 ti-sci-firmware-am64x-hs-enc.bin
+sha256 1e78b106a8c7acd1641863ef86946e0d7272ad9b2d0e7ce451936d36a14e70e7 ti-sci-firmware-am64x_sr2-hs-cert.bin
+sha256 c626bacd4abfbe4de1133b72568394a2e20dbe9a1623a3e77bae9f000e743bb4 ti-sci-firmware-am64x_sr2-hs-enc.bin
+sha256 1d48d758d9ed940fe4072bd5b024ec502c72782ce2ca1c085f043f104a62ca70 ti-sci-firmware-am64x_sr2-hs-fs-cert.bin
+sha256 1b22ba9ab5b94a9942e1f9c203b81733030c8bf4543a0aefffd200876a0c66eb ti-sci-firmware-am64x_sr2-hs-fs-enc.bin
diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.mk b/boot/ti-k3-image-gen/ti-k3-image-gen.mk
new file mode 100644
index 0000000000..cdeac13cfa
--- /dev/null
+++ b/boot/ti-k3-image-gen/ti-k3-image-gen.mk
@@ -0,0 +1,71 @@
+################################################################################
+#
+# ti-k3-image-gen
+#
+################################################################################
+
+TI_K3_IMAGE_GEN_VERSION = 08.06.00.007
+TI_K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot
+TI_K3_IMAGE_GEN_SOURCE = k3-image-gen-$(TI_K3_IMAGE_GEN_VERSION).tar.gz
+TI_K3_IMAGE_GEN_LICENSE = BSD-3-Clause
+TI_K3_IMAGE_GEN_LICENSE_FILES = LICENSE
+TI_K3_IMAGE_GEN_INSTALL_IMAGES = YES
+
+# ti-k3-image-gen is used to build tiboot3.bin, using the r5-u-boot-spl.bin file
+# from the ti-k3-r5-loader package. Hence the dependency on ti-k3-r5-loader.
+TI_K3_IMAGE_GEN_DEPENDENCIES = host-arm-gnu-toolchain ti-k3-r5-loader
+
+ifeq ($(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS),y)
+TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,"ti-fs")
+else ifeq ($(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI),y)
+TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,"ti-sci")
+else
+$(error No TI K3 Image Gen firmware type set)
+endif
+
+TI_K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC))
+TI_K3_IMAGE_GEN_SOC_TYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE))
+TI_K3_IMAGE_GEN_CONFIG = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG))
+
+# This hash comes from the Makefile in ti-k3-image-gen and corresponds to
+# FW from Git tag 08.06.00.006
+TI_K3_SYSFW_VERSION = 340194800a581baf976360386dfc7b5acab8d948
+TI_K3_SYSFW_SITE = https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(TI_K3_SYSFW_VERSION)/ti-sysfw
+ifeq ($(TI_K3_IMAGE_GEN_SOC_TYPE),gp)
+TI_K3_SYSFW_SOURCE = \
+ $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE).bin
+else
+TI_K3_SYSFW_SOURCE = \
+ $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE)-cert.bin \
+ $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE)-enc.bin
+endif
+TI_K3_IMAGE_GEN_EXTRA_DOWNLOADS = $(patsubst %,$(TI_K3_SYSFW_SITE)/%,$(TI_K3_SYSFW_SOURCE))
+
+define TI_K3_SYSFW_COPY
+ $(foreach f,$(TI_K3_SYSFW_SOURCE), \
+ cp $(TI_K3_IMAGE_GEN_DL_DIR)/$(f) $(@D)$(sep))
+endef
+TI_K3_IMAGE_GEN_POST_EXTRACT_HOOKS += TI_K3_SYSFW_COPY
+
+# The ti-k3-image-gen makefiles seem to need some feature from Make v4.0,
+# similar to u-boot. Explicitly use $(BR2_MAKE) here, as the build
+# otherwise fails with some misleading error message.
+TI_K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
+TI_K3_IMAGE_GEN_MAKE_OPTS = \
+ SOC=$(TI_K3_IMAGE_GEN_SOC) \
+ SOC_TYPE=$(TI_K3_IMAGE_GEN_SOC_TYPE) \
+ CONFIG=$(TI_K3_IMAGE_GEN_CONFIG) \
+ CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
+ SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
+ O=$(@D)/tmp \
+ BIN_DIR=$(@D)
+
+define TI_K3_IMAGE_GEN_BUILD_CMDS
+ $(TI_K3_IMAGE_GEN_MAKE) -C $(@D) $(TI_K3_IMAGE_GEN_MAKE_OPTS)
+endef
+
+define TI_K3_IMAGE_GEN_INSTALL_IMAGES_CMDS
+ cp $(@D)/tiboot3.bin $(BINARIES_DIR)
+endef
+
+$(eval $(generic-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 03/10] boot/uboot: add support for building the TI K3 DM into U-Boot
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 0:23 ` [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package Andreas Dannenberg via buildroot
@ 2023-06-16 0:23 ` 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
` (6 subsequent siblings)
9 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
Certain TI K3 devices such as AM62x and AM62Ax require a Device Manager
(DM) firmnware to be made available to the U-Boot build, which will get
packaged into the "tispl.bin" image tree blob during A53 SPL build.
Without that DM firmware U-Boot will not be functional. To support this,
add a config option called BR2_TARGET_UBOOT_NEEDS_TI_K3_DM to enable
this feature, and another option BR2_TARGET_UBOOT_TI_K3_DM_SOC to allow
setting the name of the SOC which needs to match the corresponding
folder name in the ti-linux-firmware Git repository.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
boot/uboot/Config.in | 17 +++++++++++++++++
boot/uboot/uboot.mk | 16 ++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index 085397d03d..7e1dd44196 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -240,6 +240,23 @@ config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE
U-Boot, and that the TEE variable pointing to OPTEE's
tee.elf, is passed during the Buildroot build.
+config BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
+ bool "U-Boot needs TI K3 Device Manager (DM)"
+ help
+ Some TI K3 devices need the Device Manager (DM) firmware
+ to be available for the U-Boot build. Currently supports FW
+ from Git tag 08.06.00.006 by default.
+
+ https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm?h=ti-linux-firmware
+
+config BR2_TARGET_UBOOT_TI_K3_DM_SOC
+ string "TI K3 Device Manager (DM) SOC Type"
+ depends on BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
+ help
+ Name of the TI K3 Device Manager (DM) SOC. This needs to
+ match one of the SOC-specific folders in within the ti-dm
+ folder of the ti-linux-firmware Git repository.
+
config BR2_TARGET_UBOOT_NEEDS_OPENSBI
bool "U-Boot needs OpenSBI"
depends on BR2_TARGET_OPENSBI
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 4eae8e95c3..48af69bd26 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -184,6 +184,22 @@ UBOOT_DEPENDENCIES += optee-os
UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf
endif
+ifeq ($(BR2_TARGET_UBOOT_NEEDS_TI_K3_DM),y)
+# Currently supports the FW from Git tag 08.06.00.006 by default
+TI_K3_DM_VERSION = 340194800a581baf976360386dfc7b5acab8d948
+TI_K3_DM_SITE = https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(TI_K3_DM_VERSION)/ti-dm/$(BR2_TARGET_UBOOT_TI_K3_DM_SOC)
+TI_K3_DM_SOURCE = ipc_echo_testb_mcu1_0_release_strip.xer5f
+# This is not really nice but disable the hash check for the DM FW file. Main
+# reason is all those DM FW files for different SoCs have the same(!) name in
+# the Git repository they reside in, so it would be more difficult to distinguish
+# between them for hash checking purposes. To work around this let's just
+# rely and trust the official Git repo at ti.com is known-good which is also
+# accessed through a secure transport.
+BR_NO_CHECK_HASH_FOR += $(TI_K3_DM_SOURCE)
+UBOOT_EXTRA_DOWNLOADS = $(TI_K3_DM_SITE)/$(TI_K3_DM_SOURCE)
+UBOOT_MAKE_OPTS += DM=$(UBOOT_DL_DIR)/$(TI_K3_DM_SOURCE)
+endif
+
ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSBI),y)
UBOOT_DEPENDENCIES += opensbi
UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 04/10] board/ti/am64x_sk: add new board
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (2 preceding siblings ...)
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-06-16 0:23 ` 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
` (5 subsequent siblings)
9 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot
Cc: Bryan Brattlof, Andrew Davis, Julien Olivain, Xuanhao Shi,
Giulio Benetti, Anand Gadiyar, Romain Naour, Andreas Dannenberg
From: Xuanhao Shi <x-shi@ti.com>
Adds support for TI's SK-AM64 board by introducing the
am64x_sk_defconfig file and related support files.
More information about the board can be found at:
https://www.ti.com/tool/SK-AM64
Signed-off-by: Xuanhao Shi <x-shi@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Acked-by: Andrew Davis <afd@ti.com>
Tested-by: Bryan Brattlof <bb@ti.com>
Cc: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
Reviewed-by: Julien Olivain <ju.o@free.fr>
---
DEVELOPERS | 4 ++++
board/ti/am64x_sk/genimage.cfg | 27 +++++++++++++++++++++
board/ti/am64x_sk/readme.txt | 26 ++++++++++++++++++++
configs/am64x_sk_defconfig | 44 ++++++++++++++++++++++++++++++++++
4 files changed, 101 insertions(+)
create mode 100644 board/ti/am64x_sk/genimage.cfg
create mode 100644 board/ti/am64x_sk/readme.txt
create mode 100644 configs/am64x_sk_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 4d3e3b156a..6485061d4d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -129,8 +129,10 @@ F: package/libxmlrpc/
F: package/python-docopt/
N: Anand Gadiyar <gadiyar@ti.com>
+F: board/ti/am64x_sk/
F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
+F: configs/am64x_sk_defconfig
N: André Zwing <nerv@dawncrow.de>
F: package/libkrb5/
@@ -3021,8 +3023,10 @@ N: Wojciech Niziński <niziak@spox.org>
F: package/fwup/
N: Xuanhao Shi <X15000177@gmail.com>
+F: board/ti/am64x_sk/
F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
+F: configs/am64x_sk_defconfig
N: Yair Ben Avraham <yairba@protonmail.com>
F: package/casync/
diff --git a/board/ti/am64x_sk/genimage.cfg b/board/ti/am64x_sk/genimage.cfg
new file mode 100644
index 0000000000..26304fe98f
--- /dev/null
+++ b/board/ti/am64x_sk/genimage.cfg
@@ -0,0 +1,27 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "tiboot3.bin",
+ "tispl.bin",
+ "u-boot.img",
+ }
+ }
+
+ size = 16M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
new file mode 100644
index 0000000000..fe83c675f5
--- /dev/null
+++ b/board/ti/am64x_sk/readme.txt
@@ -0,0 +1,26 @@
+Texas Instuments SK-AM64 Test and Development Board
+
+Description
+===========
+This configuration will build a complete image for the TI SK-AM64 board.
+
+How to Build
+============
+Select the default configuration for the target:
+$ make am64x_sk_defconfig
+
+Optional: modify the configuration:
+$ make menuconfig
+
+Build:
+$ make
+
+To copy the resultimg output image file to an SD card use dd:
+$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
+
+How to Run
+==========
+Insert the SD card into the SK-AM62 board, and power it up through
+the USB Type-C connector. The system should come up. You can use
+a micro-USB cable to connect to the connector labeled DEBUG CONSOLE
+to communicate with the board.
diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
new file mode 100644
index 0000000000..38b18331f7
--- /dev/null
+++ b/configs/am64x_sk_defconfig
@@ -0,0 +1,44 @@
+BR2_aarch64=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am64x_sk/genimage.cfg"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
+BR2_TARGET_OPTEE_OS=y
+BR2_TARGET_OPTEE_OS_PLATFORM="k3"
+BR2_TARGET_TI_K3_IMAGE_GEN=y
+BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
+BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
+BR2_TARGET_TI_K3_R5_LOADER=y
+BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am64x_evm_r5"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="tispl.bin"
+BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 05/10] board/ti/am62x_sk: add new board
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (3 preceding siblings ...)
2023-06-16 0:23 ` [Buildroot] [PATCH v8 04/10] board/ti/am64x_sk: add new board Andreas Dannenberg via buildroot
@ 2023-06-16 0:23 ` 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
` (4 subsequent siblings)
9 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Xuanhao Shi, Andreas Dannenberg
From: Xuanhao Shi <x-shi@ti.com>
Adds support for TI's SK-AM62 board by introducing the
am62x_sk_defconfig file and related support files.
More information about the board can be found at:
https://www.ti.com/tool/SK-AM62
Signed-off-by: Xuanhao Shi <x-shi@ti.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
DEVELOPERS | 4 +++
board/ti/am62x_sk/genimage.cfg | 27 ++++++++++++++++++++
board/ti/am62x_sk/readme.txt | 26 ++++++++++++++++++++
configs/am62x_sk_defconfig | 45 ++++++++++++++++++++++++++++++++++
4 files changed, 102 insertions(+)
create mode 100644 board/ti/am62x_sk/genimage.cfg
create mode 100644 board/ti/am62x_sk/readme.txt
create mode 100644 configs/am62x_sk_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 6485061d4d..74bedf5603 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -129,9 +129,11 @@ F: package/libxmlrpc/
F: package/python-docopt/
N: Anand Gadiyar <gadiyar@ti.com>
+F: board/ti/am62x_sk/
F: board/ti/am64x_sk/
F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
+F: configs/am62x_sk_defconfig
F: configs/am64x_sk_defconfig
N: André Zwing <nerv@dawncrow.de>
@@ -3023,9 +3025,11 @@ N: Wojciech Niziński <niziak@spox.org>
F: package/fwup/
N: Xuanhao Shi <X15000177@gmail.com>
+F: board/ti/am62x_sk/
F: board/ti/am64x_sk/
F: boot/ti-k3-image-gen/
F: boot/ti-k3-r5-loader/
+F: configs/am62x_sk_defconfig
F: configs/am64x_sk_defconfig
N: Yair Ben Avraham <yairba@protonmail.com>
diff --git a/board/ti/am62x_sk/genimage.cfg b/board/ti/am62x_sk/genimage.cfg
new file mode 100644
index 0000000000..26304fe98f
--- /dev/null
+++ b/board/ti/am62x_sk/genimage.cfg
@@ -0,0 +1,27 @@
+image boot.vfat {
+ vfat {
+ files = {
+ "tiboot3.bin",
+ "tispl.bin",
+ "u-boot.img",
+ }
+ }
+
+ size = 16M
+}
+
+image sdcard.img {
+ hdimage {
+ }
+
+ partition u-boot {
+ partition-type = 0xC
+ bootable = "true"
+ image = "boot.vfat"
+ }
+
+ partition rootfs {
+ partition-type = 0x83
+ image = "rootfs.ext4"
+ }
+}
diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
new file mode 100644
index 0000000000..ccbb24896b
--- /dev/null
+++ b/board/ti/am62x_sk/readme.txt
@@ -0,0 +1,26 @@
+Texas Instuments SK-AM62 Test and Development Board
+
+Description
+===========
+This configuration will build a complete image for the TI SK-AM62 board.
+
+How to Build
+============
+Select the default configuration for the target:
+$ make am62x_sk_defconfig
+
+Optional: modify the configuration:
+$ make menuconfig
+
+Build:
+$ make
+
+To copy the resultimg output image file to an SD card use dd:
+$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
+
+How to Run
+==========
+Insert the SD card into the SK-AM62 board, and power it up through
+the USB Type-C connector. The system should come up. You can use
+a micro-USB cable to connect to the connector labeled UART to
+communicate with the board.
diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
new file mode 100644
index 0000000000..4babf26719
--- /dev/null
+++ b/configs/am62x_sk_defconfig
@@ -0,0 +1,45 @@
+BR2_aarch64=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x_sk/genimage.cfg"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
+BR2_TARGET_OPTEE_OS=y
+BR2_TARGET_OPTEE_OS_PLATFORM="k3"
+BR2_TARGET_TI_K3_IMAGE_GEN=y
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
+BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
+BR2_TARGET_TI_K3_R5_LOADER=y
+BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_NEEDS_TI_K3_DM=y
+BR2_TARGET_UBOOT_TI_K3_DM_SOC="am62xx"
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="tispl.bin"
+BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="TEE=$(BINARIES_DIR)/tee-pager_v2.bin"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 06/10] board/ti/am62x_sk|am64x_sk: switch to TI SDK v8.6 sources
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (4 preceding siblings ...)
2023-06-16 0:23 ` [Buildroot] [PATCH v8 05/10] board/ti/am62x_sk: " Andreas Dannenberg via buildroot
@ 2023-06-16 0:23 ` 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
` (3 subsequent siblings)
9 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
Switch the following projects to using the same Git source repos and
commit IDs that are used to build the TI SDK v8.6 for AM62x and AM64x
devices to establish a baseline for comparable functionality:
* TI Linux Kernel v5.10
* TI U-Boot v2021.01
* ARM Trusted Firmware
* OP-TEE
For the Linux Kernel this also includes switching the defconfig to a new
one that is generated with the ti_config_fragments/defconfig_builder.sh
tool that is part of the respective ti-linux-5.10.y repository.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
.../ti/am62x_sk/ti_sdk_arm64_debug_defconfig | 1991 +++++++++++++++++
.../am62x_sk/ti_sdk_arm64_release_defconfig | 1894 ++++++++++++++++
.../ti/am64x_sk/ti_sdk_arm64_debug_defconfig | 1991 +++++++++++++++++
.../am64x_sk/ti_sdk_arm64_release_defconfig | 1894 ++++++++++++++++
configs/am62x_sk_defconfig | 19 +-
configs/am64x_sk_defconfig | 19 +-
6 files changed, 7798 insertions(+), 10 deletions(-)
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/ti_sdk_arm64_debug_defconfig
create mode 100644 board/ti/am64x_sk/ti_sdk_arm64_release_defconfig
diff --git a/board/ti/am62x_sk/ti_sdk_arm64_debug_defconfig b/board/ti/am62x_sk/ti_sdk_arm64_debug_defconfig
new file mode 100644
index 0000000000..8d7304965f
--- /dev/null
+++ b/board/ti/am62x_sk/ti_sdk_arm64_debug_defconfig
@@ -0,0 +1,1991 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_K3=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_HIBERNATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
+CONFIG_ARM_QCOM_CPUFREQ_HW=y
+CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=y
+CONFIG_QORIQ_CPUFREQ=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_INTEL_STRATIX10_SERVICE=y
+CONFIG_INTEL_STRATIX10_RSU=m
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_CHACHA20_NEON=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IPV6=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_NET_DSA=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_ACT_GATE=m
+CONFIG_QRTR=m
+CONFIG_QRTR_SMD=m
+CONFIG_QRTR_TUN=m
+CONFIG_BPF_JIT=y
+CONFIG_CAN_RCAR=m
+CONFIG_CAN_RCAR_CANFD=m
+CONFIG_CAN_FLEXCAN=m
+CONFIG_BT=m
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=m
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PASID=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_PCI_AARDVARK=y
+CONFIG_PCI_TEGRA=y
+CONFIG_PCIE_RCAR_HOST=y
+CONFIG_PCIE_RCAR_EP=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_ALTERA=y
+CONFIG_PCIE_ALTERA_MSI=y
+CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HOST_THUNDER_ECAM=y
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_QCOM=y
+CONFIG_PCIE_ARMADA_8K=y
+CONFIG_PCIE_HISI_STB=y
+CONFIG_PCIE_TEGRA194_HOST=m
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_HISILICON_LPC=y
+CONFIG_SIMPLE_PM_BUS=y
+CONFIG_FSL_MC_BUS=y
+CONFIG_TEGRA_ACONNECT=m
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_NAND_MARVELL=y
+CONFIG_MTD_NAND_FSL_IFC=y
+CONFIG_MTD_NAND_QCOM=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=m
+CONFIG_VIRTIO_BLK=y
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT25=m
+CONFIG_UACCE=m
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_HISI_SAS=y
+CONFIG_SCSI_HISI_SAS_PCI=y
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_UFS_QCOM=m
+CONFIG_SCSI_UFS_HISI=y
+CONFIG_AHCI_CEVA=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_AHCI_XGENE=y
+CONFIG_AHCI_QORIQ=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_RCAR=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+CONFIG_MACVTAP=m
+CONFIG_TUN=y
+CONFIG_VIRTIO_NET=y
+CONFIG_NET_DSA_MSCC_FELIX=m
+CONFIG_AMD_XGBE=y
+CONFIG_NET_XGENE=y
+CONFIG_ATL1C=m
+CONFIG_BNX2X=m
+CONFIG_MACB=y
+CONFIG_THUNDER_NIC_PF=y
+CONFIG_FEC=y
+CONFIG_FSL_FMAN=y
+CONFIG_FSL_DPAA_ETH=y
+CONFIG_FSL_DPAA2_ETH=y
+CONFIG_FSL_ENETC=y
+CONFIG_FSL_ENETC_VF=y
+CONFIG_FSL_ENETC_QOS=y
+CONFIG_HIX5HD2_GMAC=y
+CONFIG_HNS_DSAF=y
+CONFIG_HNS_ENET=y
+CONFIG_HNS3=y
+CONFIG_HNS3_HCLGE=y
+CONFIG_HNS3_ENET=y
+CONFIG_IGBVF=y
+CONFIG_MVNETA=y
+CONFIG_MVPP2=y
+CONFIG_SKY2=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_QCOM_EMAC=m
+CONFIG_RMNET=m
+CONFIG_SH_ETH=y
+CONFIG_RAVB=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+CONFIG_SNI_AVE=y
+CONFIG_SNI_NETSEC=y
+CONFIG_STMMAC_ETH=m
+CONFIG_QCOM_IPA=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+CONFIG_AQUANTIA_PHY=y
+CONFIG_MARVELL_10G_PHY=m
+CONFIG_MESON_GXL_PHY=m
+CONFIG_MICROSEMI_PHY=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=m
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SNOC=m
+CONFIG_BRCMFMAC=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_IMX_SC_KEY=m
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PM8941_PWRKEY=y
+CONFIG_INPUT_PM8XXX_VIBRATOR=m
+CONFIG_INPUT_HISI_POWERKEY=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_BCM2835AUX=y
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_UNIPHIER=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_MESON=y
+CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_TEGRA_TCU=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_QCOM_GENI=y
+CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_OWL=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_BCM2835=m
+CONFIG_I2C_IMX=y
+CONFIG_I2C_IMX_LPI2C=y
+CONFIG_I2C_MESON=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_I2C_OWL=y
+CONFIG_I2C_PXA=y
+CONFIG_I2C_QCOM_CCI=m
+CONFIG_I2C_QCOM_GENI=m
+CONFIG_I2C_QUP=y
+CONFIG_I2C_SH_MOBILE=y
+CONFIG_I2C_TEGRA=y
+CONFIG_I2C_UNIPHIER_F=y
+CONFIG_I2C_RCAR=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_SPI=y
+CONFIG_SPI_ARMADA_3700=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_IMX=m
+CONFIG_SPI_FSL_DSPI=y
+CONFIG_SPI_MESON_SPICC=m
+CONFIG_SPI_MESON_SPIFC=m
+CONFIG_SPI_ORION=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_RPCIF=m
+CONFIG_SPI_QCOM_QSPI=m
+CONFIG_SPI_QUP=y
+CONFIG_SPI_QCOM_GENI=m
+CONFIG_SPI_S3C64XX=y
+CONFIG_SPI_SH_MSIOF=m
+CONFIG_SPI_SUN6I=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_OWL=y
+CONFIG_PINCTRL_S700=y
+CONFIG_PINCTRL_S900=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+CONFIG_PINCTRL_IMX8MP=y
+CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QXP=y
+CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IPQ8074=y
+CONFIG_PINCTRL_IPQ6018=y
+CONFIG_PINCTRL_MSM8916=y
+CONFIG_PINCTRL_MSM8994=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_QCS404=y
+CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
+CONFIG_PINCTRL_SC7180=y
+CONFIG_PINCTRL_SDM845=y
+CONFIG_PINCTRL_SM8150=y
+CONFIG_PINCTRL_SM8250=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_MPC8XXX=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RCAR=y
+CONFIG_GPIO_UNIPHIER=y
+CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_XGENE_SB=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_GPIO_SL28CPLD=m
+CONFIG_POWER_AVS=y
+CONFIG_QCOM_CPR=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_POWER_RESET_MSM=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_RASPBERRYPI_HWMON=m
+CONFIG_SENSORS_SL28CPLD=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_QORIQ_THERMAL=m
+CONFIG_SUN8I_THERMAL=y
+CONFIG_IMX_SC_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_RCAR_THERMAL=y
+CONFIG_RCAR_GEN3_THERMAL=y
+CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
+CONFIG_BCM2835_THERMAL=m
+CONFIG_BRCMSTB_THERMAL=m
+CONFIG_EXYNOS_THERMAL=y
+CONFIG_TEGRA_BPMP_THERMAL=m
+CONFIG_QCOM_TSENS=y
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
+CONFIG_UNIPHIER_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_SL28CPLD_WATCHDOG=m
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_ARM_SBSA_WATCHDOG=y
+CONFIG_ARM_SMC_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_DW_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_IMX2_WDT=y
+CONFIG_IMX_SC_WDT=m
+CONFIG_QCOM_WDT=m
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+CONFIG_RENESAS_WDT=y
+CONFIG_UNIPHIER_WATCHDOG=y
+CONFIG_BCM2835_WDT=y
+CONFIG_MFD_ALTERA_SYSMGR=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_AXP20X_RSB=y
+CONFIG_MFD_EXYNOS_LPASS=m
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_HI655X_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_SL28CPLD=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_MFD_WCD934X=m
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_HI655X=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_RPMH=y
+CONFIG_REGULATOR_QCOM_SMD_RPM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_RC_DECODERS=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_MESON=m
+CONFIG_IR_SUNXI=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_CSI2=m
+CONFIG_VIDEO_RCAR_VIN=m
+CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
+CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
+CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
+CONFIG_VIDEO_RENESAS_FDP1=m
+CONFIG_VIDEO_RENESAS_FCP=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+CONFIG_SDR_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_DRIF=m
+CONFIG_VIDEO_IMX219=m
+CONFIG_VIDEO_OV5645=m
+CONFIG_VIDEO_QCOM_CAMSS=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_EXYNOS=m
+CONFIG_DRM_EXYNOS5433_DECON=y
+CONFIG_DRM_EXYNOS7_DECON=y
+CONFIG_DRM_EXYNOS_DSI=y
+# CONFIG_DRM_EXYNOS_DP is not set
+CONFIG_DRM_EXYNOS_HDMI=y
+CONFIG_DRM_EXYNOS_MIC=y
+CONFIG_DRM_ROCKCHIP=m
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_DRM_RCAR_DU=m
+CONFIG_DRM_RCAR_DW_HDMI=m
+CONFIG_DRM_SUN4I=m
+CONFIG_DRM_SUN6I_DSI=m
+CONFIG_DRM_SUN8I_DW_HDMI=m
+CONFIG_DRM_SUN8I_MIXER=m
+CONFIG_DRM_MSM=m
+CONFIG_DRM_TEGRA=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_NWL_MIPI_DSI=m
+CONFIG_DRM_LONTIUM_LT9611=m
+CONFIG_DRM_SIMPLE_BRIDGE=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_I2C_ADV7511_AUDIO=y
+CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_VC4=m
+CONFIG_DRM_MESON=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_HDA_TEGRA=m
+CONFIG_SND_HDA_CODEC_HDMI=m
+CONFIG_SND_SOC=y
+CONFIG_SND_BCM2835_SOC_I2S=m
+CONFIG_SND_MESON_AXG_SOUND_CARD=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_APQ8016_SBC=m
+CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_SDM845=m
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+CONFIG_SND_SOC_SAMSUNG=y
+CONFIG_SND_SOC_RCAR=m
+CONFIG_SND_SUN4I_SPDIF=m
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA210_AHUB=m
+CONFIG_SND_SOC_TEGRA210_DMIC=m
+CONFIG_SND_SOC_TEGRA210_I2S=m
+CONFIG_SND_SOC_TEGRA186_DSPK=m
+CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WSA881X=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_I2C_HID=m
+CONFIG_USB_CONN_GPIO=m
+CONFIG_USB_OTG=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_TEGRA=y
+CONFIG_USB_EHCI_EXYNOS=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_EXYNOS=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_RENESAS_USBHS=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_RENESAS_USB3=m
+CONFIG_USB_TEGRA_XUDC=m
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_MESON_GX=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_SDHI=y
+CONFIG_MMC_UNIPHIER=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_SUNXI=y
+CONFIG_MMC_BCM2835=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_MMC_OWL=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC=y
+CONFIG_EDAC_GHES=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RV8803=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_S3C=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_ARMADA38X=y
+CONFIG_RTC_DRV_PM8XXX=m
+CONFIG_RTC_DRV_TEGRA=y
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_IMX_SC=m
+CONFIG_RTC_DRV_XGENE=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DMA_SUN6I=m
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_K3_DMA=y
+CONFIG_MV_XOR=y
+CONFIG_MV_XOR_V2=y
+CONFIG_OWL_DMA=y
+CONFIG_PL330_DMA=y
+CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA210_ADMA=m
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_RCAR_DMAC=y
+CONFIG_RENESAS_USB_DMAC=m
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_VFIO=y
+CONFIG_VFIO_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_MFD_CROS_EC_DEV=y
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_FSL_SAI=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_BD718XX=m
+CONFIG_CLK_RASPBERRYPI=m
+CONFIG_CLK_IMX8MM=y
+CONFIG_CLK_IMX8MN=y
+CONFIG_CLK_IMX8MP=y
+CONFIG_CLK_IMX8MQ=y
+CONFIG_CLK_IMX8QXP=y
+CONFIG_TI_SCI_CLK=y
+CONFIG_COMMON_CLK_QCOM=y
+CONFIG_QCOM_A53PLL=y
+CONFIG_QCOM_CLK_APCS_MSM8916=y
+CONFIG_QCOM_CLK_SMD_RPM=y
+CONFIG_QCOM_CLK_RPMH=y
+CONFIG_IPQ_GCC_8074=y
+CONFIG_IPQ_GCC_6018=y
+CONFIG_MSM_GCC_8916=y
+CONFIG_MSM_GCC_8994=y
+CONFIG_MSM_MMCC_8996=y
+CONFIG_MSM_GCC_8998=y
+CONFIG_QCS_GCC_404=y
+CONFIG_SC_GCC_7180=y
+CONFIG_SDM_CAMCC_845=m
+CONFIG_SDM_GCC_845=y
+CONFIG_SDM_GPUCC_845=y
+CONFIG_SDM_VIDEOCC_845=y
+CONFIG_SDM_DISPCC_845=y
+CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=y
+CONFIG_SM_GPUCC_8150=y
+CONFIG_SM_GPUCC_8250=y
+CONFIG_QCOM_HFPLL=y
+CONFIG_HWSPINLOCK=y
+CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_IMX_MBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_QCOM_APCS_IPC=y
+CONFIG_QCOM_IPCC=y
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_TEGRA_IOMMU_SMMU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_QCOM_IOMMU=y
+CONFIG_REMOTEPROC=y
+CONFIG_QCOM_Q6V5_MSS=m
+CONFIG_QCOM_Q6V5_PAS=m
+CONFIG_QCOM_SYSMON=m
+CONFIG_RPMSG_QCOM_GLINK_RPM=y
+CONFIG_RPMSG_QCOM_GLINK_SMEM=m
+CONFIG_RPMSG_QCOM_SMD=y
+CONFIG_SOUNDWIRE=m
+CONFIG_SOUNDWIRE_QCOM=m
+CONFIG_OWL_PM_DOMAINS=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_FSL_DPAA=y
+CONFIG_FSL_MC_DPIO=y
+CONFIG_QCOM_AOSS_QMP=y
+CONFIG_QCOM_GENI_SE=y
+CONFIG_QCOM_RMTFS_MEM=m
+CONFIG_QCOM_RPMH=y
+CONFIG_QCOM_RPMHPD=y
+CONFIG_QCOM_RPMPD=y
+CONFIG_QCOM_SMEM=y
+CONFIG_QCOM_SMD_RPM=y
+CONFIG_QCOM_SMP2P=y
+CONFIG_QCOM_SMSM=y
+CONFIG_QCOM_SOCINFO=m
+CONFIG_QCOM_APR=m
+CONFIG_ARCH_R8A774A1=y
+CONFIG_ARCH_R8A774B1=y
+CONFIG_ARCH_R8A774C0=y
+CONFIG_ARCH_R8A774E1=y
+CONFIG_ARCH_R8A77950=y
+CONFIG_ARCH_R8A77951=y
+CONFIG_ARCH_R8A77960=y
+CONFIG_ARCH_R8A77961=y
+CONFIG_ARCH_R8A77965=y
+CONFIG_ARCH_R8A77970=y
+CONFIG_ARCH_R8A77980=y
+CONFIG_ARCH_R8A77990=y
+CONFIG_ARCH_R8A77995=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_ARCH_TEGRA_194_SOC=y
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_EXTCON_PTN5150=m
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_RENESAS_RPCIF=m
+CONFIG_IIO=y
+CONFIG_EXYNOS_ADC=y
+CONFIG_MAX9611=m
+CONFIG_QCOM_SPMI_ADC5=m
+CONFIG_ROCKCHIP_SARADC=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_MESON=m
+CONFIG_PWM_RCAR=m
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_PWM_SAMSUNG=y
+CONFIG_PWM_SL28CPLD=m
+CONFIG_PWM_SUN4I=m
+CONFIG_PWM_TEGRA=m
+CONFIG_SL28CPLD_INTC=y
+CONFIG_QCOM_PDC=y
+CONFIG_RESET_IMX7=y
+CONFIG_RESET_QCOM_AOSS=y
+CONFIG_RESET_QCOM_PDC=m
+CONFIG_RESET_TI_SCI=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_SUN4I_USB=y
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_HI6220_USB=y
+CONFIG_PHY_HISTB_COMBPHY=y
+CONFIG_PHY_HISI_INNO_USB2=y
+CONFIG_PHY_MVEBU_CP110_COMPHY=y
+CONFIG_PHY_QCOM_QMP=m
+CONFIG_PHY_QCOM_QUSB2=m
+CONFIG_PHY_QCOM_USB_HS=y
+CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
+CONFIG_PHY_RCAR_GEN3_PCIE=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
+CONFIG_PHY_RCAR_GEN3_USB3=m
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_UNIPHIER_USB2=y
+CONFIG_PHY_UNIPHIER_USB3=y
+CONFIG_PHY_TEGRA_XUSB=y
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_FSL_IMX8_DDR_PMU=m
+CONFIG_HISI_PMU=y
+CONFIG_QCOM_L2_PMU=y
+CONFIG_QCOM_L3_PMU=y
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+CONFIG_QCOM_QFPROM=y
+CONFIG_ROCKCHIP_EFUSE=y
+CONFIG_NVMEM_SUNXI_SID=y
+CONFIG_UNIPHIER_EFUSE=y
+CONFIG_MESON_EFUSE=m
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_STRATIX10_SOC=m
+CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
+CONFIG_SLIM_QCOM_NGD_CTRL=m
+CONFIG_MUX_MMIO=y
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_QCOM=y
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
+CONFIG_INTERCONNECT_QCOM_SDM845=m
+CONFIG_INTERCONNECT_QCOM_SM8150=m
+CONFIG_INTERCONNECT_QCOM_SM8250=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VFAT_FS=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_9P_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
+CONFIG_CRYPTO_DEV_QCOM_RNG=m
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_FTRACE is not set
+CONFIG_MEMTEST=y
+CONFIG_ARCH_ACTIONS=n
+CONFIG_ARCH_SUNXI=n
+CONFIG_ARCH_AGILEX=n
+CONFIG_ARCH_ALPINE=n
+CONFIG_ARCH_BCM2835=n
+CONFIG_ARCH_BCM_IPROC=n
+CONFIG_ARCH_BERLIN=n
+CONFIG_ARCH_BRCMSTB=n
+CONFIG_ARCH_EXYNOS=n
+CONFIG_ARCH_LAYERSCAPE=n
+CONFIG_ARCH_LG1K=n
+CONFIG_ARCH_HISI=n
+CONFIG_ARCH_MEDIATEK=n
+CONFIG_ARCH_MESON=n
+CONFIG_ARCH_MVEBU=n
+CONFIG_ARCH_MXC=n
+CONFIG_ARCH_QCOM=n
+CONFIG_ARCH_ROCKCHIP=n
+CONFIG_ARCH_SEATTLE=n
+CONFIG_ARCH_RENESAS=n
+CONFIG_ARCH_R8A7795=n
+CONFIG_ARCH_R8A7796=n
+CONFIG_ARCH_S32=n
+CONFIG_ARCH_STRATIX10=n
+CONFIG_ARCH_SYNQUACER=n
+CONFIG_ARCH_TEGRA=n
+CONFIG_ARCH_SPRD=n
+CONFIG_ARCH_THUNDER=n
+CONFIG_ARCH_THUNDER2=n
+CONFIG_ARCH_UNIPHIER=n
+CONFIG_ARCH_VEXPRESS=n
+CONFIG_ARCH_VISCONTI=n
+CONFIG_ARCH_XGENE=n
+CONFIG_ARCH_ZX=n
+CONFIG_ARCH_ZYNQMP=n
+CONFIG_ARCH_TEGRA_132_SOC=n
+CONFIG_ARCH_TEGRA_210_SOC=n
+CONFIG_ARCH_TEGRA_186_SOC=n
+
+CONFIG_QCOM_FALKOR_ERRATUM_1003=n
+CONFIG_QCOM_FALKOR_ERRATUM_1009=n
+CONFIG_QCOM_QDF2400_ERRATUM_0065=n
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=n
+
+CONFIG_CAVIUM_ERRATUM_22375=n
+CONFIG_CAVIUM_ERRATUM_23144=n
+CONFIG_CAVIUM_ERRATUM_23154=n
+CONFIG_CAVIUM_ERRATUM_27456=n
+CONFIG_CAVIUM_ERRATUM_30115=n
+
+CONFIG_HISILICON_ERRATUM_161600802=n
+
+CONFIG_SERIAL_8250_FSL=n
+CONFIG_SERIAL_8250_DW=n
+CONFIG_SERIAL_AMBA_PL011=n
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=n
+CONFIG_SERIAL_XILINX_PS_UART=n
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=n
+
+CONFIG_ARM_SCPI_PROTOCOL=n
+CONFIG_ARM_SCPI_POWER_DOMAIN=n
+CONFIG_ARM_SCPI_CPUFREQ=n
+CONFIG_SENSORS_ARM_SCPI=n
+CONFIG_COMMON_CLK_SCPI=n
+
+CONFIG_ARM_MHU=n
+CONFIG_PLATFORM_MHU=n
+
+CONFIG_ACPI=n
+
+CONFIG_NUMA=n
+
+CONFIG_XEN=n
+CONFIG_KVM=n
+
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=n
+
+CONFIG_PCI_XGENE=n
+CONFIG_PCI_HISI=n
+CONFIG_PCIE_KIRIN=n
+
+# DRM
+CONFIG_DRM_NOUVEAU=n
+CONFIG_DRM_I2C_ADV7511=n
+CONFIG_DRM_ETNAVIV=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_DRM_MXSFB=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Video
+CONFIG_VGA_ARB=n
+CONFIG_FB_EFI=n
+
+# V4L2
+CONFIG_RC_CORE=n
+
+# Sound
+CONFIG_SND_SPI=n
+CONFIG_SND_SOC_FSL_SAI=n
+CONFIG_SND_SOC_AK4613=n
+CONFIG_SND_SOC_ES7134=n
+CONFIG_SND_SOC_ES7241=n
+CONFIG_SND_SOC_PCM3168A_I2C=n
+CONFIG_SND_SOC_TAS571X=n
+##################################################
+# TI Baseport Config Options
+##################################################
+
+# Serial
+CONFIG_SERIAL_8250_NR_UARTS=10
+CONFIG_SERIAL_8250_RUNTIME_UARTS=10
+
+# K3 Power config options
+CONFIG_PM=y
+
+# CPU Idle
+CONFIG_CPU_IDLE=y
+
+# ARM CPU Idle Drivers
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=n
+
+# CPU Frequency scaling
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+
+# Enable Reset Controllers
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_TI_SYSCON=y
+
+# Enable support for perf
+CONFIG_PERF_EVENTS=y
+
+# Add Bin2c
+CONFIG_BUILD_BIN2C=y
+
+# Add base Cgroups functions
+
+# Choose CONFIG_EMBEDDED
+CONFIG_EMBEDDED=y
+
+# Enable all kernel symbols please
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+
+# How do we want kernel Modules to work?
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+
+# Boot options
+CONFIG_CRASH_DUMP=n
+
+# Mem allocator
+
+# Pinctrl
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+
+# GPIO
+CONFIG_GPIO_SYSFS=y
+
+# Crypto SA2UL
+CONFIG_CRYPTO_DEV_SA2UL=m
+
+# Enable options to facilitate testing
+CONFIG_CRYPTO_TEST=m
+
+# Thermal
+CONFIG_K3_THERMAL=y
+
+# Disable extra debug options
+CONFIG_PROFILING=n
+
+# Block Layer
+CONFIG_BLK_DEV_RAM=y
+
+# PMIC
+CONFIG_MFD_PALMAS=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_PALMAS=y
+
+# Watchdog support
+CONFIG_K3_RTI_WATCHDOG=m
+
+# RTC Drivers
+CONFIG_RTC_DRV_TI_K3=y
+
+# Counter device
+CONFIG_COUNTER=m
+
+# UIO and overlay support for Jailhouse
+CONFIG_UIO=y
+CONFIG_OF_OVERLAY=y
+
+# DMA-BUF Heaps
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+CONFIG_DMABUF_HEAPS_CMA=y
+CONFIG_DMABUF_HEAPS_CARVEOUT=y
+CONFIG_SRAM_DMA_HEAP=y
+
+# DMA-BUF exporter
+CONFIG_DMA_BUF_PHYS=y
+
+# TI PAT
+CONFIG_TI_PAT=y
+
+# Enable Staging drivers for ARMV8
+CONFIG_STAGING=y
+
+# MCRC and its userspace support
+CONFIG_CRYPTO_DEV_TI_MCRC64=m
+CONFIG_CRYPTO_USER_API_HASH=m
+##################################################
+# TI RPMsg/IPC Config Options
+##################################################
+# HwSpinLock
+CONFIG_HWSPINLOCK_OMAP=y
+
+# Mailbox
+CONFIG_MAILBOX=y
+CONFIG_OMAP2PLUS_MBOX=y
+
+# SoC Drivers
+CONFIG_TI_PRUSS=m
+
+# IrqChip Drivers
+CONFIG_TI_PRUSS_INTC=m
+
+# Remoteproc
+CONFIG_TI_K3_R5_REMOTEPROC=m
+CONFIG_TI_K3_DSP_REMOTEPROC=m
+CONFIG_PRU_REMOTEPROC=m
+CONFIG_TI_K3_M4_REMOTEPROC=m
+
+# RPMsg
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_RPMSG_PRU=m
+
+# RPMsg Samples
+# CONFIG_SAMPLES=y
+# CONFIG_SAMPLE_RPMSG_CLIENT=m
+##################################################
+# TI Connectivity Configs
+##################################################
+
+# Disable unused I2C options
+CONFIG_I2C_MUX=n
+CONFIG_I2C_DESIGNWARE_PLATFORM=n
+CONFIG_I2C_GPIO=n
+CONFIG_I2C_RK3X=n
+CONFIG_I2C_XILINX=n
+
+# I2C controllers
+CONFIG_I2C=y
+CONFIG_I2C_OMAP=y
+
+# I2C GPIO expanders
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_TPIC2810=m
+
+#I2C EEPROMS
+CONFIG_EEPROM_AT24=m
+
+#SPI EEPROMS
+CONFIG_EEPROM_93XX46=m
+
+# PTP
+CONFIG_PTP_1588_CLOCK=y
+
+#Networking drivers
+CONFIG_NET_VENDOR_TI=y
+CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
+CONFIG_KEYSTONE_NAVIGATOR_DMA=y
+CONFIG_TI_KEYSTONE_NETCP=y
+CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_GPIO=y
+CONFIG_TI_CPSW=y
+CONFIG_TI_CPSW_SWITCHDEV=y
+CONFIG_TI_CPTS=y
+CONFIG_TI_RDEV_ETH_SWITCH_VIRT_EMAC=m
+CONFIG_TI_PRUETH=m
+CONFIG_TI_ICSSG_PRUETH=m
+CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
+# non-TI Net vendors
+CONFIG_NET_DSA_BCM_SF2=n
+CONFIG_B53=n
+CONFIG_SYSTEMPORT=n
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_VENDOR_ADAPTEC=n
+CONFIG_NET_VENDOR_AGERE=n
+CONFIG_NET_VENDOR_ALTEON=n
+CONFIG_NET_VENDOR_AMAZON=n
+CONFIG_NET_VENDOR_AMD=n
+CONFIG_NET_VENDOR_ARC=n
+CONFIG_NET_VENDOR_ATHEROS=n
+CONFIG_NET_VENDOR_BROCADE=n
+CONFIG_NET_VENDOR_CAVIUM=n
+CONFIG_NET_VENDOR_CHELSIO=n
+CONFIG_BCMGENET=n
+CONFIG_NET_VENDOR_CIRRUS=n
+CONFIG_NET_VENDOR_CISCO=n
+CONFIG_NET_VENDOR_DEC=n
+CONFIG_NET_VENDOR_DLINK=n
+CONFIG_NET_VENDOR_EMULEX=n
+CONFIG_NET_VENDOR_EZCHIP=n
+CONFIG_NET_VENDOR_FARADAY=n
+CONFIG_NET_VENDOR_HISILICON=n
+CONFIG_NET_VENDOR_HP=n
+CONFIG_IGB=n
+CONFIG_NET_VENDOR_I825XX=n
+CONFIG_NET_VENDOR_MELLANOX=n
+CONFIG_NET_VENDOR_MICROCHIP=n
+CONFIG_NET_VENDOR_MYRI=n
+CONFIG_NET_VENDOR_NATSEMI=n
+CONFIG_NET_VENDOR_NETRONOME=n
+CONFIG_NET_VENDOR_NVIDIA=n
+CONFIG_NET_VENDOR_OKI=n
+CONFIG_NET_VENDOR_8390=n
+CONFIG_NET_VENDOR_QLOGIC=n
+CONFIG_NET_VENDOR_REALTEK=n
+CONFIG_NET_VENDOR_RENESAS=n
+CONFIG_NET_VENDOR_RDC=n
+CONFIG_NET_VENDOR_ROCKER=n
+CONFIG_NET_VENDOR_SAMSUNG=n
+CONFIG_NET_VENDOR_SILAN=n
+CONFIG_NET_VENDOR_SIS=n
+CONFIG_NET_VENDOR_SEEQ=n
+CONFIG_NET_VENDOR_STMICRO=n
+CONFIG_NET_VENDOR_SUN=n
+CONFIG_NET_VENDOR_SYNOPSYS=n
+CONFIG_NET_VENDOR_TEHUTI=n
+CONFIG_NET_VENDOR_VIA=n
+CONFIG_NET_VENDOR_WIZNET=n
+#Wireless LAN
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WL18XX=m
+CONFIG_NL80211_TESTMODE=y
+CONFIG_MAC80211_MESH=y
+
+#MDIO phys
+CONFIG_MARVELL_PHY=y
+CONFIG_MICREL_PHY=y
+# unused PHY drivers
+CONFIG_BROADCOM_PHY=n
+CONFIG_ICPLUS_PHY=n
+#PRU MII PHYs for Industrial Boards
+CONFIG_DP83848_PHY=y
+# Enable phy for DRA72 evm
+CONFIG_DP83867_PHY=y
+# Enable phy for AM64 evm
+CONFIG_DP83869_PHY=y
+# Control onboard MDIO muxes
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
+
+#MTD
+CONFIG_MTD=y
+CONFIG_MEMORY=y
+CONFIG_TI_AEMIF=y
+CONFIG_OMAP_GPMC=y
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_BCH=y
+CONFIG_MTD_NAND_OMAP_BCH_BUILD=y
+CONFIG_MTD_NAND_DAVINCI=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_HYPERBUS=y
+CONFIG_HBMC_AM654=y
+
+#PCIE
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=y
+CONFIG_PCI_EPF_NTB=y
+CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_PCI_DRA7XX=y
+CONFIG_PCI_DRA7XX_HOST=y
+CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_KEYSTONE=y
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_KEYSTONE_EP=y
+CONFIG_PCI_J721E=y
+CONFIG_PCI_J721E_HOST=y
+CONFIG_PCI_J721E_EP=y
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+
+#NTB
+CONFIG_NTB=m
+CONFIG_NTB_EPF=m
+CONFIG_NTB_TRANSPORT=m
+CONFIG_NTB_NETDEV=m
+
+#NVME
+CONFIG_NVME_CORE=m
+CONFIG_BLK_DEV_NVME=m
+
+#These drivers have been used with DRA7x/AM57x PCIe RC with some success
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_TIGON3=m
+CONFIG_SKGE=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_B43=m
+#Generic Phys
+CONFIG_PHY_AM654_SERDES=y
+CONFIG_PHY_TI_KEYSTONE_SERDES=y
+CONFIG_PHY_CADENCE_SIERRA=y
+
+# Networking
+CONFIG_HSR=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE=m
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_INET=y
+CONFIG_INET_AH=m
+CONFIG_INET6_AH=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_SCH_FIFO=y
+CONFIG_IP_SCTP=m
+CONFIG_VLAN_8021Q=m
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_SWITCHDEV=y
+
+# Ethernet drivers
+CONFIG_TI_K3_AM65_CPSW_NUSS=y
+CONFIG_TI_AM65_CPSW_TAS=y
+CONFIG_TI_K3_AM65_CPTS=y
+#MMC/SD support
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_MMC_SDHCI_OMAP=y
+CONFIG_MMC_DW=n
+CONFIG_MMC_SDHCI_AM654=y
+
+#SPI
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_TI_QSPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SPIDEV=m
+#Disable unused SPI controllers
+CONFIG_SPI_BITBANG=n
+CONFIG_SPI_CADENCE=n
+CONFIG_SPI_ROCKCHIP=n
+CONFIG_SPI_XILINX=n
+
+#Disable SPI NOR 4K SECTORS
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n
+
+#SPI GPIO expanders
+CONFIG_GPIO_PISOSR=m
+
+#SATA
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_AHCI=m
+CONFIG_ATA=m
+
+#USB PHY
+CONFIG_OMAP_USB2=m
+
+#USB gadgets
+CONFIG_USB_GADGET=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+CONFIG_USB_G_WEBCAM=m
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
+CONFIG_USB_ZERO=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+
+# USB DWC3
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_OMAP=m
+CONFIG_USB_DWC3_KEYSTONE=m
+CONFIG_USB_DWC3_AM62=m
+CONFIG_USB_DWC3_PCI=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_CHIPIDEA=n
+
+# USB CDNS3
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_TI=m
+
+#USB PHY
+CONFIG_NOP_USB_XCEIV=m
+
+#USB MUSB
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_OMAP2PLUS=m
+CONFIG_USB_MUSB_AM35X=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_TI_CPPI41=y
+CONFIG_USB_TI_CPPI41_DMA=y
+CONFIG_AM335X_CONTROL_USB=y
+CONFIG_AM335X_PHY_USB=y
+
+#USB EHCI
+CONFIG_USB=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_OMAP=m
+
+#USB Networking
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_NET_ZAURUS=m
+
+#USB testing
+CONFIG_USB_TEST=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#USB Serial
+CONFIG_USB_ACM=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OPTION=m
+
+# Extcon drivers
+CONFIG_EXTCON=m
+CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_USB_GPIO=m
+
+# USB PD controller drivers
+CONFIG_TYPEC_TPS6598X=m
+
+# PWM
+CONFIG_PWM_TIECAP=y
+CONFIG_PWM_TIEHRPWM=y
+CONFIG_PWM_TIPWMSS=y
+CONFIG_PWM_OMAP_DMTIMER=y
+
+# eCAP driver
+CONFIG_TI_ECAP_CAPTURE=m
+
+# 1-wire Bus Masters
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
+
+# Matrix keypad
+CONFIG_KEYBOARD_MATRIX=m
+
+#Touchscreen/ADC
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TI_AM335X_ADC=m
+
+#CAN
+CONFIG_CAN=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+
+# CAN Transceiver
+CONFIG_PHY_CAN_TRANSCEIVER=m
+
+# Rotary Encoder
+CONFIG_INPUT_GPIO_DECODER=m
+
+# Filesystem extra options
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_UBIFS_FS=y
+
+# HD-Audio
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+
+#UFS
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_CDNS_PLATFORM=y
+CONFIG_SCSI_UFS_TI_J721E=y
+
+#PRUSS-UART
+CONFIG_SERIAL_8250_PRUSS=m
+
+# MUX Drivers
+CONFIG_MUX_GPIO=y
+
+# PRU Soft UART driver
+CONFIG_SERIAL_PRU_SWUART=m
+
+# Enable Power line communication Common drivers
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_QCA7000=m
+CONFIG_QCA7000_SPI=m
+CONFIG_QCA7000_UART=m
+
+# AF_XDP
+CONFIG_BPF_SYSCALL=y
+CONFIG_XDP_SOCKETS=y
+##################################################
+# TI Audio/Display config options
+##################################################
+
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=512
+
+# backlight
+
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TLC591XX=y
+
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_BACKLIGHT_LED=y
+
+# fbdev
+
+CONFIG_FB_SSD1307=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_DRM_MIPI_DBI=m
+CONFIG_TINYDRM_ILI9225=m
+
+# DRM
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_LVDS_CODEC=y
+CONFIG_DRM_SII902X=y
+CONFIG_DRM_TOSHIBA_TC358767=y
+CONFIG_DRM_TOSHIBA_TC358768=y
+CONFIG_DRM_TI_TFP410=y
+CONFIG_DRM_TI_TPD12S015=y
+
+# Firmware loading only works if built as module
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_CDNS_DSI=m
+
+CONFIG_PHY_J721E_WIZ=y
+CONFIG_PHY_CADENCE_TORRENT=y
+
+# SGX driver needs legacy support
+CONFIG_DRM_LEGACY=y
+
+CONFIG_DRM_I2C_NXP_TDA998X=y
+
+# tidss
+CONFIG_DRM_TIDSS=y
+
+# Touchscreen
+CONFIG_TOUCHSCREEN_GOODIX=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_HID_MULTITOUCH=m
+
+# V4L2
+CONFIG_VIDEO_CADENCE=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
+CONFIG_VIDEO_TI_CAL=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
+CONFIG_VIDEO_IMX390=m
+CONFIG_VIDEO_OV2659=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_OV1063X=m
+CONFIG_VIDEO_OV2312=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_PHY_CADENCE_DPHY=m
+
+# Sound
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+CONFIG_SND_SOC_J721E_EVM=m
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC3X=m
+
+# display sharing
+CONFIG_RPMSG_KDRV_DISPLAY=y
+##################################################
+# TI Multimedia (Video Decode, Encode) Configs
+##################################################
+
+# IMG D5500 v4l2 Driver Config Options
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_IMG_VXD_DEC=m
+
+# IMG VXE384 v4l2 Driver Config Options
+CONFIG_VIDEO_IMG_VXE_ENC=m
+
+# Enable multimedia staging drivers for Wave VPU driver.
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_WAVE_VPU=m
+##############################################
+#
+# Kernel options needed for systemd enabled TI SDKs
+# See https://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for details
+#
+##############################################
+CONFIG_TMPFS=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_PERF=y
+
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_NET=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+
+# udev will fail to work with the legacy sysfs layout:
+CONFIG_SYSFS_DEPRECATED=n
+
+# Legacy hotplug slows down the system and confuses udev:
+CONFIG_UEVENT_HELPER_PATH=""
+
+# Userspace firmware loading is not supported and should
+# be disabled in the kernel:
+CONFIG_FW_LOADER_USER_HELPER=n
+
+# Some udev rules and virtualization detection relies on it:
+# Only for UEFI based systems
+# http://cateee.net/lkddb/web-lkddb/DMI.html
+CONFIG_DMIID=n
+
+# Support for some SCSI devices serial number retrieval, to
+# create additional symlinks in /dev/disk/ and /dev/tape:
+CONFIG_BLK_DEV_BSG=y
+
+# Required for PrivateNetwork and PrivateDevices in service units:
+# Note that systemd-localed.service and other systemd units use
+# PrivateNetwork and PrivateDevices so this is effectively required.
+CONFIG_NAMESPACES=y
+CONFIG_NET_NS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+
+# Optional but strongly recommended options: those are nice to have and
+# indeed recommended, but not necessarily systemd required. These to be
+# enabled in corresponding domain fragments since they are not specific
+# to supporting systemd.
+
+CONFIG_SECCOMP=y
+# for kcmp syscall
+CONFIG_CHECKPOINT_RESTORE=y
+
+# Required for CPUShares= in resource control unit settings
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+
+# Required for CPUQuota= in resource control unit settings
+CONFIG_CFS_BANDWIDTH=y
+
+# For systemd-bootchart, several proc debug interfaces are required:
+# Systemd-debug.cfg?
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+
+# We recommend to turn off Real-Time group scheduling in the
+# kernel when using systemd. RT group scheduling effectively
+# makes RT scheduling unavailable for most userspace, since it
+# requires explicit assignment of RT budgets to each unit whose
+# processes making use of RT. As there's no sensible way to
+# assign these budgets automatically this cannot really be
+# fixed, and it's best to disable group scheduling hence.
+CONFIG_RT_GROUP_SCHED=n
+
+# Note that kernel auditing is broken when used with systemd's
+# container code. When using systemd in conjunction with
+# containers, please make sure to either turn off auditing at
+# runtime using the kernel command line option "audit=0", or
+# turn it off at kernel compile time using:
+CONFIG_AUDIT=n
+##############################################
+#
+# Kernel options needed for container enabled TI SDKs
+# See https://raw.githubusercontent.com/moby/moby/v20.10.12/contrib/check-config.sh
+# Also see lxc-checkconfig
+#
+##############################################
+
+# Just the basic container configuration necessary
+CONFIG_CGROUP_BPF=y
+CONFIG_VETH=m
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_RR=m
+CONFIG_VXLAN=m
+CONFIG_IPVLAN=m
+CONFIG_MACVLAN=m
+CONFIG_DUMMY=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_AUFS_FS=m
+CONFIG_BTRFS_FS=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_OVERLAY_FS=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+##################################################
+# Common Debug options considered generically
+# useful for kernel debug. This is not meant to
+# be an exhaustive list of options and will probably
+# have performance impact by using the same.
+#
+# IMPORTANT NOTE: Do not collect reference performance
+# data with this configuration.
+##################################################
+
+CONFIG_DYNAMIC_DEBUG=y
+
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_WANT_PAGE_DEBUG_FLAGS=y
+CONFIG_PAGE_POISONING=y
+CONFIG_DEBUG_OBJECTS=y
+CONFIG_DEBUG_OBJECTS_SELFTEST=n
+CONFIG_DEBUG_OBJECTS_FREE=n
+CONFIG_DEBUG_OBJECTS_TIMERS=n
+CONFIG_DEBUG_OBJECTS_WORK=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=n
+CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
+CONFIG_DEBUG_SLAB=y
+CONFIG_DEBUG_SLAB_LEAK=y
+CONFIG_SLUB_DEBUG=y
+
+CONFIG_DEBUG_KMEMLEAK=y
+CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000
+CONFIG_DEBUG_KMEMLEAK_TEST=n
+CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=n
+
+CONFIG_DEBUG_SHIRQ=n
+CONFIG_DEBUG_PREEMPT=y
+
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=300
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_ON_OOPS_VALUE=1
+
+CONFIG_DEBUG_RT_MUTEXES=y
+CONFIG_DEBUG_PI_LIST=y
+CONFIG_RT_MUTEX_TESTER=n
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_LOCKDEP=y
+CONFIG_LOCK_STAT=n
+CONFIG_DEBUG_LOCKDEP=y
+CONFIG_DEBUG_ATOMIC_SLEEP=y
+CONFIG_DEBUG_LOCKING_API_SELFTESTS=n
+CONFIG_STACKTRACE=y
+CONFIG_DEBUG_KOBJECT=n
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_WRITECOUNT=n
+CONFIG_DEBUG_LIST=y
+CONFIG_DEBUG_SG=y
+CONFIG_DEBUG_NOTIFIERS=y
+CONFIG_DEBUG_CREDENTIALS=n
+
+CONFIG_SPARSE_RCU_POINTER=y
+CONFIG_RCU_TORTURE_TEST=n
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_RCU_TRACE=y
+CONFIG_PROVE_RCU=y
+CONFIG_PROVE_RCU_REPEATEDLY=y
+
+CONFIG_DMA_API_DEBUG=y
+
+CONFIG_ARM_PTDUMP=y
+CONFIG_ARM_UNWIND=y
+CONFIG_DEBUG_USER=y
+
+# Cgroups debug
+CONFIG_CGROUP_DEBUG=y
+CONFIG_DEBUG_BLK_CGROUP=y
+
+# IRQ Domain debug
+CONFIG_IRQ_DOMAIN_DEBUG=y
+
+# Debug HighMem
+CONFIG_DEBUG_HIGHMEM=y
+
+# Crypto self-tests
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=n
+
+# Enable Debug configuration for EFI if enabled
+CONFIG_DEBUG_EFI=y
+
+# Power management options
+CONFIG_PM_DEBUG=y
diff --git a/board/ti/am62x_sk/ti_sdk_arm64_release_defconfig b/board/ti/am62x_sk/ti_sdk_arm64_release_defconfig
new file mode 100644
index 0000000000..ee87904022
--- /dev/null
+++ b/board/ti/am62x_sk/ti_sdk_arm64_release_defconfig
@@ -0,0 +1,1894 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_K3=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_HIBERNATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
+CONFIG_ARM_QCOM_CPUFREQ_HW=y
+CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=y
+CONFIG_QORIQ_CPUFREQ=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_INTEL_STRATIX10_SERVICE=y
+CONFIG_INTEL_STRATIX10_RSU=m
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_CHACHA20_NEON=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IPV6=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_NET_DSA=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_ACT_GATE=m
+CONFIG_QRTR=m
+CONFIG_QRTR_SMD=m
+CONFIG_QRTR_TUN=m
+CONFIG_BPF_JIT=y
+CONFIG_CAN_RCAR=m
+CONFIG_CAN_RCAR_CANFD=m
+CONFIG_CAN_FLEXCAN=m
+CONFIG_BT=m
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=m
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PASID=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_PCI_AARDVARK=y
+CONFIG_PCI_TEGRA=y
+CONFIG_PCIE_RCAR_HOST=y
+CONFIG_PCIE_RCAR_EP=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_ALTERA=y
+CONFIG_PCIE_ALTERA_MSI=y
+CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HOST_THUNDER_ECAM=y
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_QCOM=y
+CONFIG_PCIE_ARMADA_8K=y
+CONFIG_PCIE_HISI_STB=y
+CONFIG_PCIE_TEGRA194_HOST=m
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_HISILICON_LPC=y
+CONFIG_SIMPLE_PM_BUS=y
+CONFIG_FSL_MC_BUS=y
+CONFIG_TEGRA_ACONNECT=m
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_NAND_MARVELL=y
+CONFIG_MTD_NAND_FSL_IFC=y
+CONFIG_MTD_NAND_QCOM=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=m
+CONFIG_VIRTIO_BLK=y
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT25=m
+CONFIG_UACCE=m
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_HISI_SAS=y
+CONFIG_SCSI_HISI_SAS_PCI=y
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_UFS_QCOM=m
+CONFIG_SCSI_UFS_HISI=y
+CONFIG_AHCI_CEVA=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_AHCI_XGENE=y
+CONFIG_AHCI_QORIQ=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_RCAR=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+CONFIG_MACVTAP=m
+CONFIG_TUN=y
+CONFIG_VIRTIO_NET=y
+CONFIG_NET_DSA_MSCC_FELIX=m
+CONFIG_AMD_XGBE=y
+CONFIG_NET_XGENE=y
+CONFIG_ATL1C=m
+CONFIG_BNX2X=m
+CONFIG_MACB=y
+CONFIG_THUNDER_NIC_PF=y
+CONFIG_FEC=y
+CONFIG_FSL_FMAN=y
+CONFIG_FSL_DPAA_ETH=y
+CONFIG_FSL_DPAA2_ETH=y
+CONFIG_FSL_ENETC=y
+CONFIG_FSL_ENETC_VF=y
+CONFIG_FSL_ENETC_QOS=y
+CONFIG_HIX5HD2_GMAC=y
+CONFIG_HNS_DSAF=y
+CONFIG_HNS_ENET=y
+CONFIG_HNS3=y
+CONFIG_HNS3_HCLGE=y
+CONFIG_HNS3_ENET=y
+CONFIG_IGBVF=y
+CONFIG_MVNETA=y
+CONFIG_MVPP2=y
+CONFIG_SKY2=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_QCOM_EMAC=m
+CONFIG_RMNET=m
+CONFIG_SH_ETH=y
+CONFIG_RAVB=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+CONFIG_SNI_AVE=y
+CONFIG_SNI_NETSEC=y
+CONFIG_STMMAC_ETH=m
+CONFIG_QCOM_IPA=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+CONFIG_AQUANTIA_PHY=y
+CONFIG_MARVELL_10G_PHY=m
+CONFIG_MESON_GXL_PHY=m
+CONFIG_MICROSEMI_PHY=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=m
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SNOC=m
+CONFIG_BRCMFMAC=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_IMX_SC_KEY=m
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PM8941_PWRKEY=y
+CONFIG_INPUT_PM8XXX_VIBRATOR=m
+CONFIG_INPUT_HISI_POWERKEY=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_BCM2835AUX=y
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_UNIPHIER=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_MESON=y
+CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_TEGRA_TCU=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_QCOM_GENI=y
+CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_OWL=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_BCM2835=m
+CONFIG_I2C_IMX=y
+CONFIG_I2C_IMX_LPI2C=y
+CONFIG_I2C_MESON=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_I2C_OWL=y
+CONFIG_I2C_PXA=y
+CONFIG_I2C_QCOM_CCI=m
+CONFIG_I2C_QCOM_GENI=m
+CONFIG_I2C_QUP=y
+CONFIG_I2C_SH_MOBILE=y
+CONFIG_I2C_TEGRA=y
+CONFIG_I2C_UNIPHIER_F=y
+CONFIG_I2C_RCAR=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_SPI=y
+CONFIG_SPI_ARMADA_3700=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_IMX=m
+CONFIG_SPI_FSL_DSPI=y
+CONFIG_SPI_MESON_SPICC=m
+CONFIG_SPI_MESON_SPIFC=m
+CONFIG_SPI_ORION=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_RPCIF=m
+CONFIG_SPI_QCOM_QSPI=m
+CONFIG_SPI_QUP=y
+CONFIG_SPI_QCOM_GENI=m
+CONFIG_SPI_S3C64XX=y
+CONFIG_SPI_SH_MSIOF=m
+CONFIG_SPI_SUN6I=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_OWL=y
+CONFIG_PINCTRL_S700=y
+CONFIG_PINCTRL_S900=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+CONFIG_PINCTRL_IMX8MP=y
+CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QXP=y
+CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IPQ8074=y
+CONFIG_PINCTRL_IPQ6018=y
+CONFIG_PINCTRL_MSM8916=y
+CONFIG_PINCTRL_MSM8994=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_QCS404=y
+CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
+CONFIG_PINCTRL_SC7180=y
+CONFIG_PINCTRL_SDM845=y
+CONFIG_PINCTRL_SM8150=y
+CONFIG_PINCTRL_SM8250=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_MPC8XXX=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RCAR=y
+CONFIG_GPIO_UNIPHIER=y
+CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_XGENE_SB=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_GPIO_SL28CPLD=m
+CONFIG_POWER_AVS=y
+CONFIG_QCOM_CPR=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_POWER_RESET_MSM=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_RASPBERRYPI_HWMON=m
+CONFIG_SENSORS_SL28CPLD=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_QORIQ_THERMAL=m
+CONFIG_SUN8I_THERMAL=y
+CONFIG_IMX_SC_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_RCAR_THERMAL=y
+CONFIG_RCAR_GEN3_THERMAL=y
+CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
+CONFIG_BCM2835_THERMAL=m
+CONFIG_BRCMSTB_THERMAL=m
+CONFIG_EXYNOS_THERMAL=y
+CONFIG_TEGRA_BPMP_THERMAL=m
+CONFIG_QCOM_TSENS=y
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
+CONFIG_UNIPHIER_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_SL28CPLD_WATCHDOG=m
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_ARM_SBSA_WATCHDOG=y
+CONFIG_ARM_SMC_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_DW_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_IMX2_WDT=y
+CONFIG_IMX_SC_WDT=m
+CONFIG_QCOM_WDT=m
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+CONFIG_RENESAS_WDT=y
+CONFIG_UNIPHIER_WATCHDOG=y
+CONFIG_BCM2835_WDT=y
+CONFIG_MFD_ALTERA_SYSMGR=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_AXP20X_RSB=y
+CONFIG_MFD_EXYNOS_LPASS=m
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_HI655X_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_SL28CPLD=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_MFD_WCD934X=m
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_HI655X=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_RPMH=y
+CONFIG_REGULATOR_QCOM_SMD_RPM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_RC_DECODERS=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_MESON=m
+CONFIG_IR_SUNXI=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_CSI2=m
+CONFIG_VIDEO_RCAR_VIN=m
+CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
+CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
+CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
+CONFIG_VIDEO_RENESAS_FDP1=m
+CONFIG_VIDEO_RENESAS_FCP=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+CONFIG_SDR_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_DRIF=m
+CONFIG_VIDEO_IMX219=m
+CONFIG_VIDEO_OV5645=m
+CONFIG_VIDEO_QCOM_CAMSS=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_EXYNOS=m
+CONFIG_DRM_EXYNOS5433_DECON=y
+CONFIG_DRM_EXYNOS7_DECON=y
+CONFIG_DRM_EXYNOS_DSI=y
+# CONFIG_DRM_EXYNOS_DP is not set
+CONFIG_DRM_EXYNOS_HDMI=y
+CONFIG_DRM_EXYNOS_MIC=y
+CONFIG_DRM_ROCKCHIP=m
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_DRM_RCAR_DU=m
+CONFIG_DRM_RCAR_DW_HDMI=m
+CONFIG_DRM_SUN4I=m
+CONFIG_DRM_SUN6I_DSI=m
+CONFIG_DRM_SUN8I_DW_HDMI=m
+CONFIG_DRM_SUN8I_MIXER=m
+CONFIG_DRM_MSM=m
+CONFIG_DRM_TEGRA=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_NWL_MIPI_DSI=m
+CONFIG_DRM_LONTIUM_LT9611=m
+CONFIG_DRM_SIMPLE_BRIDGE=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_I2C_ADV7511_AUDIO=y
+CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_VC4=m
+CONFIG_DRM_MESON=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_HDA_TEGRA=m
+CONFIG_SND_HDA_CODEC_HDMI=m
+CONFIG_SND_SOC=y
+CONFIG_SND_BCM2835_SOC_I2S=m
+CONFIG_SND_MESON_AXG_SOUND_CARD=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_APQ8016_SBC=m
+CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_SDM845=m
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+CONFIG_SND_SOC_SAMSUNG=y
+CONFIG_SND_SOC_RCAR=m
+CONFIG_SND_SUN4I_SPDIF=m
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA210_AHUB=m
+CONFIG_SND_SOC_TEGRA210_DMIC=m
+CONFIG_SND_SOC_TEGRA210_I2S=m
+CONFIG_SND_SOC_TEGRA186_DSPK=m
+CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WSA881X=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_I2C_HID=m
+CONFIG_USB_CONN_GPIO=m
+CONFIG_USB_OTG=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_TEGRA=y
+CONFIG_USB_EHCI_EXYNOS=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_EXYNOS=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_RENESAS_USBHS=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_RENESAS_USB3=m
+CONFIG_USB_TEGRA_XUDC=m
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_MESON_GX=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_SDHI=y
+CONFIG_MMC_UNIPHIER=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_SUNXI=y
+CONFIG_MMC_BCM2835=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_MMC_OWL=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC=y
+CONFIG_EDAC_GHES=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RV8803=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_S3C=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_ARMADA38X=y
+CONFIG_RTC_DRV_PM8XXX=m
+CONFIG_RTC_DRV_TEGRA=y
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_IMX_SC=m
+CONFIG_RTC_DRV_XGENE=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DMA_SUN6I=m
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_K3_DMA=y
+CONFIG_MV_XOR=y
+CONFIG_MV_XOR_V2=y
+CONFIG_OWL_DMA=y
+CONFIG_PL330_DMA=y
+CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA210_ADMA=m
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_RCAR_DMAC=y
+CONFIG_RENESAS_USB_DMAC=m
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_VFIO=y
+CONFIG_VFIO_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_MFD_CROS_EC_DEV=y
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_FSL_SAI=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_BD718XX=m
+CONFIG_CLK_RASPBERRYPI=m
+CONFIG_CLK_IMX8MM=y
+CONFIG_CLK_IMX8MN=y
+CONFIG_CLK_IMX8MP=y
+CONFIG_CLK_IMX8MQ=y
+CONFIG_CLK_IMX8QXP=y
+CONFIG_TI_SCI_CLK=y
+CONFIG_COMMON_CLK_QCOM=y
+CONFIG_QCOM_A53PLL=y
+CONFIG_QCOM_CLK_APCS_MSM8916=y
+CONFIG_QCOM_CLK_SMD_RPM=y
+CONFIG_QCOM_CLK_RPMH=y
+CONFIG_IPQ_GCC_8074=y
+CONFIG_IPQ_GCC_6018=y
+CONFIG_MSM_GCC_8916=y
+CONFIG_MSM_GCC_8994=y
+CONFIG_MSM_MMCC_8996=y
+CONFIG_MSM_GCC_8998=y
+CONFIG_QCS_GCC_404=y
+CONFIG_SC_GCC_7180=y
+CONFIG_SDM_CAMCC_845=m
+CONFIG_SDM_GCC_845=y
+CONFIG_SDM_GPUCC_845=y
+CONFIG_SDM_VIDEOCC_845=y
+CONFIG_SDM_DISPCC_845=y
+CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=y
+CONFIG_SM_GPUCC_8150=y
+CONFIG_SM_GPUCC_8250=y
+CONFIG_QCOM_HFPLL=y
+CONFIG_HWSPINLOCK=y
+CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_IMX_MBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_QCOM_APCS_IPC=y
+CONFIG_QCOM_IPCC=y
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_TEGRA_IOMMU_SMMU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_QCOM_IOMMU=y
+CONFIG_REMOTEPROC=y
+CONFIG_QCOM_Q6V5_MSS=m
+CONFIG_QCOM_Q6V5_PAS=m
+CONFIG_QCOM_SYSMON=m
+CONFIG_RPMSG_QCOM_GLINK_RPM=y
+CONFIG_RPMSG_QCOM_GLINK_SMEM=m
+CONFIG_RPMSG_QCOM_SMD=y
+CONFIG_SOUNDWIRE=m
+CONFIG_SOUNDWIRE_QCOM=m
+CONFIG_OWL_PM_DOMAINS=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_FSL_DPAA=y
+CONFIG_FSL_MC_DPIO=y
+CONFIG_QCOM_AOSS_QMP=y
+CONFIG_QCOM_GENI_SE=y
+CONFIG_QCOM_RMTFS_MEM=m
+CONFIG_QCOM_RPMH=y
+CONFIG_QCOM_RPMHPD=y
+CONFIG_QCOM_RPMPD=y
+CONFIG_QCOM_SMEM=y
+CONFIG_QCOM_SMD_RPM=y
+CONFIG_QCOM_SMP2P=y
+CONFIG_QCOM_SMSM=y
+CONFIG_QCOM_SOCINFO=m
+CONFIG_QCOM_APR=m
+CONFIG_ARCH_R8A774A1=y
+CONFIG_ARCH_R8A774B1=y
+CONFIG_ARCH_R8A774C0=y
+CONFIG_ARCH_R8A774E1=y
+CONFIG_ARCH_R8A77950=y
+CONFIG_ARCH_R8A77951=y
+CONFIG_ARCH_R8A77960=y
+CONFIG_ARCH_R8A77961=y
+CONFIG_ARCH_R8A77965=y
+CONFIG_ARCH_R8A77970=y
+CONFIG_ARCH_R8A77980=y
+CONFIG_ARCH_R8A77990=y
+CONFIG_ARCH_R8A77995=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_ARCH_TEGRA_194_SOC=y
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_EXTCON_PTN5150=m
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_RENESAS_RPCIF=m
+CONFIG_IIO=y
+CONFIG_EXYNOS_ADC=y
+CONFIG_MAX9611=m
+CONFIG_QCOM_SPMI_ADC5=m
+CONFIG_ROCKCHIP_SARADC=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_MESON=m
+CONFIG_PWM_RCAR=m
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_PWM_SAMSUNG=y
+CONFIG_PWM_SL28CPLD=m
+CONFIG_PWM_SUN4I=m
+CONFIG_PWM_TEGRA=m
+CONFIG_SL28CPLD_INTC=y
+CONFIG_QCOM_PDC=y
+CONFIG_RESET_IMX7=y
+CONFIG_RESET_QCOM_AOSS=y
+CONFIG_RESET_QCOM_PDC=m
+CONFIG_RESET_TI_SCI=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_SUN4I_USB=y
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_HI6220_USB=y
+CONFIG_PHY_HISTB_COMBPHY=y
+CONFIG_PHY_HISI_INNO_USB2=y
+CONFIG_PHY_MVEBU_CP110_COMPHY=y
+CONFIG_PHY_QCOM_QMP=m
+CONFIG_PHY_QCOM_QUSB2=m
+CONFIG_PHY_QCOM_USB_HS=y
+CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
+CONFIG_PHY_RCAR_GEN3_PCIE=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
+CONFIG_PHY_RCAR_GEN3_USB3=m
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_UNIPHIER_USB2=y
+CONFIG_PHY_UNIPHIER_USB3=y
+CONFIG_PHY_TEGRA_XUSB=y
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_FSL_IMX8_DDR_PMU=m
+CONFIG_HISI_PMU=y
+CONFIG_QCOM_L2_PMU=y
+CONFIG_QCOM_L3_PMU=y
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+CONFIG_QCOM_QFPROM=y
+CONFIG_ROCKCHIP_EFUSE=y
+CONFIG_NVMEM_SUNXI_SID=y
+CONFIG_UNIPHIER_EFUSE=y
+CONFIG_MESON_EFUSE=m
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_STRATIX10_SOC=m
+CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
+CONFIG_SLIM_QCOM_NGD_CTRL=m
+CONFIG_MUX_MMIO=y
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_QCOM=y
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
+CONFIG_INTERCONNECT_QCOM_SDM845=m
+CONFIG_INTERCONNECT_QCOM_SM8150=m
+CONFIG_INTERCONNECT_QCOM_SM8250=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VFAT_FS=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_9P_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
+CONFIG_CRYPTO_DEV_QCOM_RNG=m
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_FTRACE is not set
+CONFIG_MEMTEST=y
+CONFIG_ARCH_ACTIONS=n
+CONFIG_ARCH_SUNXI=n
+CONFIG_ARCH_AGILEX=n
+CONFIG_ARCH_ALPINE=n
+CONFIG_ARCH_BCM2835=n
+CONFIG_ARCH_BCM_IPROC=n
+CONFIG_ARCH_BERLIN=n
+CONFIG_ARCH_BRCMSTB=n
+CONFIG_ARCH_EXYNOS=n
+CONFIG_ARCH_LAYERSCAPE=n
+CONFIG_ARCH_LG1K=n
+CONFIG_ARCH_HISI=n
+CONFIG_ARCH_MEDIATEK=n
+CONFIG_ARCH_MESON=n
+CONFIG_ARCH_MVEBU=n
+CONFIG_ARCH_MXC=n
+CONFIG_ARCH_QCOM=n
+CONFIG_ARCH_ROCKCHIP=n
+CONFIG_ARCH_SEATTLE=n
+CONFIG_ARCH_RENESAS=n
+CONFIG_ARCH_R8A7795=n
+CONFIG_ARCH_R8A7796=n
+CONFIG_ARCH_S32=n
+CONFIG_ARCH_STRATIX10=n
+CONFIG_ARCH_SYNQUACER=n
+CONFIG_ARCH_TEGRA=n
+CONFIG_ARCH_SPRD=n
+CONFIG_ARCH_THUNDER=n
+CONFIG_ARCH_THUNDER2=n
+CONFIG_ARCH_UNIPHIER=n
+CONFIG_ARCH_VEXPRESS=n
+CONFIG_ARCH_VISCONTI=n
+CONFIG_ARCH_XGENE=n
+CONFIG_ARCH_ZX=n
+CONFIG_ARCH_ZYNQMP=n
+CONFIG_ARCH_TEGRA_132_SOC=n
+CONFIG_ARCH_TEGRA_210_SOC=n
+CONFIG_ARCH_TEGRA_186_SOC=n
+
+CONFIG_QCOM_FALKOR_ERRATUM_1003=n
+CONFIG_QCOM_FALKOR_ERRATUM_1009=n
+CONFIG_QCOM_QDF2400_ERRATUM_0065=n
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=n
+
+CONFIG_CAVIUM_ERRATUM_22375=n
+CONFIG_CAVIUM_ERRATUM_23144=n
+CONFIG_CAVIUM_ERRATUM_23154=n
+CONFIG_CAVIUM_ERRATUM_27456=n
+CONFIG_CAVIUM_ERRATUM_30115=n
+
+CONFIG_HISILICON_ERRATUM_161600802=n
+
+CONFIG_SERIAL_8250_FSL=n
+CONFIG_SERIAL_8250_DW=n
+CONFIG_SERIAL_AMBA_PL011=n
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=n
+CONFIG_SERIAL_XILINX_PS_UART=n
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=n
+
+CONFIG_ARM_SCPI_PROTOCOL=n
+CONFIG_ARM_SCPI_POWER_DOMAIN=n
+CONFIG_ARM_SCPI_CPUFREQ=n
+CONFIG_SENSORS_ARM_SCPI=n
+CONFIG_COMMON_CLK_SCPI=n
+
+CONFIG_ARM_MHU=n
+CONFIG_PLATFORM_MHU=n
+
+CONFIG_ACPI=n
+
+CONFIG_NUMA=n
+
+CONFIG_XEN=n
+CONFIG_KVM=n
+
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=n
+
+CONFIG_PCI_XGENE=n
+CONFIG_PCI_HISI=n
+CONFIG_PCIE_KIRIN=n
+
+# DRM
+CONFIG_DRM_NOUVEAU=n
+CONFIG_DRM_I2C_ADV7511=n
+CONFIG_DRM_ETNAVIV=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_DRM_MXSFB=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Video
+CONFIG_VGA_ARB=n
+CONFIG_FB_EFI=n
+
+# V4L2
+CONFIG_RC_CORE=n
+
+# Sound
+CONFIG_SND_SPI=n
+CONFIG_SND_SOC_FSL_SAI=n
+CONFIG_SND_SOC_AK4613=n
+CONFIG_SND_SOC_ES7134=n
+CONFIG_SND_SOC_ES7241=n
+CONFIG_SND_SOC_PCM3168A_I2C=n
+CONFIG_SND_SOC_TAS571X=n
+##################################################
+# TI Baseport Config Options
+##################################################
+
+# Serial
+CONFIG_SERIAL_8250_NR_UARTS=10
+CONFIG_SERIAL_8250_RUNTIME_UARTS=10
+
+# K3 Power config options
+CONFIG_PM=y
+
+# CPU Idle
+CONFIG_CPU_IDLE=y
+
+# ARM CPU Idle Drivers
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=n
+
+# CPU Frequency scaling
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+
+# Enable Reset Controllers
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_TI_SYSCON=y
+
+# Enable support for perf
+CONFIG_PERF_EVENTS=y
+
+# Add Bin2c
+CONFIG_BUILD_BIN2C=y
+
+# Add base Cgroups functions
+
+# Choose CONFIG_EMBEDDED
+CONFIG_EMBEDDED=y
+
+# Enable all kernel symbols please
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+
+# How do we want kernel Modules to work?
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+
+# Boot options
+CONFIG_CRASH_DUMP=n
+
+# Mem allocator
+CONFIG_SLUB_DEBUG=n
+
+# Pinctrl
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+
+# GPIO
+CONFIG_GPIO_SYSFS=y
+
+# Crypto SA2UL
+CONFIG_CRYPTO_DEV_SA2UL=m
+
+# Enable options to facilitate testing
+CONFIG_CRYPTO_TEST=m
+
+# Thermal
+CONFIG_K3_THERMAL=y
+
+# Disable extra debug options
+CONFIG_PROFILING=n
+
+# Block Layer
+CONFIG_BLK_DEV_RAM=y
+
+# PMIC
+CONFIG_MFD_PALMAS=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_PALMAS=y
+
+# Watchdog support
+CONFIG_K3_RTI_WATCHDOG=m
+
+# RTC Drivers
+CONFIG_RTC_DRV_TI_K3=y
+
+# Counter device
+CONFIG_COUNTER=m
+
+# UIO and overlay support for Jailhouse
+CONFIG_UIO=y
+CONFIG_OF_OVERLAY=y
+
+# DMA-BUF Heaps
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+CONFIG_DMABUF_HEAPS_CMA=y
+CONFIG_DMABUF_HEAPS_CARVEOUT=y
+CONFIG_SRAM_DMA_HEAP=y
+
+# DMA-BUF exporter
+CONFIG_DMA_BUF_PHYS=y
+
+# TI PAT
+CONFIG_TI_PAT=y
+
+# Enable Staging drivers for ARMV8
+CONFIG_STAGING=y
+
+# MCRC and its userspace support
+CONFIG_CRYPTO_DEV_TI_MCRC64=m
+CONFIG_CRYPTO_USER_API_HASH=m
+##################################################
+# TI RPMsg/IPC Config Options
+##################################################
+# HwSpinLock
+CONFIG_HWSPINLOCK_OMAP=y
+
+# Mailbox
+CONFIG_MAILBOX=y
+CONFIG_OMAP2PLUS_MBOX=y
+
+# SoC Drivers
+CONFIG_TI_PRUSS=m
+
+# IrqChip Drivers
+CONFIG_TI_PRUSS_INTC=m
+
+# Remoteproc
+CONFIG_TI_K3_R5_REMOTEPROC=m
+CONFIG_TI_K3_DSP_REMOTEPROC=m
+CONFIG_PRU_REMOTEPROC=m
+CONFIG_TI_K3_M4_REMOTEPROC=m
+
+# RPMsg
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_RPMSG_PRU=m
+
+# RPMsg Samples
+# CONFIG_SAMPLES=y
+# CONFIG_SAMPLE_RPMSG_CLIENT=m
+##################################################
+# TI Connectivity Configs
+##################################################
+
+# Disable unused I2C options
+CONFIG_I2C_MUX=n
+CONFIG_I2C_DESIGNWARE_PLATFORM=n
+CONFIG_I2C_GPIO=n
+CONFIG_I2C_RK3X=n
+CONFIG_I2C_XILINX=n
+
+# I2C controllers
+CONFIG_I2C=y
+CONFIG_I2C_OMAP=y
+
+# I2C GPIO expanders
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_TPIC2810=m
+
+#I2C EEPROMS
+CONFIG_EEPROM_AT24=m
+
+#SPI EEPROMS
+CONFIG_EEPROM_93XX46=m
+
+# PTP
+CONFIG_PTP_1588_CLOCK=y
+
+#Networking drivers
+CONFIG_NET_VENDOR_TI=y
+CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
+CONFIG_KEYSTONE_NAVIGATOR_DMA=y
+CONFIG_TI_KEYSTONE_NETCP=y
+CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_GPIO=y
+CONFIG_TI_CPSW=y
+CONFIG_TI_CPSW_SWITCHDEV=y
+CONFIG_TI_CPTS=y
+CONFIG_TI_RDEV_ETH_SWITCH_VIRT_EMAC=m
+CONFIG_TI_PRUETH=m
+CONFIG_TI_ICSSG_PRUETH=m
+CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
+# non-TI Net vendors
+CONFIG_NET_DSA_BCM_SF2=n
+CONFIG_B53=n
+CONFIG_SYSTEMPORT=n
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_VENDOR_ADAPTEC=n
+CONFIG_NET_VENDOR_AGERE=n
+CONFIG_NET_VENDOR_ALTEON=n
+CONFIG_NET_VENDOR_AMAZON=n
+CONFIG_NET_VENDOR_AMD=n
+CONFIG_NET_VENDOR_ARC=n
+CONFIG_NET_VENDOR_ATHEROS=n
+CONFIG_NET_VENDOR_BROCADE=n
+CONFIG_NET_VENDOR_CAVIUM=n
+CONFIG_NET_VENDOR_CHELSIO=n
+CONFIG_BCMGENET=n
+CONFIG_NET_VENDOR_CIRRUS=n
+CONFIG_NET_VENDOR_CISCO=n
+CONFIG_NET_VENDOR_DEC=n
+CONFIG_NET_VENDOR_DLINK=n
+CONFIG_NET_VENDOR_EMULEX=n
+CONFIG_NET_VENDOR_EZCHIP=n
+CONFIG_NET_VENDOR_FARADAY=n
+CONFIG_NET_VENDOR_HISILICON=n
+CONFIG_NET_VENDOR_HP=n
+CONFIG_IGB=n
+CONFIG_NET_VENDOR_I825XX=n
+CONFIG_NET_VENDOR_MELLANOX=n
+CONFIG_NET_VENDOR_MICROCHIP=n
+CONFIG_NET_VENDOR_MYRI=n
+CONFIG_NET_VENDOR_NATSEMI=n
+CONFIG_NET_VENDOR_NETRONOME=n
+CONFIG_NET_VENDOR_NVIDIA=n
+CONFIG_NET_VENDOR_OKI=n
+CONFIG_NET_VENDOR_8390=n
+CONFIG_NET_VENDOR_QLOGIC=n
+CONFIG_NET_VENDOR_REALTEK=n
+CONFIG_NET_VENDOR_RENESAS=n
+CONFIG_NET_VENDOR_RDC=n
+CONFIG_NET_VENDOR_ROCKER=n
+CONFIG_NET_VENDOR_SAMSUNG=n
+CONFIG_NET_VENDOR_SILAN=n
+CONFIG_NET_VENDOR_SIS=n
+CONFIG_NET_VENDOR_SEEQ=n
+CONFIG_NET_VENDOR_STMICRO=n
+CONFIG_NET_VENDOR_SUN=n
+CONFIG_NET_VENDOR_SYNOPSYS=n
+CONFIG_NET_VENDOR_TEHUTI=n
+CONFIG_NET_VENDOR_VIA=n
+CONFIG_NET_VENDOR_WIZNET=n
+#Wireless LAN
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WL18XX=m
+CONFIG_NL80211_TESTMODE=y
+CONFIG_MAC80211_MESH=y
+
+#MDIO phys
+CONFIG_MARVELL_PHY=y
+CONFIG_MICREL_PHY=y
+# unused PHY drivers
+CONFIG_BROADCOM_PHY=n
+CONFIG_ICPLUS_PHY=n
+#PRU MII PHYs for Industrial Boards
+CONFIG_DP83848_PHY=y
+# Enable phy for DRA72 evm
+CONFIG_DP83867_PHY=y
+# Enable phy for AM64 evm
+CONFIG_DP83869_PHY=y
+# Control onboard MDIO muxes
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
+
+#MTD
+CONFIG_MTD=y
+CONFIG_MEMORY=y
+CONFIG_TI_AEMIF=y
+CONFIG_OMAP_GPMC=y
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_BCH=y
+CONFIG_MTD_NAND_OMAP_BCH_BUILD=y
+CONFIG_MTD_NAND_DAVINCI=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_HYPERBUS=y
+CONFIG_HBMC_AM654=y
+
+#PCIE
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=y
+CONFIG_PCI_EPF_NTB=y
+CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_PCI_DRA7XX=y
+CONFIG_PCI_DRA7XX_HOST=y
+CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_KEYSTONE=y
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_KEYSTONE_EP=y
+CONFIG_PCI_J721E=y
+CONFIG_PCI_J721E_HOST=y
+CONFIG_PCI_J721E_EP=y
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+
+#NTB
+CONFIG_NTB=m
+CONFIG_NTB_EPF=m
+CONFIG_NTB_TRANSPORT=m
+CONFIG_NTB_NETDEV=m
+
+#NVME
+CONFIG_NVME_CORE=m
+CONFIG_BLK_DEV_NVME=m
+
+#These drivers have been used with DRA7x/AM57x PCIe RC with some success
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_TIGON3=m
+CONFIG_SKGE=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_B43=m
+#Generic Phys
+CONFIG_PHY_AM654_SERDES=y
+CONFIG_PHY_TI_KEYSTONE_SERDES=y
+CONFIG_PHY_CADENCE_SIERRA=y
+
+# Networking
+CONFIG_HSR=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE=m
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_INET=y
+CONFIG_INET_AH=m
+CONFIG_INET6_AH=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_SCH_FIFO=y
+CONFIG_IP_SCTP=m
+CONFIG_VLAN_8021Q=m
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_SWITCHDEV=y
+
+# Ethernet drivers
+CONFIG_TI_K3_AM65_CPSW_NUSS=y
+CONFIG_TI_AM65_CPSW_TAS=y
+CONFIG_TI_K3_AM65_CPTS=y
+#MMC/SD support
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_MMC_SDHCI_OMAP=y
+CONFIG_MMC_DW=n
+CONFIG_MMC_SDHCI_AM654=y
+
+#SPI
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_TI_QSPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SPIDEV=m
+#Disable unused SPI controllers
+CONFIG_SPI_BITBANG=n
+CONFIG_SPI_CADENCE=n
+CONFIG_SPI_ROCKCHIP=n
+CONFIG_SPI_XILINX=n
+
+#Disable SPI NOR 4K SECTORS
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n
+
+#SPI GPIO expanders
+CONFIG_GPIO_PISOSR=m
+
+#SATA
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_AHCI=m
+CONFIG_ATA=m
+
+#USB PHY
+CONFIG_OMAP_USB2=m
+
+#USB gadgets
+CONFIG_USB_GADGET=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+CONFIG_USB_G_WEBCAM=m
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
+CONFIG_USB_ZERO=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+
+# USB DWC3
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_OMAP=m
+CONFIG_USB_DWC3_KEYSTONE=m
+CONFIG_USB_DWC3_AM62=m
+CONFIG_USB_DWC3_PCI=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_CHIPIDEA=n
+
+# USB CDNS3
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_TI=m
+
+#USB PHY
+CONFIG_NOP_USB_XCEIV=m
+
+#USB MUSB
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_OMAP2PLUS=m
+CONFIG_USB_MUSB_AM35X=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_TI_CPPI41=y
+CONFIG_USB_TI_CPPI41_DMA=y
+CONFIG_AM335X_CONTROL_USB=y
+CONFIG_AM335X_PHY_USB=y
+
+#USB EHCI
+CONFIG_USB=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_OMAP=m
+
+#USB Networking
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_NET_ZAURUS=m
+
+#USB testing
+CONFIG_USB_TEST=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#USB Serial
+CONFIG_USB_ACM=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OPTION=m
+
+# Extcon drivers
+CONFIG_EXTCON=m
+CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_USB_GPIO=m
+
+# USB PD controller drivers
+CONFIG_TYPEC_TPS6598X=m
+
+# PWM
+CONFIG_PWM_TIECAP=y
+CONFIG_PWM_TIEHRPWM=y
+CONFIG_PWM_TIPWMSS=y
+CONFIG_PWM_OMAP_DMTIMER=y
+
+# eCAP driver
+CONFIG_TI_ECAP_CAPTURE=m
+
+# 1-wire Bus Masters
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
+
+# Matrix keypad
+CONFIG_KEYBOARD_MATRIX=m
+
+#Touchscreen/ADC
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TI_AM335X_ADC=m
+
+#CAN
+CONFIG_CAN=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+
+# CAN Transceiver
+CONFIG_PHY_CAN_TRANSCEIVER=m
+
+# Rotary Encoder
+CONFIG_INPUT_GPIO_DECODER=m
+
+# Filesystem extra options
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_UBIFS_FS=y
+
+# HD-Audio
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+
+#UFS
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_CDNS_PLATFORM=y
+CONFIG_SCSI_UFS_TI_J721E=y
+
+#PRUSS-UART
+CONFIG_SERIAL_8250_PRUSS=m
+
+# MUX Drivers
+CONFIG_MUX_GPIO=y
+
+# PRU Soft UART driver
+CONFIG_SERIAL_PRU_SWUART=m
+
+# Enable Power line communication Common drivers
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_QCA7000=m
+CONFIG_QCA7000_SPI=m
+CONFIG_QCA7000_UART=m
+
+# AF_XDP
+CONFIG_BPF_SYSCALL=y
+CONFIG_XDP_SOCKETS=y
+##################################################
+# TI Audio/Display config options
+##################################################
+
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=512
+
+# backlight
+
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TLC591XX=y
+
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_BACKLIGHT_LED=y
+
+# fbdev
+
+CONFIG_FB_SSD1307=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_DRM_MIPI_DBI=m
+CONFIG_TINYDRM_ILI9225=m
+
+# DRM
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_LVDS_CODEC=y
+CONFIG_DRM_SII902X=y
+CONFIG_DRM_TOSHIBA_TC358767=y
+CONFIG_DRM_TOSHIBA_TC358768=y
+CONFIG_DRM_TI_TFP410=y
+CONFIG_DRM_TI_TPD12S015=y
+
+# Firmware loading only works if built as module
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_CDNS_DSI=m
+
+CONFIG_PHY_J721E_WIZ=y
+CONFIG_PHY_CADENCE_TORRENT=y
+
+# SGX driver needs legacy support
+CONFIG_DRM_LEGACY=y
+
+CONFIG_DRM_I2C_NXP_TDA998X=y
+
+# tidss
+CONFIG_DRM_TIDSS=y
+
+# Touchscreen
+CONFIG_TOUCHSCREEN_GOODIX=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_HID_MULTITOUCH=m
+
+# V4L2
+CONFIG_VIDEO_CADENCE=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
+CONFIG_VIDEO_TI_CAL=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
+CONFIG_VIDEO_IMX390=m
+CONFIG_VIDEO_OV2659=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_OV1063X=m
+CONFIG_VIDEO_OV2312=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_PHY_CADENCE_DPHY=m
+
+# Sound
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+CONFIG_SND_SOC_J721E_EVM=m
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC3X=m
+
+# display sharing
+CONFIG_RPMSG_KDRV_DISPLAY=y
+##################################################
+# TI Multimedia (Video Decode, Encode) Configs
+##################################################
+
+# IMG D5500 v4l2 Driver Config Options
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_IMG_VXD_DEC=m
+
+# IMG VXE384 v4l2 Driver Config Options
+CONFIG_VIDEO_IMG_VXE_ENC=m
+
+# Enable multimedia staging drivers for Wave VPU driver.
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_WAVE_VPU=m
+##############################################
+#
+# Kernel options needed for systemd enabled TI SDKs
+# See https://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for details
+#
+##############################################
+CONFIG_TMPFS=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_PERF=y
+
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_NET=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+
+# udev will fail to work with the legacy sysfs layout:
+CONFIG_SYSFS_DEPRECATED=n
+
+# Legacy hotplug slows down the system and confuses udev:
+CONFIG_UEVENT_HELPER_PATH=""
+
+# Userspace firmware loading is not supported and should
+# be disabled in the kernel:
+CONFIG_FW_LOADER_USER_HELPER=n
+
+# Some udev rules and virtualization detection relies on it:
+# Only for UEFI based systems
+# http://cateee.net/lkddb/web-lkddb/DMI.html
+CONFIG_DMIID=n
+
+# Support for some SCSI devices serial number retrieval, to
+# create additional symlinks in /dev/disk/ and /dev/tape:
+CONFIG_BLK_DEV_BSG=y
+
+# Required for PrivateNetwork and PrivateDevices in service units:
+# Note that systemd-localed.service and other systemd units use
+# PrivateNetwork and PrivateDevices so this is effectively required.
+CONFIG_NAMESPACES=y
+CONFIG_NET_NS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+
+# Optional but strongly recommended options: those are nice to have and
+# indeed recommended, but not necessarily systemd required. These to be
+# enabled in corresponding domain fragments since they are not specific
+# to supporting systemd.
+
+CONFIG_SECCOMP=y
+# for kcmp syscall
+CONFIG_CHECKPOINT_RESTORE=y
+
+# Required for CPUShares= in resource control unit settings
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+
+# Required for CPUQuota= in resource control unit settings
+CONFIG_CFS_BANDWIDTH=y
+
+# For systemd-bootchart, several proc debug interfaces are required:
+# Systemd-debug.cfg?
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+
+# We recommend to turn off Real-Time group scheduling in the
+# kernel when using systemd. RT group scheduling effectively
+# makes RT scheduling unavailable for most userspace, since it
+# requires explicit assignment of RT budgets to each unit whose
+# processes making use of RT. As there's no sensible way to
+# assign these budgets automatically this cannot really be
+# fixed, and it's best to disable group scheduling hence.
+CONFIG_RT_GROUP_SCHED=n
+
+# Note that kernel auditing is broken when used with systemd's
+# container code. When using systemd in conjunction with
+# containers, please make sure to either turn off auditing at
+# runtime using the kernel command line option "audit=0", or
+# turn it off at kernel compile time using:
+CONFIG_AUDIT=n
+##############################################
+#
+# Kernel options needed for container enabled TI SDKs
+# See https://raw.githubusercontent.com/moby/moby/v20.10.12/contrib/check-config.sh
+# Also see lxc-checkconfig
+#
+##############################################
+
+# Just the basic container configuration necessary
+CONFIG_CGROUP_BPF=y
+CONFIG_VETH=m
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_RR=m
+CONFIG_VXLAN=m
+CONFIG_IPVLAN=m
+CONFIG_MACVLAN=m
+CONFIG_DUMMY=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_AUFS_FS=m
+CONFIG_BTRFS_FS=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_OVERLAY_FS=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
diff --git a/board/ti/am64x_sk/ti_sdk_arm64_debug_defconfig b/board/ti/am64x_sk/ti_sdk_arm64_debug_defconfig
new file mode 100644
index 0000000000..8d7304965f
--- /dev/null
+++ b/board/ti/am64x_sk/ti_sdk_arm64_debug_defconfig
@@ -0,0 +1,1991 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_K3=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_HIBERNATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
+CONFIG_ARM_QCOM_CPUFREQ_HW=y
+CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=y
+CONFIG_QORIQ_CPUFREQ=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_INTEL_STRATIX10_SERVICE=y
+CONFIG_INTEL_STRATIX10_RSU=m
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_CHACHA20_NEON=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IPV6=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_NET_DSA=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_ACT_GATE=m
+CONFIG_QRTR=m
+CONFIG_QRTR_SMD=m
+CONFIG_QRTR_TUN=m
+CONFIG_BPF_JIT=y
+CONFIG_CAN_RCAR=m
+CONFIG_CAN_RCAR_CANFD=m
+CONFIG_CAN_FLEXCAN=m
+CONFIG_BT=m
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=m
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PASID=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_PCI_AARDVARK=y
+CONFIG_PCI_TEGRA=y
+CONFIG_PCIE_RCAR_HOST=y
+CONFIG_PCIE_RCAR_EP=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_ALTERA=y
+CONFIG_PCIE_ALTERA_MSI=y
+CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HOST_THUNDER_ECAM=y
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_QCOM=y
+CONFIG_PCIE_ARMADA_8K=y
+CONFIG_PCIE_HISI_STB=y
+CONFIG_PCIE_TEGRA194_HOST=m
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_HISILICON_LPC=y
+CONFIG_SIMPLE_PM_BUS=y
+CONFIG_FSL_MC_BUS=y
+CONFIG_TEGRA_ACONNECT=m
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_NAND_MARVELL=y
+CONFIG_MTD_NAND_FSL_IFC=y
+CONFIG_MTD_NAND_QCOM=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=m
+CONFIG_VIRTIO_BLK=y
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT25=m
+CONFIG_UACCE=m
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_HISI_SAS=y
+CONFIG_SCSI_HISI_SAS_PCI=y
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_UFS_QCOM=m
+CONFIG_SCSI_UFS_HISI=y
+CONFIG_AHCI_CEVA=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_AHCI_XGENE=y
+CONFIG_AHCI_QORIQ=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_RCAR=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+CONFIG_MACVTAP=m
+CONFIG_TUN=y
+CONFIG_VIRTIO_NET=y
+CONFIG_NET_DSA_MSCC_FELIX=m
+CONFIG_AMD_XGBE=y
+CONFIG_NET_XGENE=y
+CONFIG_ATL1C=m
+CONFIG_BNX2X=m
+CONFIG_MACB=y
+CONFIG_THUNDER_NIC_PF=y
+CONFIG_FEC=y
+CONFIG_FSL_FMAN=y
+CONFIG_FSL_DPAA_ETH=y
+CONFIG_FSL_DPAA2_ETH=y
+CONFIG_FSL_ENETC=y
+CONFIG_FSL_ENETC_VF=y
+CONFIG_FSL_ENETC_QOS=y
+CONFIG_HIX5HD2_GMAC=y
+CONFIG_HNS_DSAF=y
+CONFIG_HNS_ENET=y
+CONFIG_HNS3=y
+CONFIG_HNS3_HCLGE=y
+CONFIG_HNS3_ENET=y
+CONFIG_IGBVF=y
+CONFIG_MVNETA=y
+CONFIG_MVPP2=y
+CONFIG_SKY2=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_QCOM_EMAC=m
+CONFIG_RMNET=m
+CONFIG_SH_ETH=y
+CONFIG_RAVB=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+CONFIG_SNI_AVE=y
+CONFIG_SNI_NETSEC=y
+CONFIG_STMMAC_ETH=m
+CONFIG_QCOM_IPA=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+CONFIG_AQUANTIA_PHY=y
+CONFIG_MARVELL_10G_PHY=m
+CONFIG_MESON_GXL_PHY=m
+CONFIG_MICROSEMI_PHY=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=m
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SNOC=m
+CONFIG_BRCMFMAC=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_IMX_SC_KEY=m
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PM8941_PWRKEY=y
+CONFIG_INPUT_PM8XXX_VIBRATOR=m
+CONFIG_INPUT_HISI_POWERKEY=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_BCM2835AUX=y
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_UNIPHIER=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_MESON=y
+CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_TEGRA_TCU=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_QCOM_GENI=y
+CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_OWL=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_BCM2835=m
+CONFIG_I2C_IMX=y
+CONFIG_I2C_IMX_LPI2C=y
+CONFIG_I2C_MESON=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_I2C_OWL=y
+CONFIG_I2C_PXA=y
+CONFIG_I2C_QCOM_CCI=m
+CONFIG_I2C_QCOM_GENI=m
+CONFIG_I2C_QUP=y
+CONFIG_I2C_SH_MOBILE=y
+CONFIG_I2C_TEGRA=y
+CONFIG_I2C_UNIPHIER_F=y
+CONFIG_I2C_RCAR=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_SPI=y
+CONFIG_SPI_ARMADA_3700=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_IMX=m
+CONFIG_SPI_FSL_DSPI=y
+CONFIG_SPI_MESON_SPICC=m
+CONFIG_SPI_MESON_SPIFC=m
+CONFIG_SPI_ORION=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_RPCIF=m
+CONFIG_SPI_QCOM_QSPI=m
+CONFIG_SPI_QUP=y
+CONFIG_SPI_QCOM_GENI=m
+CONFIG_SPI_S3C64XX=y
+CONFIG_SPI_SH_MSIOF=m
+CONFIG_SPI_SUN6I=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_OWL=y
+CONFIG_PINCTRL_S700=y
+CONFIG_PINCTRL_S900=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+CONFIG_PINCTRL_IMX8MP=y
+CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QXP=y
+CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IPQ8074=y
+CONFIG_PINCTRL_IPQ6018=y
+CONFIG_PINCTRL_MSM8916=y
+CONFIG_PINCTRL_MSM8994=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_QCS404=y
+CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
+CONFIG_PINCTRL_SC7180=y
+CONFIG_PINCTRL_SDM845=y
+CONFIG_PINCTRL_SM8150=y
+CONFIG_PINCTRL_SM8250=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_MPC8XXX=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RCAR=y
+CONFIG_GPIO_UNIPHIER=y
+CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_XGENE_SB=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_GPIO_SL28CPLD=m
+CONFIG_POWER_AVS=y
+CONFIG_QCOM_CPR=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_POWER_RESET_MSM=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_RASPBERRYPI_HWMON=m
+CONFIG_SENSORS_SL28CPLD=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_QORIQ_THERMAL=m
+CONFIG_SUN8I_THERMAL=y
+CONFIG_IMX_SC_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_RCAR_THERMAL=y
+CONFIG_RCAR_GEN3_THERMAL=y
+CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
+CONFIG_BCM2835_THERMAL=m
+CONFIG_BRCMSTB_THERMAL=m
+CONFIG_EXYNOS_THERMAL=y
+CONFIG_TEGRA_BPMP_THERMAL=m
+CONFIG_QCOM_TSENS=y
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
+CONFIG_UNIPHIER_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_SL28CPLD_WATCHDOG=m
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_ARM_SBSA_WATCHDOG=y
+CONFIG_ARM_SMC_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_DW_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_IMX2_WDT=y
+CONFIG_IMX_SC_WDT=m
+CONFIG_QCOM_WDT=m
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+CONFIG_RENESAS_WDT=y
+CONFIG_UNIPHIER_WATCHDOG=y
+CONFIG_BCM2835_WDT=y
+CONFIG_MFD_ALTERA_SYSMGR=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_AXP20X_RSB=y
+CONFIG_MFD_EXYNOS_LPASS=m
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_HI655X_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_SL28CPLD=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_MFD_WCD934X=m
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_HI655X=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_RPMH=y
+CONFIG_REGULATOR_QCOM_SMD_RPM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_RC_DECODERS=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_MESON=m
+CONFIG_IR_SUNXI=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_CSI2=m
+CONFIG_VIDEO_RCAR_VIN=m
+CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
+CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
+CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
+CONFIG_VIDEO_RENESAS_FDP1=m
+CONFIG_VIDEO_RENESAS_FCP=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+CONFIG_SDR_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_DRIF=m
+CONFIG_VIDEO_IMX219=m
+CONFIG_VIDEO_OV5645=m
+CONFIG_VIDEO_QCOM_CAMSS=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_EXYNOS=m
+CONFIG_DRM_EXYNOS5433_DECON=y
+CONFIG_DRM_EXYNOS7_DECON=y
+CONFIG_DRM_EXYNOS_DSI=y
+# CONFIG_DRM_EXYNOS_DP is not set
+CONFIG_DRM_EXYNOS_HDMI=y
+CONFIG_DRM_EXYNOS_MIC=y
+CONFIG_DRM_ROCKCHIP=m
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_DRM_RCAR_DU=m
+CONFIG_DRM_RCAR_DW_HDMI=m
+CONFIG_DRM_SUN4I=m
+CONFIG_DRM_SUN6I_DSI=m
+CONFIG_DRM_SUN8I_DW_HDMI=m
+CONFIG_DRM_SUN8I_MIXER=m
+CONFIG_DRM_MSM=m
+CONFIG_DRM_TEGRA=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_NWL_MIPI_DSI=m
+CONFIG_DRM_LONTIUM_LT9611=m
+CONFIG_DRM_SIMPLE_BRIDGE=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_I2C_ADV7511_AUDIO=y
+CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_VC4=m
+CONFIG_DRM_MESON=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_HDA_TEGRA=m
+CONFIG_SND_HDA_CODEC_HDMI=m
+CONFIG_SND_SOC=y
+CONFIG_SND_BCM2835_SOC_I2S=m
+CONFIG_SND_MESON_AXG_SOUND_CARD=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_APQ8016_SBC=m
+CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_SDM845=m
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+CONFIG_SND_SOC_SAMSUNG=y
+CONFIG_SND_SOC_RCAR=m
+CONFIG_SND_SUN4I_SPDIF=m
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA210_AHUB=m
+CONFIG_SND_SOC_TEGRA210_DMIC=m
+CONFIG_SND_SOC_TEGRA210_I2S=m
+CONFIG_SND_SOC_TEGRA186_DSPK=m
+CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WSA881X=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_I2C_HID=m
+CONFIG_USB_CONN_GPIO=m
+CONFIG_USB_OTG=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_TEGRA=y
+CONFIG_USB_EHCI_EXYNOS=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_EXYNOS=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_RENESAS_USBHS=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_RENESAS_USB3=m
+CONFIG_USB_TEGRA_XUDC=m
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_MESON_GX=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_SDHI=y
+CONFIG_MMC_UNIPHIER=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_SUNXI=y
+CONFIG_MMC_BCM2835=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_MMC_OWL=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC=y
+CONFIG_EDAC_GHES=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RV8803=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_S3C=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_ARMADA38X=y
+CONFIG_RTC_DRV_PM8XXX=m
+CONFIG_RTC_DRV_TEGRA=y
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_IMX_SC=m
+CONFIG_RTC_DRV_XGENE=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DMA_SUN6I=m
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_K3_DMA=y
+CONFIG_MV_XOR=y
+CONFIG_MV_XOR_V2=y
+CONFIG_OWL_DMA=y
+CONFIG_PL330_DMA=y
+CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA210_ADMA=m
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_RCAR_DMAC=y
+CONFIG_RENESAS_USB_DMAC=m
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_VFIO=y
+CONFIG_VFIO_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_MFD_CROS_EC_DEV=y
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_FSL_SAI=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_BD718XX=m
+CONFIG_CLK_RASPBERRYPI=m
+CONFIG_CLK_IMX8MM=y
+CONFIG_CLK_IMX8MN=y
+CONFIG_CLK_IMX8MP=y
+CONFIG_CLK_IMX8MQ=y
+CONFIG_CLK_IMX8QXP=y
+CONFIG_TI_SCI_CLK=y
+CONFIG_COMMON_CLK_QCOM=y
+CONFIG_QCOM_A53PLL=y
+CONFIG_QCOM_CLK_APCS_MSM8916=y
+CONFIG_QCOM_CLK_SMD_RPM=y
+CONFIG_QCOM_CLK_RPMH=y
+CONFIG_IPQ_GCC_8074=y
+CONFIG_IPQ_GCC_6018=y
+CONFIG_MSM_GCC_8916=y
+CONFIG_MSM_GCC_8994=y
+CONFIG_MSM_MMCC_8996=y
+CONFIG_MSM_GCC_8998=y
+CONFIG_QCS_GCC_404=y
+CONFIG_SC_GCC_7180=y
+CONFIG_SDM_CAMCC_845=m
+CONFIG_SDM_GCC_845=y
+CONFIG_SDM_GPUCC_845=y
+CONFIG_SDM_VIDEOCC_845=y
+CONFIG_SDM_DISPCC_845=y
+CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=y
+CONFIG_SM_GPUCC_8150=y
+CONFIG_SM_GPUCC_8250=y
+CONFIG_QCOM_HFPLL=y
+CONFIG_HWSPINLOCK=y
+CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_IMX_MBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_QCOM_APCS_IPC=y
+CONFIG_QCOM_IPCC=y
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_TEGRA_IOMMU_SMMU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_QCOM_IOMMU=y
+CONFIG_REMOTEPROC=y
+CONFIG_QCOM_Q6V5_MSS=m
+CONFIG_QCOM_Q6V5_PAS=m
+CONFIG_QCOM_SYSMON=m
+CONFIG_RPMSG_QCOM_GLINK_RPM=y
+CONFIG_RPMSG_QCOM_GLINK_SMEM=m
+CONFIG_RPMSG_QCOM_SMD=y
+CONFIG_SOUNDWIRE=m
+CONFIG_SOUNDWIRE_QCOM=m
+CONFIG_OWL_PM_DOMAINS=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_FSL_DPAA=y
+CONFIG_FSL_MC_DPIO=y
+CONFIG_QCOM_AOSS_QMP=y
+CONFIG_QCOM_GENI_SE=y
+CONFIG_QCOM_RMTFS_MEM=m
+CONFIG_QCOM_RPMH=y
+CONFIG_QCOM_RPMHPD=y
+CONFIG_QCOM_RPMPD=y
+CONFIG_QCOM_SMEM=y
+CONFIG_QCOM_SMD_RPM=y
+CONFIG_QCOM_SMP2P=y
+CONFIG_QCOM_SMSM=y
+CONFIG_QCOM_SOCINFO=m
+CONFIG_QCOM_APR=m
+CONFIG_ARCH_R8A774A1=y
+CONFIG_ARCH_R8A774B1=y
+CONFIG_ARCH_R8A774C0=y
+CONFIG_ARCH_R8A774E1=y
+CONFIG_ARCH_R8A77950=y
+CONFIG_ARCH_R8A77951=y
+CONFIG_ARCH_R8A77960=y
+CONFIG_ARCH_R8A77961=y
+CONFIG_ARCH_R8A77965=y
+CONFIG_ARCH_R8A77970=y
+CONFIG_ARCH_R8A77980=y
+CONFIG_ARCH_R8A77990=y
+CONFIG_ARCH_R8A77995=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_ARCH_TEGRA_194_SOC=y
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_EXTCON_PTN5150=m
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_RENESAS_RPCIF=m
+CONFIG_IIO=y
+CONFIG_EXYNOS_ADC=y
+CONFIG_MAX9611=m
+CONFIG_QCOM_SPMI_ADC5=m
+CONFIG_ROCKCHIP_SARADC=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_MESON=m
+CONFIG_PWM_RCAR=m
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_PWM_SAMSUNG=y
+CONFIG_PWM_SL28CPLD=m
+CONFIG_PWM_SUN4I=m
+CONFIG_PWM_TEGRA=m
+CONFIG_SL28CPLD_INTC=y
+CONFIG_QCOM_PDC=y
+CONFIG_RESET_IMX7=y
+CONFIG_RESET_QCOM_AOSS=y
+CONFIG_RESET_QCOM_PDC=m
+CONFIG_RESET_TI_SCI=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_SUN4I_USB=y
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_HI6220_USB=y
+CONFIG_PHY_HISTB_COMBPHY=y
+CONFIG_PHY_HISI_INNO_USB2=y
+CONFIG_PHY_MVEBU_CP110_COMPHY=y
+CONFIG_PHY_QCOM_QMP=m
+CONFIG_PHY_QCOM_QUSB2=m
+CONFIG_PHY_QCOM_USB_HS=y
+CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
+CONFIG_PHY_RCAR_GEN3_PCIE=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
+CONFIG_PHY_RCAR_GEN3_USB3=m
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_UNIPHIER_USB2=y
+CONFIG_PHY_UNIPHIER_USB3=y
+CONFIG_PHY_TEGRA_XUSB=y
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_FSL_IMX8_DDR_PMU=m
+CONFIG_HISI_PMU=y
+CONFIG_QCOM_L2_PMU=y
+CONFIG_QCOM_L3_PMU=y
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+CONFIG_QCOM_QFPROM=y
+CONFIG_ROCKCHIP_EFUSE=y
+CONFIG_NVMEM_SUNXI_SID=y
+CONFIG_UNIPHIER_EFUSE=y
+CONFIG_MESON_EFUSE=m
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_STRATIX10_SOC=m
+CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
+CONFIG_SLIM_QCOM_NGD_CTRL=m
+CONFIG_MUX_MMIO=y
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_QCOM=y
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
+CONFIG_INTERCONNECT_QCOM_SDM845=m
+CONFIG_INTERCONNECT_QCOM_SM8150=m
+CONFIG_INTERCONNECT_QCOM_SM8250=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VFAT_FS=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_9P_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
+CONFIG_CRYPTO_DEV_QCOM_RNG=m
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_FTRACE is not set
+CONFIG_MEMTEST=y
+CONFIG_ARCH_ACTIONS=n
+CONFIG_ARCH_SUNXI=n
+CONFIG_ARCH_AGILEX=n
+CONFIG_ARCH_ALPINE=n
+CONFIG_ARCH_BCM2835=n
+CONFIG_ARCH_BCM_IPROC=n
+CONFIG_ARCH_BERLIN=n
+CONFIG_ARCH_BRCMSTB=n
+CONFIG_ARCH_EXYNOS=n
+CONFIG_ARCH_LAYERSCAPE=n
+CONFIG_ARCH_LG1K=n
+CONFIG_ARCH_HISI=n
+CONFIG_ARCH_MEDIATEK=n
+CONFIG_ARCH_MESON=n
+CONFIG_ARCH_MVEBU=n
+CONFIG_ARCH_MXC=n
+CONFIG_ARCH_QCOM=n
+CONFIG_ARCH_ROCKCHIP=n
+CONFIG_ARCH_SEATTLE=n
+CONFIG_ARCH_RENESAS=n
+CONFIG_ARCH_R8A7795=n
+CONFIG_ARCH_R8A7796=n
+CONFIG_ARCH_S32=n
+CONFIG_ARCH_STRATIX10=n
+CONFIG_ARCH_SYNQUACER=n
+CONFIG_ARCH_TEGRA=n
+CONFIG_ARCH_SPRD=n
+CONFIG_ARCH_THUNDER=n
+CONFIG_ARCH_THUNDER2=n
+CONFIG_ARCH_UNIPHIER=n
+CONFIG_ARCH_VEXPRESS=n
+CONFIG_ARCH_VISCONTI=n
+CONFIG_ARCH_XGENE=n
+CONFIG_ARCH_ZX=n
+CONFIG_ARCH_ZYNQMP=n
+CONFIG_ARCH_TEGRA_132_SOC=n
+CONFIG_ARCH_TEGRA_210_SOC=n
+CONFIG_ARCH_TEGRA_186_SOC=n
+
+CONFIG_QCOM_FALKOR_ERRATUM_1003=n
+CONFIG_QCOM_FALKOR_ERRATUM_1009=n
+CONFIG_QCOM_QDF2400_ERRATUM_0065=n
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=n
+
+CONFIG_CAVIUM_ERRATUM_22375=n
+CONFIG_CAVIUM_ERRATUM_23144=n
+CONFIG_CAVIUM_ERRATUM_23154=n
+CONFIG_CAVIUM_ERRATUM_27456=n
+CONFIG_CAVIUM_ERRATUM_30115=n
+
+CONFIG_HISILICON_ERRATUM_161600802=n
+
+CONFIG_SERIAL_8250_FSL=n
+CONFIG_SERIAL_8250_DW=n
+CONFIG_SERIAL_AMBA_PL011=n
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=n
+CONFIG_SERIAL_XILINX_PS_UART=n
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=n
+
+CONFIG_ARM_SCPI_PROTOCOL=n
+CONFIG_ARM_SCPI_POWER_DOMAIN=n
+CONFIG_ARM_SCPI_CPUFREQ=n
+CONFIG_SENSORS_ARM_SCPI=n
+CONFIG_COMMON_CLK_SCPI=n
+
+CONFIG_ARM_MHU=n
+CONFIG_PLATFORM_MHU=n
+
+CONFIG_ACPI=n
+
+CONFIG_NUMA=n
+
+CONFIG_XEN=n
+CONFIG_KVM=n
+
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=n
+
+CONFIG_PCI_XGENE=n
+CONFIG_PCI_HISI=n
+CONFIG_PCIE_KIRIN=n
+
+# DRM
+CONFIG_DRM_NOUVEAU=n
+CONFIG_DRM_I2C_ADV7511=n
+CONFIG_DRM_ETNAVIV=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_DRM_MXSFB=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Video
+CONFIG_VGA_ARB=n
+CONFIG_FB_EFI=n
+
+# V4L2
+CONFIG_RC_CORE=n
+
+# Sound
+CONFIG_SND_SPI=n
+CONFIG_SND_SOC_FSL_SAI=n
+CONFIG_SND_SOC_AK4613=n
+CONFIG_SND_SOC_ES7134=n
+CONFIG_SND_SOC_ES7241=n
+CONFIG_SND_SOC_PCM3168A_I2C=n
+CONFIG_SND_SOC_TAS571X=n
+##################################################
+# TI Baseport Config Options
+##################################################
+
+# Serial
+CONFIG_SERIAL_8250_NR_UARTS=10
+CONFIG_SERIAL_8250_RUNTIME_UARTS=10
+
+# K3 Power config options
+CONFIG_PM=y
+
+# CPU Idle
+CONFIG_CPU_IDLE=y
+
+# ARM CPU Idle Drivers
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=n
+
+# CPU Frequency scaling
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+
+# Enable Reset Controllers
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_TI_SYSCON=y
+
+# Enable support for perf
+CONFIG_PERF_EVENTS=y
+
+# Add Bin2c
+CONFIG_BUILD_BIN2C=y
+
+# Add base Cgroups functions
+
+# Choose CONFIG_EMBEDDED
+CONFIG_EMBEDDED=y
+
+# Enable all kernel symbols please
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+
+# How do we want kernel Modules to work?
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+
+# Boot options
+CONFIG_CRASH_DUMP=n
+
+# Mem allocator
+
+# Pinctrl
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+
+# GPIO
+CONFIG_GPIO_SYSFS=y
+
+# Crypto SA2UL
+CONFIG_CRYPTO_DEV_SA2UL=m
+
+# Enable options to facilitate testing
+CONFIG_CRYPTO_TEST=m
+
+# Thermal
+CONFIG_K3_THERMAL=y
+
+# Disable extra debug options
+CONFIG_PROFILING=n
+
+# Block Layer
+CONFIG_BLK_DEV_RAM=y
+
+# PMIC
+CONFIG_MFD_PALMAS=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_PALMAS=y
+
+# Watchdog support
+CONFIG_K3_RTI_WATCHDOG=m
+
+# RTC Drivers
+CONFIG_RTC_DRV_TI_K3=y
+
+# Counter device
+CONFIG_COUNTER=m
+
+# UIO and overlay support for Jailhouse
+CONFIG_UIO=y
+CONFIG_OF_OVERLAY=y
+
+# DMA-BUF Heaps
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+CONFIG_DMABUF_HEAPS_CMA=y
+CONFIG_DMABUF_HEAPS_CARVEOUT=y
+CONFIG_SRAM_DMA_HEAP=y
+
+# DMA-BUF exporter
+CONFIG_DMA_BUF_PHYS=y
+
+# TI PAT
+CONFIG_TI_PAT=y
+
+# Enable Staging drivers for ARMV8
+CONFIG_STAGING=y
+
+# MCRC and its userspace support
+CONFIG_CRYPTO_DEV_TI_MCRC64=m
+CONFIG_CRYPTO_USER_API_HASH=m
+##################################################
+# TI RPMsg/IPC Config Options
+##################################################
+# HwSpinLock
+CONFIG_HWSPINLOCK_OMAP=y
+
+# Mailbox
+CONFIG_MAILBOX=y
+CONFIG_OMAP2PLUS_MBOX=y
+
+# SoC Drivers
+CONFIG_TI_PRUSS=m
+
+# IrqChip Drivers
+CONFIG_TI_PRUSS_INTC=m
+
+# Remoteproc
+CONFIG_TI_K3_R5_REMOTEPROC=m
+CONFIG_TI_K3_DSP_REMOTEPROC=m
+CONFIG_PRU_REMOTEPROC=m
+CONFIG_TI_K3_M4_REMOTEPROC=m
+
+# RPMsg
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_RPMSG_PRU=m
+
+# RPMsg Samples
+# CONFIG_SAMPLES=y
+# CONFIG_SAMPLE_RPMSG_CLIENT=m
+##################################################
+# TI Connectivity Configs
+##################################################
+
+# Disable unused I2C options
+CONFIG_I2C_MUX=n
+CONFIG_I2C_DESIGNWARE_PLATFORM=n
+CONFIG_I2C_GPIO=n
+CONFIG_I2C_RK3X=n
+CONFIG_I2C_XILINX=n
+
+# I2C controllers
+CONFIG_I2C=y
+CONFIG_I2C_OMAP=y
+
+# I2C GPIO expanders
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_TPIC2810=m
+
+#I2C EEPROMS
+CONFIG_EEPROM_AT24=m
+
+#SPI EEPROMS
+CONFIG_EEPROM_93XX46=m
+
+# PTP
+CONFIG_PTP_1588_CLOCK=y
+
+#Networking drivers
+CONFIG_NET_VENDOR_TI=y
+CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
+CONFIG_KEYSTONE_NAVIGATOR_DMA=y
+CONFIG_TI_KEYSTONE_NETCP=y
+CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_GPIO=y
+CONFIG_TI_CPSW=y
+CONFIG_TI_CPSW_SWITCHDEV=y
+CONFIG_TI_CPTS=y
+CONFIG_TI_RDEV_ETH_SWITCH_VIRT_EMAC=m
+CONFIG_TI_PRUETH=m
+CONFIG_TI_ICSSG_PRUETH=m
+CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
+# non-TI Net vendors
+CONFIG_NET_DSA_BCM_SF2=n
+CONFIG_B53=n
+CONFIG_SYSTEMPORT=n
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_VENDOR_ADAPTEC=n
+CONFIG_NET_VENDOR_AGERE=n
+CONFIG_NET_VENDOR_ALTEON=n
+CONFIG_NET_VENDOR_AMAZON=n
+CONFIG_NET_VENDOR_AMD=n
+CONFIG_NET_VENDOR_ARC=n
+CONFIG_NET_VENDOR_ATHEROS=n
+CONFIG_NET_VENDOR_BROCADE=n
+CONFIG_NET_VENDOR_CAVIUM=n
+CONFIG_NET_VENDOR_CHELSIO=n
+CONFIG_BCMGENET=n
+CONFIG_NET_VENDOR_CIRRUS=n
+CONFIG_NET_VENDOR_CISCO=n
+CONFIG_NET_VENDOR_DEC=n
+CONFIG_NET_VENDOR_DLINK=n
+CONFIG_NET_VENDOR_EMULEX=n
+CONFIG_NET_VENDOR_EZCHIP=n
+CONFIG_NET_VENDOR_FARADAY=n
+CONFIG_NET_VENDOR_HISILICON=n
+CONFIG_NET_VENDOR_HP=n
+CONFIG_IGB=n
+CONFIG_NET_VENDOR_I825XX=n
+CONFIG_NET_VENDOR_MELLANOX=n
+CONFIG_NET_VENDOR_MICROCHIP=n
+CONFIG_NET_VENDOR_MYRI=n
+CONFIG_NET_VENDOR_NATSEMI=n
+CONFIG_NET_VENDOR_NETRONOME=n
+CONFIG_NET_VENDOR_NVIDIA=n
+CONFIG_NET_VENDOR_OKI=n
+CONFIG_NET_VENDOR_8390=n
+CONFIG_NET_VENDOR_QLOGIC=n
+CONFIG_NET_VENDOR_REALTEK=n
+CONFIG_NET_VENDOR_RENESAS=n
+CONFIG_NET_VENDOR_RDC=n
+CONFIG_NET_VENDOR_ROCKER=n
+CONFIG_NET_VENDOR_SAMSUNG=n
+CONFIG_NET_VENDOR_SILAN=n
+CONFIG_NET_VENDOR_SIS=n
+CONFIG_NET_VENDOR_SEEQ=n
+CONFIG_NET_VENDOR_STMICRO=n
+CONFIG_NET_VENDOR_SUN=n
+CONFIG_NET_VENDOR_SYNOPSYS=n
+CONFIG_NET_VENDOR_TEHUTI=n
+CONFIG_NET_VENDOR_VIA=n
+CONFIG_NET_VENDOR_WIZNET=n
+#Wireless LAN
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WL18XX=m
+CONFIG_NL80211_TESTMODE=y
+CONFIG_MAC80211_MESH=y
+
+#MDIO phys
+CONFIG_MARVELL_PHY=y
+CONFIG_MICREL_PHY=y
+# unused PHY drivers
+CONFIG_BROADCOM_PHY=n
+CONFIG_ICPLUS_PHY=n
+#PRU MII PHYs for Industrial Boards
+CONFIG_DP83848_PHY=y
+# Enable phy for DRA72 evm
+CONFIG_DP83867_PHY=y
+# Enable phy for AM64 evm
+CONFIG_DP83869_PHY=y
+# Control onboard MDIO muxes
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
+
+#MTD
+CONFIG_MTD=y
+CONFIG_MEMORY=y
+CONFIG_TI_AEMIF=y
+CONFIG_OMAP_GPMC=y
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_BCH=y
+CONFIG_MTD_NAND_OMAP_BCH_BUILD=y
+CONFIG_MTD_NAND_DAVINCI=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_HYPERBUS=y
+CONFIG_HBMC_AM654=y
+
+#PCIE
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=y
+CONFIG_PCI_EPF_NTB=y
+CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_PCI_DRA7XX=y
+CONFIG_PCI_DRA7XX_HOST=y
+CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_KEYSTONE=y
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_KEYSTONE_EP=y
+CONFIG_PCI_J721E=y
+CONFIG_PCI_J721E_HOST=y
+CONFIG_PCI_J721E_EP=y
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+
+#NTB
+CONFIG_NTB=m
+CONFIG_NTB_EPF=m
+CONFIG_NTB_TRANSPORT=m
+CONFIG_NTB_NETDEV=m
+
+#NVME
+CONFIG_NVME_CORE=m
+CONFIG_BLK_DEV_NVME=m
+
+#These drivers have been used with DRA7x/AM57x PCIe RC with some success
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_TIGON3=m
+CONFIG_SKGE=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_B43=m
+#Generic Phys
+CONFIG_PHY_AM654_SERDES=y
+CONFIG_PHY_TI_KEYSTONE_SERDES=y
+CONFIG_PHY_CADENCE_SIERRA=y
+
+# Networking
+CONFIG_HSR=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE=m
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_INET=y
+CONFIG_INET_AH=m
+CONFIG_INET6_AH=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_SCH_FIFO=y
+CONFIG_IP_SCTP=m
+CONFIG_VLAN_8021Q=m
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_SWITCHDEV=y
+
+# Ethernet drivers
+CONFIG_TI_K3_AM65_CPSW_NUSS=y
+CONFIG_TI_AM65_CPSW_TAS=y
+CONFIG_TI_K3_AM65_CPTS=y
+#MMC/SD support
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_MMC_SDHCI_OMAP=y
+CONFIG_MMC_DW=n
+CONFIG_MMC_SDHCI_AM654=y
+
+#SPI
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_TI_QSPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SPIDEV=m
+#Disable unused SPI controllers
+CONFIG_SPI_BITBANG=n
+CONFIG_SPI_CADENCE=n
+CONFIG_SPI_ROCKCHIP=n
+CONFIG_SPI_XILINX=n
+
+#Disable SPI NOR 4K SECTORS
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n
+
+#SPI GPIO expanders
+CONFIG_GPIO_PISOSR=m
+
+#SATA
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_AHCI=m
+CONFIG_ATA=m
+
+#USB PHY
+CONFIG_OMAP_USB2=m
+
+#USB gadgets
+CONFIG_USB_GADGET=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+CONFIG_USB_G_WEBCAM=m
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
+CONFIG_USB_ZERO=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+
+# USB DWC3
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_OMAP=m
+CONFIG_USB_DWC3_KEYSTONE=m
+CONFIG_USB_DWC3_AM62=m
+CONFIG_USB_DWC3_PCI=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_CHIPIDEA=n
+
+# USB CDNS3
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_TI=m
+
+#USB PHY
+CONFIG_NOP_USB_XCEIV=m
+
+#USB MUSB
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_OMAP2PLUS=m
+CONFIG_USB_MUSB_AM35X=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_TI_CPPI41=y
+CONFIG_USB_TI_CPPI41_DMA=y
+CONFIG_AM335X_CONTROL_USB=y
+CONFIG_AM335X_PHY_USB=y
+
+#USB EHCI
+CONFIG_USB=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_OMAP=m
+
+#USB Networking
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_NET_ZAURUS=m
+
+#USB testing
+CONFIG_USB_TEST=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#USB Serial
+CONFIG_USB_ACM=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OPTION=m
+
+# Extcon drivers
+CONFIG_EXTCON=m
+CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_USB_GPIO=m
+
+# USB PD controller drivers
+CONFIG_TYPEC_TPS6598X=m
+
+# PWM
+CONFIG_PWM_TIECAP=y
+CONFIG_PWM_TIEHRPWM=y
+CONFIG_PWM_TIPWMSS=y
+CONFIG_PWM_OMAP_DMTIMER=y
+
+# eCAP driver
+CONFIG_TI_ECAP_CAPTURE=m
+
+# 1-wire Bus Masters
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
+
+# Matrix keypad
+CONFIG_KEYBOARD_MATRIX=m
+
+#Touchscreen/ADC
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TI_AM335X_ADC=m
+
+#CAN
+CONFIG_CAN=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+
+# CAN Transceiver
+CONFIG_PHY_CAN_TRANSCEIVER=m
+
+# Rotary Encoder
+CONFIG_INPUT_GPIO_DECODER=m
+
+# Filesystem extra options
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_UBIFS_FS=y
+
+# HD-Audio
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+
+#UFS
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_CDNS_PLATFORM=y
+CONFIG_SCSI_UFS_TI_J721E=y
+
+#PRUSS-UART
+CONFIG_SERIAL_8250_PRUSS=m
+
+# MUX Drivers
+CONFIG_MUX_GPIO=y
+
+# PRU Soft UART driver
+CONFIG_SERIAL_PRU_SWUART=m
+
+# Enable Power line communication Common drivers
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_QCA7000=m
+CONFIG_QCA7000_SPI=m
+CONFIG_QCA7000_UART=m
+
+# AF_XDP
+CONFIG_BPF_SYSCALL=y
+CONFIG_XDP_SOCKETS=y
+##################################################
+# TI Audio/Display config options
+##################################################
+
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=512
+
+# backlight
+
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TLC591XX=y
+
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_BACKLIGHT_LED=y
+
+# fbdev
+
+CONFIG_FB_SSD1307=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_DRM_MIPI_DBI=m
+CONFIG_TINYDRM_ILI9225=m
+
+# DRM
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_LVDS_CODEC=y
+CONFIG_DRM_SII902X=y
+CONFIG_DRM_TOSHIBA_TC358767=y
+CONFIG_DRM_TOSHIBA_TC358768=y
+CONFIG_DRM_TI_TFP410=y
+CONFIG_DRM_TI_TPD12S015=y
+
+# Firmware loading only works if built as module
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_CDNS_DSI=m
+
+CONFIG_PHY_J721E_WIZ=y
+CONFIG_PHY_CADENCE_TORRENT=y
+
+# SGX driver needs legacy support
+CONFIG_DRM_LEGACY=y
+
+CONFIG_DRM_I2C_NXP_TDA998X=y
+
+# tidss
+CONFIG_DRM_TIDSS=y
+
+# Touchscreen
+CONFIG_TOUCHSCREEN_GOODIX=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_HID_MULTITOUCH=m
+
+# V4L2
+CONFIG_VIDEO_CADENCE=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
+CONFIG_VIDEO_TI_CAL=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
+CONFIG_VIDEO_IMX390=m
+CONFIG_VIDEO_OV2659=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_OV1063X=m
+CONFIG_VIDEO_OV2312=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_PHY_CADENCE_DPHY=m
+
+# Sound
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+CONFIG_SND_SOC_J721E_EVM=m
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC3X=m
+
+# display sharing
+CONFIG_RPMSG_KDRV_DISPLAY=y
+##################################################
+# TI Multimedia (Video Decode, Encode) Configs
+##################################################
+
+# IMG D5500 v4l2 Driver Config Options
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_IMG_VXD_DEC=m
+
+# IMG VXE384 v4l2 Driver Config Options
+CONFIG_VIDEO_IMG_VXE_ENC=m
+
+# Enable multimedia staging drivers for Wave VPU driver.
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_WAVE_VPU=m
+##############################################
+#
+# Kernel options needed for systemd enabled TI SDKs
+# See https://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for details
+#
+##############################################
+CONFIG_TMPFS=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_PERF=y
+
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_NET=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+
+# udev will fail to work with the legacy sysfs layout:
+CONFIG_SYSFS_DEPRECATED=n
+
+# Legacy hotplug slows down the system and confuses udev:
+CONFIG_UEVENT_HELPER_PATH=""
+
+# Userspace firmware loading is not supported and should
+# be disabled in the kernel:
+CONFIG_FW_LOADER_USER_HELPER=n
+
+# Some udev rules and virtualization detection relies on it:
+# Only for UEFI based systems
+# http://cateee.net/lkddb/web-lkddb/DMI.html
+CONFIG_DMIID=n
+
+# Support for some SCSI devices serial number retrieval, to
+# create additional symlinks in /dev/disk/ and /dev/tape:
+CONFIG_BLK_DEV_BSG=y
+
+# Required for PrivateNetwork and PrivateDevices in service units:
+# Note that systemd-localed.service and other systemd units use
+# PrivateNetwork and PrivateDevices so this is effectively required.
+CONFIG_NAMESPACES=y
+CONFIG_NET_NS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+
+# Optional but strongly recommended options: those are nice to have and
+# indeed recommended, but not necessarily systemd required. These to be
+# enabled in corresponding domain fragments since they are not specific
+# to supporting systemd.
+
+CONFIG_SECCOMP=y
+# for kcmp syscall
+CONFIG_CHECKPOINT_RESTORE=y
+
+# Required for CPUShares= in resource control unit settings
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+
+# Required for CPUQuota= in resource control unit settings
+CONFIG_CFS_BANDWIDTH=y
+
+# For systemd-bootchart, several proc debug interfaces are required:
+# Systemd-debug.cfg?
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+
+# We recommend to turn off Real-Time group scheduling in the
+# kernel when using systemd. RT group scheduling effectively
+# makes RT scheduling unavailable for most userspace, since it
+# requires explicit assignment of RT budgets to each unit whose
+# processes making use of RT. As there's no sensible way to
+# assign these budgets automatically this cannot really be
+# fixed, and it's best to disable group scheduling hence.
+CONFIG_RT_GROUP_SCHED=n
+
+# Note that kernel auditing is broken when used with systemd's
+# container code. When using systemd in conjunction with
+# containers, please make sure to either turn off auditing at
+# runtime using the kernel command line option "audit=0", or
+# turn it off at kernel compile time using:
+CONFIG_AUDIT=n
+##############################################
+#
+# Kernel options needed for container enabled TI SDKs
+# See https://raw.githubusercontent.com/moby/moby/v20.10.12/contrib/check-config.sh
+# Also see lxc-checkconfig
+#
+##############################################
+
+# Just the basic container configuration necessary
+CONFIG_CGROUP_BPF=y
+CONFIG_VETH=m
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_RR=m
+CONFIG_VXLAN=m
+CONFIG_IPVLAN=m
+CONFIG_MACVLAN=m
+CONFIG_DUMMY=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_AUFS_FS=m
+CONFIG_BTRFS_FS=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_OVERLAY_FS=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+##################################################
+# Common Debug options considered generically
+# useful for kernel debug. This is not meant to
+# be an exhaustive list of options and will probably
+# have performance impact by using the same.
+#
+# IMPORTANT NOTE: Do not collect reference performance
+# data with this configuration.
+##################################################
+
+CONFIG_DYNAMIC_DEBUG=y
+
+CONFIG_DEBUG_PAGEALLOC=y
+CONFIG_WANT_PAGE_DEBUG_FLAGS=y
+CONFIG_PAGE_POISONING=y
+CONFIG_DEBUG_OBJECTS=y
+CONFIG_DEBUG_OBJECTS_SELFTEST=n
+CONFIG_DEBUG_OBJECTS_FREE=n
+CONFIG_DEBUG_OBJECTS_TIMERS=n
+CONFIG_DEBUG_OBJECTS_WORK=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=n
+CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
+CONFIG_DEBUG_SLAB=y
+CONFIG_DEBUG_SLAB_LEAK=y
+CONFIG_SLUB_DEBUG=y
+
+CONFIG_DEBUG_KMEMLEAK=y
+CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=8000
+CONFIG_DEBUG_KMEMLEAK_TEST=n
+CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=n
+
+CONFIG_DEBUG_SHIRQ=n
+CONFIG_DEBUG_PREEMPT=y
+
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=300
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1
+CONFIG_PANIC_ON_OOPS=y
+CONFIG_PANIC_ON_OOPS_VALUE=1
+
+CONFIG_DEBUG_RT_MUTEXES=y
+CONFIG_DEBUG_PI_LIST=y
+CONFIG_RT_MUTEX_TESTER=n
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_LOCKDEP=y
+CONFIG_LOCK_STAT=n
+CONFIG_DEBUG_LOCKDEP=y
+CONFIG_DEBUG_ATOMIC_SLEEP=y
+CONFIG_DEBUG_LOCKING_API_SELFTESTS=n
+CONFIG_STACKTRACE=y
+CONFIG_DEBUG_KOBJECT=n
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_WRITECOUNT=n
+CONFIG_DEBUG_LIST=y
+CONFIG_DEBUG_SG=y
+CONFIG_DEBUG_NOTIFIERS=y
+CONFIG_DEBUG_CREDENTIALS=n
+
+CONFIG_SPARSE_RCU_POINTER=y
+CONFIG_RCU_TORTURE_TEST=n
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_RCU_TRACE=y
+CONFIG_PROVE_RCU=y
+CONFIG_PROVE_RCU_REPEATEDLY=y
+
+CONFIG_DMA_API_DEBUG=y
+
+CONFIG_ARM_PTDUMP=y
+CONFIG_ARM_UNWIND=y
+CONFIG_DEBUG_USER=y
+
+# Cgroups debug
+CONFIG_CGROUP_DEBUG=y
+CONFIG_DEBUG_BLK_CGROUP=y
+
+# IRQ Domain debug
+CONFIG_IRQ_DOMAIN_DEBUG=y
+
+# Debug HighMem
+CONFIG_DEBUG_HIGHMEM=y
+
+# Crypto self-tests
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=n
+
+# Enable Debug configuration for EFI if enabled
+CONFIG_DEBUG_EFI=y
+
+# Power management options
+CONFIG_PM_DEBUG=y
diff --git a/board/ti/am64x_sk/ti_sdk_arm64_release_defconfig b/board/ti/am64x_sk/ti_sdk_arm64_release_defconfig
new file mode 100644
index 0000000000..ee87904022
--- /dev/null
+++ b/board/ti/am64x_sk/ti_sdk_arm64_release_defconfig
@@ -0,0 +1,1894 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_NO_HZ_IDLE=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_PREEMPT=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_USER_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_ARCH_K3=y
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+CONFIG_COMPAT=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_HIBERNATION=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_ACPI_CPPC_CPUFREQ=m
+CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
+CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
+CONFIG_ARM_IMX_CPUFREQ_DT=m
+CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
+CONFIG_ARM_QCOM_CPUFREQ_HW=y
+CONFIG_ARM_RASPBERRYPI_CPUFREQ=m
+CONFIG_ARM_TEGRA186_CPUFREQ=y
+CONFIG_QORIQ_CPUFREQ=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_INTEL_STRATIX10_SERVICE=y
+CONFIG_INTEL_STRATIX10_RSU=m
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_CHACHA20_NEON=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_JUMP_LABEL=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_KSM=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IPV6=m
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_NET_DSA=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_ACT_GATE=m
+CONFIG_QRTR=m
+CONFIG_QRTR_SMD=m
+CONFIG_QRTR_TUN=m
+CONFIG_BPF_JIT=y
+CONFIG_CAN_RCAR=m
+CONFIG_CAN_RCAR_CANFD=m
+CONFIG_CAN_FLEXCAN=m
+CONFIG_BT=m
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_BCM=y
+CONFIG_BT_HCIUART_QCA=y
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_MAC80211_LEDS=y
+CONFIG_RFKILL=m
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PASID=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_PCI_AARDVARK=y
+CONFIG_PCI_TEGRA=y
+CONFIG_PCIE_RCAR_HOST=y
+CONFIG_PCIE_RCAR_EP=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_ALTERA=y
+CONFIG_PCIE_ALTERA_MSI=y
+CONFIG_PCI_HOST_THUNDER_PEM=y
+CONFIG_PCI_HOST_THUNDER_ECAM=y
+CONFIG_PCIE_ROCKCHIP_HOST=m
+CONFIG_PCIE_BRCMSTB=m
+CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_QCOM=y
+CONFIG_PCIE_ARMADA_8K=y
+CONFIG_PCIE_HISI_STB=y
+CONFIG_PCIE_TEGRA194_HOST=m
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_HISILICON_LPC=y
+CONFIG_SIMPLE_PM_BUS=y
+CONFIG_FSL_MC_BUS=y
+CONFIG_TEGRA_ACONNECT=m
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_DATAFLASH=y
+CONFIG_MTD_SST25L=y
+CONFIG_MTD_RAW_NAND=y
+CONFIG_MTD_NAND_DENALI_DT=y
+CONFIG_MTD_NAND_MARVELL=y
+CONFIG_MTD_NAND_FSL_IFC=y
+CONFIG_MTD_NAND_QCOM=y
+CONFIG_MTD_SPI_NOR=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=m
+CONFIG_VIRTIO_BLK=y
+CONFIG_SRAM=y
+CONFIG_EEPROM_AT25=m
+CONFIG_UACCE=m
+# CONFIG_SCSI_PROC_FS is not set
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_HISI_SAS=y
+CONFIG_SCSI_HISI_SAS_PCI=y
+CONFIG_MEGARAID_SAS=y
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_UFS_QCOM=m
+CONFIG_SCSI_UFS_HISI=y
+CONFIG_AHCI_CEVA=y
+CONFIG_AHCI_MVEBU=y
+CONFIG_AHCI_XGENE=y
+CONFIG_AHCI_QORIQ=y
+CONFIG_SATA_SIL24=y
+CONFIG_SATA_RCAR=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_NETDEVICES=y
+CONFIG_MACVTAP=m
+CONFIG_TUN=y
+CONFIG_VIRTIO_NET=y
+CONFIG_NET_DSA_MSCC_FELIX=m
+CONFIG_AMD_XGBE=y
+CONFIG_NET_XGENE=y
+CONFIG_ATL1C=m
+CONFIG_BNX2X=m
+CONFIG_MACB=y
+CONFIG_THUNDER_NIC_PF=y
+CONFIG_FEC=y
+CONFIG_FSL_FMAN=y
+CONFIG_FSL_DPAA_ETH=y
+CONFIG_FSL_DPAA2_ETH=y
+CONFIG_FSL_ENETC=y
+CONFIG_FSL_ENETC_VF=y
+CONFIG_FSL_ENETC_QOS=y
+CONFIG_HIX5HD2_GMAC=y
+CONFIG_HNS_DSAF=y
+CONFIG_HNS_ENET=y
+CONFIG_HNS3=y
+CONFIG_HNS3_HCLGE=y
+CONFIG_HNS3_ENET=y
+CONFIG_IGBVF=y
+CONFIG_MVNETA=y
+CONFIG_MVPP2=y
+CONFIG_SKY2=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX5_CORE=m
+CONFIG_MLX5_CORE_EN=y
+CONFIG_QCOM_EMAC=m
+CONFIG_RMNET=m
+CONFIG_SH_ETH=y
+CONFIG_RAVB=y
+CONFIG_SMC91X=y
+CONFIG_SMSC911X=y
+CONFIG_SNI_AVE=y
+CONFIG_SNI_NETSEC=y
+CONFIG_STMMAC_ETH=m
+CONFIG_QCOM_IPA=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=y
+CONFIG_AQUANTIA_PHY=y
+CONFIG_MARVELL_10G_PHY=m
+CONFIG_MESON_GXL_PHY=m
+CONFIG_MICROSEMI_PHY=y
+CONFIG_AT803X_PHY=y
+CONFIG_REALTEK_PHY=m
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_VITESSE_PHY=y
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+CONFIG_ATH10K_SNOC=m
+CONFIG_BRCMFMAC=m
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_INPUT_EVDEV=y
+CONFIG_KEYBOARD_ADC=m
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
+CONFIG_KEYBOARD_IMX_SC_KEY=m
+CONFIG_KEYBOARD_CROS_EC=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_PM8941_PWRKEY=y
+CONFIG_INPUT_PM8XXX_VIBRATOR=m
+CONFIG_INPUT_HISI_POWERKEY=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_LEGACY_PTY_COUNT=16
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_BCM2835AUX=y
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_UNIPHIER=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_MESON=y
+CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_TEGRA_TCU=y
+CONFIG_SERIAL_IMX=y
+CONFIG_SERIAL_IMX_CONSOLE=y
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_QCOM_GENI=y
+CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
+CONFIG_SERIAL_FSL_LPUART=y
+CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
+CONFIG_SERIAL_FSL_LINFLEXUART=y
+CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_OWL=y
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_TCG_TPM=y
+CONFIG_TCG_TIS_I2C_INFINEON=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_BCM2835=m
+CONFIG_I2C_IMX=y
+CONFIG_I2C_IMX_LPI2C=y
+CONFIG_I2C_MESON=y
+CONFIG_I2C_MV64XXX=y
+CONFIG_I2C_OWL=y
+CONFIG_I2C_PXA=y
+CONFIG_I2C_QCOM_CCI=m
+CONFIG_I2C_QCOM_GENI=m
+CONFIG_I2C_QUP=y
+CONFIG_I2C_SH_MOBILE=y
+CONFIG_I2C_TEGRA=y
+CONFIG_I2C_UNIPHIER_F=y
+CONFIG_I2C_RCAR=y
+CONFIG_I2C_CROS_EC_TUNNEL=y
+CONFIG_SPI=y
+CONFIG_SPI_ARMADA_3700=y
+CONFIG_SPI_BCM2835=m
+CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_FSL_LPSPI=y
+CONFIG_SPI_FSL_QUADSPI=y
+CONFIG_SPI_NXP_FLEXSPI=y
+CONFIG_SPI_IMX=m
+CONFIG_SPI_FSL_DSPI=y
+CONFIG_SPI_MESON_SPICC=m
+CONFIG_SPI_MESON_SPIFC=m
+CONFIG_SPI_ORION=y
+CONFIG_SPI_PL022=y
+CONFIG_SPI_RPCIF=m
+CONFIG_SPI_QCOM_QSPI=m
+CONFIG_SPI_QUP=y
+CONFIG_SPI_QCOM_GENI=m
+CONFIG_SPI_S3C64XX=y
+CONFIG_SPI_SH_MSIOF=m
+CONFIG_SPI_SUN6I=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_OWL=y
+CONFIG_PINCTRL_S700=y
+CONFIG_PINCTRL_S900=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+CONFIG_PINCTRL_IMX8MP=y
+CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QXP=y
+CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IPQ8074=y
+CONFIG_PINCTRL_IPQ6018=y
+CONFIG_PINCTRL_MSM8916=y
+CONFIG_PINCTRL_MSM8994=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_QCS404=y
+CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
+CONFIG_PINCTRL_SC7180=y
+CONFIG_PINCTRL_SDM845=y
+CONFIG_PINCTRL_SM8150=y
+CONFIG_PINCTRL_SM8250=y
+CONFIG_GPIO_ALTERA=m
+CONFIG_GPIO_DAVINCI=y
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_MB86S7X=y
+CONFIG_GPIO_MPC8XXX=y
+CONFIG_GPIO_MXC=y
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RCAR=y
+CONFIG_GPIO_UNIPHIER=y
+CONFIG_GPIO_WCD934X=m
+CONFIG_GPIO_XGENE=y
+CONFIG_GPIO_XGENE_SB=y
+CONFIG_GPIO_MAX732X=y
+CONFIG_GPIO_BD9571MWV=m
+CONFIG_GPIO_MAX77620=y
+CONFIG_GPIO_SL28CPLD=m
+CONFIG_POWER_AVS=y
+CONFIG_QCOM_CPR=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_POWER_RESET_MSM=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_BATTERY_SBS=m
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_PWM_FAN=m
+CONFIG_SENSORS_RASPBERRYPI_HWMON=m
+CONFIG_SENSORS_SL28CPLD=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_INA3221=m
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+CONFIG_QORIQ_THERMAL=m
+CONFIG_SUN8I_THERMAL=y
+CONFIG_IMX_SC_THERMAL=m
+CONFIG_IMX8MM_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_RCAR_THERMAL=y
+CONFIG_RCAR_GEN3_THERMAL=y
+CONFIG_ARMADA_THERMAL=y
+CONFIG_BCM2711_THERMAL=m
+CONFIG_BCM2835_THERMAL=m
+CONFIG_BRCMSTB_THERMAL=m
+CONFIG_EXYNOS_THERMAL=y
+CONFIG_TEGRA_BPMP_THERMAL=m
+CONFIG_QCOM_TSENS=y
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
+CONFIG_UNIPHIER_THERMAL=y
+CONFIG_WATCHDOG=y
+CONFIG_SL28CPLD_WATCHDOG=m
+CONFIG_ARM_SP805_WATCHDOG=y
+CONFIG_ARM_SBSA_WATCHDOG=y
+CONFIG_ARM_SMC_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+CONFIG_DW_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=m
+CONFIG_IMX2_WDT=y
+CONFIG_IMX_SC_WDT=m
+CONFIG_QCOM_WDT=m
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+CONFIG_RENESAS_WDT=y
+CONFIG_UNIPHIER_WATCHDOG=y
+CONFIG_BCM2835_WDT=y
+CONFIG_MFD_ALTERA_SYSMGR=y
+CONFIG_MFD_BD9571MWV=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_AXP20X_RSB=y
+CONFIG_MFD_EXYNOS_LPASS=m
+CONFIG_MFD_HI6421_PMIC=y
+CONFIG_MFD_HI655X_PMIC=y
+CONFIG_MFD_MAX77620=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MFD_RK808=y
+CONFIG_MFD_SEC_CORE=y
+CONFIG_MFD_SL28CPLD=y
+CONFIG_MFD_ROHM_BD718XX=y
+CONFIG_MFD_WCD934X=m
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_BD718XX=y
+CONFIG_REGULATOR_BD9571MWV=y
+CONFIG_REGULATOR_FAN53555=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI6421V530=y
+CONFIG_REGULATOR_HI655X=y
+CONFIG_REGULATOR_MAX77620=y
+CONFIG_REGULATOR_MAX8973=y
+CONFIG_REGULATOR_PCA9450=y
+CONFIG_REGULATOR_PFUZE100=y
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_RPMH=y
+CONFIG_REGULATOR_QCOM_SMD_RPM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+CONFIG_REGULATOR_RK808=y
+CONFIG_REGULATOR_S2MPS11=y
+CONFIG_REGULATOR_VCTRL=m
+CONFIG_RC_DECODERS=y
+CONFIG_RC_DEVICES=y
+CONFIG_IR_MESON=m
+CONFIG_IR_SUNXI=m
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_CSI2=m
+CONFIG_VIDEO_RCAR_VIN=m
+CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
+CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
+CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
+CONFIG_VIDEO_RENESAS_FDP1=m
+CONFIG_VIDEO_RENESAS_FCP=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+CONFIG_SDR_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_RCAR_DRIF=m
+CONFIG_VIDEO_IMX219=m
+CONFIG_VIDEO_OV5645=m
+CONFIG_VIDEO_QCOM_CAMSS=m
+CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_EXYNOS=m
+CONFIG_DRM_EXYNOS5433_DECON=y
+CONFIG_DRM_EXYNOS7_DECON=y
+CONFIG_DRM_EXYNOS_DSI=y
+# CONFIG_DRM_EXYNOS_DP is not set
+CONFIG_DRM_EXYNOS_HDMI=y
+CONFIG_DRM_EXYNOS_MIC=y
+CONFIG_DRM_ROCKCHIP=m
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+CONFIG_ROCKCHIP_INNO_HDMI=y
+CONFIG_DRM_RCAR_DU=m
+CONFIG_DRM_RCAR_DW_HDMI=m
+CONFIG_DRM_SUN4I=m
+CONFIG_DRM_SUN6I_DSI=m
+CONFIG_DRM_SUN8I_DW_HDMI=m
+CONFIG_DRM_SUN8I_MIXER=m
+CONFIG_DRM_MSM=m
+CONFIG_DRM_TEGRA=m
+CONFIG_DRM_PANEL_LVDS=m
+CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
+CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_NWL_MIPI_DSI=m
+CONFIG_DRM_LONTIUM_LT9611=m
+CONFIG_DRM_SIMPLE_BRIDGE=m
+CONFIG_DRM_THINE_THC63LVD1024=m
+CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_I2C_ADV7511_AUDIO=y
+CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_VC4=m
+CONFIG_DRM_MESON=m
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_BACKLIGHT_GENERIC=m
+CONFIG_BACKLIGHT_LP855X=m
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_HDA_TEGRA=m
+CONFIG_SND_HDA_CODEC_HDMI=m
+CONFIG_SND_SOC=y
+CONFIG_SND_BCM2835_SOC_I2S=m
+CONFIG_SND_MESON_AXG_SOUND_CARD=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
+CONFIG_SND_SOC_QCOM=m
+CONFIG_SND_SOC_APQ8016_SBC=m
+CONFIG_SND_SOC_MSM8996=m
+CONFIG_SND_SOC_SDM845=m
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+CONFIG_SND_SOC_SAMSUNG=y
+CONFIG_SND_SOC_RCAR=m
+CONFIG_SND_SUN4I_SPDIF=m
+CONFIG_SND_SOC_TEGRA=m
+CONFIG_SND_SOC_TEGRA210_AHUB=m
+CONFIG_SND_SOC_TEGRA210_DMIC=m
+CONFIG_SND_SOC_TEGRA210_I2S=m
+CONFIG_SND_SOC_TEGRA186_DSPK=m
+CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WSA881X=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_I2C_HID=m
+CONFIG_USB_CONN_GPIO=m
+CONFIG_USB_OTG=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_TEGRA=y
+CONFIG_USB_EHCI_EXYNOS=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_EXYNOS=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_RENESAS_USBHS=m
+CONFIG_USB_STORAGE=y
+CONFIG_USB_MUSB_SUNXI=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_RENESAS_USB3=m
+CONFIG_USB_TEGRA_XUDC=m
+CONFIG_TYPEC=m
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_CADENCE=y
+CONFIG_MMC_SDHCI_ESDHC_IMX=y
+CONFIG_MMC_SDHCI_TEGRA=y
+CONFIG_MMC_SDHCI_F_SDH30=y
+CONFIG_MMC_MESON_GX=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SPI=y
+CONFIG_MMC_SDHI=y
+CONFIG_MMC_UNIPHIER=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_HI3798CV200=y
+CONFIG_MMC_DW_K3=y
+CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_MMC_SUNXI=y
+CONFIG_MMC_BCM2835=y
+CONFIG_MMC_SDHCI_XENON=y
+CONFIG_MMC_OWL=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PWM=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_DISK=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_EDAC=y
+CONFIG_EDAC_GHES=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_MAX77686=y
+CONFIG_RTC_DRV_RK808=m
+CONFIG_RTC_DRV_PCF85363=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RV8803=m
+CONFIG_RTC_DRV_S5M=y
+CONFIG_RTC_DRV_DS3232=y
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_EFI=y
+CONFIG_RTC_DRV_CROS_EC=y
+CONFIG_RTC_DRV_S3C=y
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+CONFIG_RTC_DRV_ARMADA38X=y
+CONFIG_RTC_DRV_PM8XXX=m
+CONFIG_RTC_DRV_TEGRA=y
+CONFIG_RTC_DRV_SNVS=m
+CONFIG_RTC_DRV_IMX_SC=m
+CONFIG_RTC_DRV_XGENE=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DMA_SUN6I=m
+CONFIG_FSL_EDMA=y
+CONFIG_IMX_SDMA=m
+CONFIG_K3_DMA=y
+CONFIG_MV_XOR=y
+CONFIG_MV_XOR_V2=y
+CONFIG_OWL_DMA=y
+CONFIG_PL330_DMA=y
+CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA210_ADMA=m
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_RCAR_DMAC=y
+CONFIG_RENESAS_USB_DMAC=m
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_VFIO=y
+CONFIG_VFIO_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_BALLOON=y
+CONFIG_VIRTIO_MMIO=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_MFD_CROS_EC_DEV=y
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_COMMON_CLK_RK808=y
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_FSL_SAI=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_COMMON_CLK_PWM=y
+CONFIG_COMMON_CLK_VC5=y
+CONFIG_COMMON_CLK_BD718XX=m
+CONFIG_CLK_RASPBERRYPI=m
+CONFIG_CLK_IMX8MM=y
+CONFIG_CLK_IMX8MN=y
+CONFIG_CLK_IMX8MP=y
+CONFIG_CLK_IMX8MQ=y
+CONFIG_CLK_IMX8QXP=y
+CONFIG_TI_SCI_CLK=y
+CONFIG_COMMON_CLK_QCOM=y
+CONFIG_QCOM_A53PLL=y
+CONFIG_QCOM_CLK_APCS_MSM8916=y
+CONFIG_QCOM_CLK_SMD_RPM=y
+CONFIG_QCOM_CLK_RPMH=y
+CONFIG_IPQ_GCC_8074=y
+CONFIG_IPQ_GCC_6018=y
+CONFIG_MSM_GCC_8916=y
+CONFIG_MSM_GCC_8994=y
+CONFIG_MSM_MMCC_8996=y
+CONFIG_MSM_GCC_8998=y
+CONFIG_QCS_GCC_404=y
+CONFIG_SC_GCC_7180=y
+CONFIG_SDM_CAMCC_845=m
+CONFIG_SDM_GCC_845=y
+CONFIG_SDM_GPUCC_845=y
+CONFIG_SDM_VIDEOCC_845=y
+CONFIG_SDM_DISPCC_845=y
+CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=y
+CONFIG_SM_GPUCC_8150=y
+CONFIG_SM_GPUCC_8250=y
+CONFIG_QCOM_HFPLL=y
+CONFIG_HWSPINLOCK=y
+CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_IMX_MBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_QCOM_APCS_IPC=y
+CONFIG_QCOM_IPCC=y
+CONFIG_ROCKCHIP_IOMMU=y
+CONFIG_TEGRA_IOMMU_SMMU=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARM_SMMU_V3=y
+CONFIG_QCOM_IOMMU=y
+CONFIG_REMOTEPROC=y
+CONFIG_QCOM_Q6V5_MSS=m
+CONFIG_QCOM_Q6V5_PAS=m
+CONFIG_QCOM_SYSMON=m
+CONFIG_RPMSG_QCOM_GLINK_RPM=y
+CONFIG_RPMSG_QCOM_GLINK_SMEM=m
+CONFIG_RPMSG_QCOM_SMD=y
+CONFIG_SOUNDWIRE=m
+CONFIG_SOUNDWIRE_QCOM=m
+CONFIG_OWL_PM_DOMAINS=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_FSL_DPAA=y
+CONFIG_FSL_MC_DPIO=y
+CONFIG_QCOM_AOSS_QMP=y
+CONFIG_QCOM_GENI_SE=y
+CONFIG_QCOM_RMTFS_MEM=m
+CONFIG_QCOM_RPMH=y
+CONFIG_QCOM_RPMHPD=y
+CONFIG_QCOM_RPMPD=y
+CONFIG_QCOM_SMEM=y
+CONFIG_QCOM_SMD_RPM=y
+CONFIG_QCOM_SMP2P=y
+CONFIG_QCOM_SMSM=y
+CONFIG_QCOM_SOCINFO=m
+CONFIG_QCOM_APR=m
+CONFIG_ARCH_R8A774A1=y
+CONFIG_ARCH_R8A774B1=y
+CONFIG_ARCH_R8A774C0=y
+CONFIG_ARCH_R8A774E1=y
+CONFIG_ARCH_R8A77950=y
+CONFIG_ARCH_R8A77951=y
+CONFIG_ARCH_R8A77960=y
+CONFIG_ARCH_R8A77961=y
+CONFIG_ARCH_R8A77965=y
+CONFIG_ARCH_R8A77970=y
+CONFIG_ARCH_R8A77980=y
+CONFIG_ARCH_R8A77990=y
+CONFIG_ARCH_R8A77995=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+CONFIG_ARCH_TEGRA_194_SOC=y
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_EXTCON_PTN5150=m
+CONFIG_EXTCON_USBC_CROS_EC=y
+CONFIG_RENESAS_RPCIF=m
+CONFIG_IIO=y
+CONFIG_EXYNOS_ADC=y
+CONFIG_MAX9611=m
+CONFIG_QCOM_SPMI_ADC5=m
+CONFIG_ROCKCHIP_SARADC=m
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_MPL3115=m
+CONFIG_PWM=y
+CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_MESON=m
+CONFIG_PWM_RCAR=m
+CONFIG_PWM_ROCKCHIP=y
+CONFIG_PWM_SAMSUNG=y
+CONFIG_PWM_SL28CPLD=m
+CONFIG_PWM_SUN4I=m
+CONFIG_PWM_TEGRA=m
+CONFIG_SL28CPLD_INTC=y
+CONFIG_QCOM_PDC=y
+CONFIG_RESET_IMX7=y
+CONFIG_RESET_QCOM_AOSS=y
+CONFIG_RESET_QCOM_PDC=m
+CONFIG_RESET_TI_SCI=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHY_SUN4I_USB=y
+CONFIG_PHY_MIXEL_MIPI_DPHY=m
+CONFIG_PHY_HI6220_USB=y
+CONFIG_PHY_HISTB_COMBPHY=y
+CONFIG_PHY_HISI_INNO_USB2=y
+CONFIG_PHY_MVEBU_CP110_COMPHY=y
+CONFIG_PHY_QCOM_QMP=m
+CONFIG_PHY_QCOM_QUSB2=m
+CONFIG_PHY_QCOM_USB_HS=y
+CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
+CONFIG_PHY_RCAR_GEN3_PCIE=y
+CONFIG_PHY_RCAR_GEN3_USB2=y
+CONFIG_PHY_RCAR_GEN3_USB3=m
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=m
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_UNIPHIER_USB2=y
+CONFIG_PHY_UNIPHIER_USB3=y
+CONFIG_PHY_TEGRA_XUSB=y
+CONFIG_ARM_SMMU_V3_PMU=m
+CONFIG_FSL_IMX8_DDR_PMU=m
+CONFIG_HISI_PMU=y
+CONFIG_QCOM_L2_PMU=y
+CONFIG_QCOM_L3_PMU=y
+CONFIG_NVMEM_IMX_OCOTP=y
+CONFIG_NVMEM_IMX_OCOTP_SCU=y
+CONFIG_QCOM_QFPROM=y
+CONFIG_ROCKCHIP_EFUSE=y
+CONFIG_NVMEM_SUNXI_SID=y
+CONFIG_UNIPHIER_EFUSE=y
+CONFIG_MESON_EFUSE=m
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_STRATIX10_SOC=m
+CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
+CONFIG_FPGA_REGION=m
+CONFIG_OF_FPGA_REGION=m
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+CONFIG_SLIMBUS=m
+CONFIG_SLIM_QCOM_CTRL=m
+CONFIG_SLIM_QCOM_NGD_CTRL=m
+CONFIG_MUX_MMIO=y
+CONFIG_INTERCONNECT=y
+CONFIG_INTERCONNECT_QCOM=y
+CONFIG_INTERCONNECT_QCOM_MSM8916=m
+CONFIG_INTERCONNECT_QCOM_SDM845=m
+CONFIG_INTERCONNECT_QCOM_SM8150=m
+CONFIG_INTERCONNECT_QCOM_SM8250=m
+CONFIG_EXT2_FS=y
+CONFIG_EXT3_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VFAT_FS=y
+CONFIG_HUGETLBFS=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_SQUASHFS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_ROOT_NFS=y
+CONFIG_9P_FS=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_SECURITY=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_USER_API_RNG=m
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
+CONFIG_CRYPTO_DEV_FSL_CAAM=m
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
+CONFIG_CRYPTO_DEV_QCOM_RNG=m
+CONFIG_CRYPTO_DEV_CCREE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
+CONFIG_CRYPTO_DEV_HISI_ZIP=m
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_PRINTK_TIME=y
+CONFIG_DEBUG_INFO=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_FTRACE is not set
+CONFIG_MEMTEST=y
+CONFIG_ARCH_ACTIONS=n
+CONFIG_ARCH_SUNXI=n
+CONFIG_ARCH_AGILEX=n
+CONFIG_ARCH_ALPINE=n
+CONFIG_ARCH_BCM2835=n
+CONFIG_ARCH_BCM_IPROC=n
+CONFIG_ARCH_BERLIN=n
+CONFIG_ARCH_BRCMSTB=n
+CONFIG_ARCH_EXYNOS=n
+CONFIG_ARCH_LAYERSCAPE=n
+CONFIG_ARCH_LG1K=n
+CONFIG_ARCH_HISI=n
+CONFIG_ARCH_MEDIATEK=n
+CONFIG_ARCH_MESON=n
+CONFIG_ARCH_MVEBU=n
+CONFIG_ARCH_MXC=n
+CONFIG_ARCH_QCOM=n
+CONFIG_ARCH_ROCKCHIP=n
+CONFIG_ARCH_SEATTLE=n
+CONFIG_ARCH_RENESAS=n
+CONFIG_ARCH_R8A7795=n
+CONFIG_ARCH_R8A7796=n
+CONFIG_ARCH_S32=n
+CONFIG_ARCH_STRATIX10=n
+CONFIG_ARCH_SYNQUACER=n
+CONFIG_ARCH_TEGRA=n
+CONFIG_ARCH_SPRD=n
+CONFIG_ARCH_THUNDER=n
+CONFIG_ARCH_THUNDER2=n
+CONFIG_ARCH_UNIPHIER=n
+CONFIG_ARCH_VEXPRESS=n
+CONFIG_ARCH_VISCONTI=n
+CONFIG_ARCH_XGENE=n
+CONFIG_ARCH_ZX=n
+CONFIG_ARCH_ZYNQMP=n
+CONFIG_ARCH_TEGRA_132_SOC=n
+CONFIG_ARCH_TEGRA_210_SOC=n
+CONFIG_ARCH_TEGRA_186_SOC=n
+
+CONFIG_QCOM_FALKOR_ERRATUM_1003=n
+CONFIG_QCOM_FALKOR_ERRATUM_1009=n
+CONFIG_QCOM_QDF2400_ERRATUM_0065=n
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=n
+
+CONFIG_CAVIUM_ERRATUM_22375=n
+CONFIG_CAVIUM_ERRATUM_23144=n
+CONFIG_CAVIUM_ERRATUM_23154=n
+CONFIG_CAVIUM_ERRATUM_27456=n
+CONFIG_CAVIUM_ERRATUM_30115=n
+
+CONFIG_HISILICON_ERRATUM_161600802=n
+
+CONFIG_SERIAL_8250_FSL=n
+CONFIG_SERIAL_8250_DW=n
+CONFIG_SERIAL_AMBA_PL011=n
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=n
+CONFIG_SERIAL_XILINX_PS_UART=n
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=n
+
+CONFIG_ARM_SCPI_PROTOCOL=n
+CONFIG_ARM_SCPI_POWER_DOMAIN=n
+CONFIG_ARM_SCPI_CPUFREQ=n
+CONFIG_SENSORS_ARM_SCPI=n
+CONFIG_COMMON_CLK_SCPI=n
+
+CONFIG_ARM_MHU=n
+CONFIG_PLATFORM_MHU=n
+
+CONFIG_ACPI=n
+
+CONFIG_NUMA=n
+
+CONFIG_XEN=n
+CONFIG_KVM=n
+
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=n
+
+CONFIG_PCI_XGENE=n
+CONFIG_PCI_HISI=n
+CONFIG_PCIE_KIRIN=n
+
+# DRM
+CONFIG_DRM_NOUVEAU=n
+CONFIG_DRM_I2C_ADV7511=n
+CONFIG_DRM_ETNAVIV=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_DRM_MXSFB=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Video
+CONFIG_VGA_ARB=n
+CONFIG_FB_EFI=n
+
+# V4L2
+CONFIG_RC_CORE=n
+
+# Sound
+CONFIG_SND_SPI=n
+CONFIG_SND_SOC_FSL_SAI=n
+CONFIG_SND_SOC_AK4613=n
+CONFIG_SND_SOC_ES7134=n
+CONFIG_SND_SOC_ES7241=n
+CONFIG_SND_SOC_PCM3168A_I2C=n
+CONFIG_SND_SOC_TAS571X=n
+##################################################
+# TI Baseport Config Options
+##################################################
+
+# Serial
+CONFIG_SERIAL_8250_NR_UARTS=10
+CONFIG_SERIAL_8250_RUNTIME_UARTS=10
+
+# K3 Power config options
+CONFIG_PM=y
+
+# CPU Idle
+CONFIG_CPU_IDLE=y
+
+# ARM CPU Idle Drivers
+CONFIG_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=n
+
+# CPU Frequency scaling
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+
+# Enable Reset Controllers
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_TI_SYSCON=y
+
+# Enable support for perf
+CONFIG_PERF_EVENTS=y
+
+# Add Bin2c
+CONFIG_BUILD_BIN2C=y
+
+# Add base Cgroups functions
+
+# Choose CONFIG_EMBEDDED
+CONFIG_EMBEDDED=y
+
+# Enable all kernel symbols please
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+
+# How do we want kernel Modules to work?
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+
+# Boot options
+CONFIG_CRASH_DUMP=n
+
+# Mem allocator
+CONFIG_SLUB_DEBUG=n
+
+# Pinctrl
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+
+# GPIO
+CONFIG_GPIO_SYSFS=y
+
+# Crypto SA2UL
+CONFIG_CRYPTO_DEV_SA2UL=m
+
+# Enable options to facilitate testing
+CONFIG_CRYPTO_TEST=m
+
+# Thermal
+CONFIG_K3_THERMAL=y
+
+# Disable extra debug options
+CONFIG_PROFILING=n
+
+# Block Layer
+CONFIG_BLK_DEV_RAM=y
+
+# PMIC
+CONFIG_MFD_PALMAS=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_PALMAS=y
+
+# Watchdog support
+CONFIG_K3_RTI_WATCHDOG=m
+
+# RTC Drivers
+CONFIG_RTC_DRV_TI_K3=y
+
+# Counter device
+CONFIG_COUNTER=m
+
+# UIO and overlay support for Jailhouse
+CONFIG_UIO=y
+CONFIG_OF_OVERLAY=y
+
+# DMA-BUF Heaps
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+CONFIG_DMABUF_HEAPS_CMA=y
+CONFIG_DMABUF_HEAPS_CARVEOUT=y
+CONFIG_SRAM_DMA_HEAP=y
+
+# DMA-BUF exporter
+CONFIG_DMA_BUF_PHYS=y
+
+# TI PAT
+CONFIG_TI_PAT=y
+
+# Enable Staging drivers for ARMV8
+CONFIG_STAGING=y
+
+# MCRC and its userspace support
+CONFIG_CRYPTO_DEV_TI_MCRC64=m
+CONFIG_CRYPTO_USER_API_HASH=m
+##################################################
+# TI RPMsg/IPC Config Options
+##################################################
+# HwSpinLock
+CONFIG_HWSPINLOCK_OMAP=y
+
+# Mailbox
+CONFIG_MAILBOX=y
+CONFIG_OMAP2PLUS_MBOX=y
+
+# SoC Drivers
+CONFIG_TI_PRUSS=m
+
+# IrqChip Drivers
+CONFIG_TI_PRUSS_INTC=m
+
+# Remoteproc
+CONFIG_TI_K3_R5_REMOTEPROC=m
+CONFIG_TI_K3_DSP_REMOTEPROC=m
+CONFIG_PRU_REMOTEPROC=m
+CONFIG_TI_K3_M4_REMOTEPROC=m
+
+# RPMsg
+CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_VIRTIO=m
+CONFIG_RPMSG_PRU=m
+
+# RPMsg Samples
+# CONFIG_SAMPLES=y
+# CONFIG_SAMPLE_RPMSG_CLIENT=m
+##################################################
+# TI Connectivity Configs
+##################################################
+
+# Disable unused I2C options
+CONFIG_I2C_MUX=n
+CONFIG_I2C_DESIGNWARE_PLATFORM=n
+CONFIG_I2C_GPIO=n
+CONFIG_I2C_RK3X=n
+CONFIG_I2C_XILINX=n
+
+# I2C controllers
+CONFIG_I2C=y
+CONFIG_I2C_OMAP=y
+
+# I2C GPIO expanders
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_TPIC2810=m
+
+#I2C EEPROMS
+CONFIG_EEPROM_AT24=m
+
+#SPI EEPROMS
+CONFIG_EEPROM_93XX46=m
+
+# PTP
+CONFIG_PTP_1588_CLOCK=y
+
+#Networking drivers
+CONFIG_NET_VENDOR_TI=y
+CONFIG_KEYSTONE_NAVIGATOR_QMSS=y
+CONFIG_KEYSTONE_NAVIGATOR_DMA=y
+CONFIG_TI_KEYSTONE_NETCP=y
+CONFIG_TI_KEYSTONE_NETCP_ETHSS=y
+CONFIG_TI_DAVINCI_EMAC=y
+CONFIG_TI_DAVINCI_MDIO=y
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_GPIO=y
+CONFIG_TI_CPSW=y
+CONFIG_TI_CPSW_SWITCHDEV=y
+CONFIG_TI_CPTS=y
+CONFIG_TI_RDEV_ETH_SWITCH_VIRT_EMAC=m
+CONFIG_TI_PRUETH=m
+CONFIG_TI_ICSSG_PRUETH=m
+CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
+# non-TI Net vendors
+CONFIG_NET_DSA_BCM_SF2=n
+CONFIG_B53=n
+CONFIG_SYSTEMPORT=n
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_VENDOR_ADAPTEC=n
+CONFIG_NET_VENDOR_AGERE=n
+CONFIG_NET_VENDOR_ALTEON=n
+CONFIG_NET_VENDOR_AMAZON=n
+CONFIG_NET_VENDOR_AMD=n
+CONFIG_NET_VENDOR_ARC=n
+CONFIG_NET_VENDOR_ATHEROS=n
+CONFIG_NET_VENDOR_BROCADE=n
+CONFIG_NET_VENDOR_CAVIUM=n
+CONFIG_NET_VENDOR_CHELSIO=n
+CONFIG_BCMGENET=n
+CONFIG_NET_VENDOR_CIRRUS=n
+CONFIG_NET_VENDOR_CISCO=n
+CONFIG_NET_VENDOR_DEC=n
+CONFIG_NET_VENDOR_DLINK=n
+CONFIG_NET_VENDOR_EMULEX=n
+CONFIG_NET_VENDOR_EZCHIP=n
+CONFIG_NET_VENDOR_FARADAY=n
+CONFIG_NET_VENDOR_HISILICON=n
+CONFIG_NET_VENDOR_HP=n
+CONFIG_IGB=n
+CONFIG_NET_VENDOR_I825XX=n
+CONFIG_NET_VENDOR_MELLANOX=n
+CONFIG_NET_VENDOR_MICROCHIP=n
+CONFIG_NET_VENDOR_MYRI=n
+CONFIG_NET_VENDOR_NATSEMI=n
+CONFIG_NET_VENDOR_NETRONOME=n
+CONFIG_NET_VENDOR_NVIDIA=n
+CONFIG_NET_VENDOR_OKI=n
+CONFIG_NET_VENDOR_8390=n
+CONFIG_NET_VENDOR_QLOGIC=n
+CONFIG_NET_VENDOR_REALTEK=n
+CONFIG_NET_VENDOR_RENESAS=n
+CONFIG_NET_VENDOR_RDC=n
+CONFIG_NET_VENDOR_ROCKER=n
+CONFIG_NET_VENDOR_SAMSUNG=n
+CONFIG_NET_VENDOR_SILAN=n
+CONFIG_NET_VENDOR_SIS=n
+CONFIG_NET_VENDOR_SEEQ=n
+CONFIG_NET_VENDOR_STMICRO=n
+CONFIG_NET_VENDOR_SUN=n
+CONFIG_NET_VENDOR_SYNOPSYS=n
+CONFIG_NET_VENDOR_TEHUTI=n
+CONFIG_NET_VENDOR_VIA=n
+CONFIG_NET_VENDOR_WIZNET=n
+#Wireless LAN
+CONFIG_WLCORE=m
+CONFIG_WLCORE_SDIO=m
+CONFIG_WL18XX=m
+CONFIG_NL80211_TESTMODE=y
+CONFIG_MAC80211_MESH=y
+
+#MDIO phys
+CONFIG_MARVELL_PHY=y
+CONFIG_MICREL_PHY=y
+# unused PHY drivers
+CONFIG_BROADCOM_PHY=n
+CONFIG_ICPLUS_PHY=n
+#PRU MII PHYs for Industrial Boards
+CONFIG_DP83848_PHY=y
+# Enable phy for DRA72 evm
+CONFIG_DP83867_PHY=y
+# Enable phy for AM64 evm
+CONFIG_DP83869_PHY=y
+# Control onboard MDIO muxes
+CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
+
+#MTD
+CONFIG_MTD=y
+CONFIG_MEMORY=y
+CONFIG_TI_AEMIF=y
+CONFIG_OMAP_GPMC=y
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_OMAP_BCH=y
+CONFIG_MTD_NAND_OMAP_BCH_BUILD=y
+CONFIG_MTD_NAND_DAVINCI=y
+CONFIG_MTD_SPI_NAND=y
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_UBI=y
+CONFIG_MTD_HYPERBUS=y
+CONFIG_HBMC_AM654=y
+
+#PCIE
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=y
+CONFIG_PCI_EPF_NTB=y
+CONFIG_PCI_ENDPOINT_TEST=m
+CONFIG_PCI_DRA7XX=y
+CONFIG_PCI_DRA7XX_HOST=y
+CONFIG_PCI_DRA7XX_EP=y
+CONFIG_PCI_KEYSTONE=y
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_KEYSTONE_EP=y
+CONFIG_PCI_J721E=y
+CONFIG_PCI_J721E_HOST=y
+CONFIG_PCI_J721E_EP=y
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_EP=y
+
+#NTB
+CONFIG_NTB=m
+CONFIG_NTB_EPF=m
+CONFIG_NTB_TRANSPORT=m
+CONFIG_NTB_NETDEV=m
+
+#NVME
+CONFIG_NVME_CORE=m
+CONFIG_BLK_DEV_NVME=m
+
+#These drivers have been used with DRA7x/AM57x PCIe RC with some success
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_TIGON3=m
+CONFIG_SKGE=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_B43=m
+#Generic Phys
+CONFIG_PHY_AM654_SERDES=y
+CONFIG_PHY_TI_KEYSTONE_SERDES=y
+CONFIG_PHY_CADENCE_SIERRA=y
+
+# Networking
+CONFIG_HSR=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_BRIDGE=m
+CONFIG_XFRM_USER=m
+CONFIG_NET_KEY=m
+CONFIG_INET=y
+CONFIG_INET_AH=m
+CONFIG_INET6_AH=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_SCH_FIFO=y
+CONFIG_IP_SCTP=m
+CONFIG_VLAN_8021Q=m
+CONFIG_IP_MULTICAST=y
+CONFIG_NET_SWITCHDEV=y
+
+# Ethernet drivers
+CONFIG_TI_K3_AM65_CPSW_NUSS=y
+CONFIG_TI_AM65_CPSW_TAS=y
+CONFIG_TI_K3_AM65_CPTS=y
+#MMC/SD support
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_OMAP_HS=y
+CONFIG_MMC_SDHCI_OMAP=y
+CONFIG_MMC_DW=n
+CONFIG_MMC_SDHCI_AM654=y
+
+#SPI
+CONFIG_SPI_CADENCE_QUADSPI=y
+CONFIG_SPI_TI_QSPI=y
+CONFIG_SPI_OMAP24XX=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SPIDEV=m
+#Disable unused SPI controllers
+CONFIG_SPI_BITBANG=n
+CONFIG_SPI_CADENCE=n
+CONFIG_SPI_ROCKCHIP=n
+CONFIG_SPI_XILINX=n
+
+#Disable SPI NOR 4K SECTORS
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n
+
+#SPI GPIO expanders
+CONFIG_GPIO_PISOSR=m
+
+#SATA
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_AHCI=m
+CONFIG_ATA=m
+
+#USB PHY
+CONFIG_OMAP_USB2=m
+
+#USB gadgets
+CONFIG_USB_GADGET=m
+CONFIG_USB_AUDIO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+CONFIG_USB_G_WEBCAM=m
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=32
+CONFIG_USB_ZERO=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+
+# USB DWC3
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_OMAP=m
+CONFIG_USB_DWC3_KEYSTONE=m
+CONFIG_USB_DWC3_AM62=m
+CONFIG_USB_DWC3_PCI=n
+CONFIG_USB_DWC2=n
+CONFIG_USB_CHIPIDEA=n
+
+# USB CDNS3
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_TI=m
+
+#USB PHY
+CONFIG_NOP_USB_XCEIV=m
+
+#USB MUSB
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_OMAP2PLUS=m
+CONFIG_USB_MUSB_AM35X=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_TI_CPPI41=y
+CONFIG_USB_TI_CPPI41_DMA=y
+CONFIG_AM335X_CONTROL_USB=y
+CONFIG_AM335X_PHY_USB=y
+
+#USB EHCI
+CONFIG_USB=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_HCD_OMAP=m
+
+#USB Networking
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_NET_ZAURUS=m
+
+#USB testing
+CONFIG_USB_TEST=m
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#USB Serial
+CONFIG_USB_ACM=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OPTION=m
+
+# Extcon drivers
+CONFIG_EXTCON=m
+CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_USB_GPIO=m
+
+# USB PD controller drivers
+CONFIG_TYPEC_TPS6598X=m
+
+# PWM
+CONFIG_PWM_TIECAP=y
+CONFIG_PWM_TIEHRPWM=y
+CONFIG_PWM_TIPWMSS=y
+CONFIG_PWM_OMAP_DMTIMER=y
+
+# eCAP driver
+CONFIG_TI_ECAP_CAPTURE=m
+
+# 1-wire Bus Masters
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
+
+# Matrix keypad
+CONFIG_KEYBOARD_MATRIX=m
+
+#Touchscreen/ADC
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_MFD_TI_AM335X_TSCADC=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TI_AM335X_ADC=m
+
+#CAN
+CONFIG_CAN=m
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_M_CAN=m
+CONFIG_CAN_M_CAN_PLATFORM=m
+
+# CAN Transceiver
+CONFIG_PHY_CAN_TRANSCEIVER=m
+
+# Rotary Encoder
+CONFIG_INPUT_GPIO_DECODER=m
+
+# Filesystem extra options
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_UBIFS_FS=y
+
+# HD-Audio
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+
+#UFS
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_CDNS_PLATFORM=y
+CONFIG_SCSI_UFS_TI_J721E=y
+
+#PRUSS-UART
+CONFIG_SERIAL_8250_PRUSS=m
+
+# MUX Drivers
+CONFIG_MUX_GPIO=y
+
+# PRU Soft UART driver
+CONFIG_SERIAL_PRU_SWUART=m
+
+# Enable Power line communication Common drivers
+CONFIG_NET_VENDOR_QUALCOMM=y
+CONFIG_QCA7000=m
+CONFIG_QCA7000_SPI=m
+CONFIG_QCA7000_UART=m
+
+# AF_XDP
+CONFIG_BPF_SYSCALL=y
+CONFIG_XDP_SOCKETS=y
+##################################################
+# TI Audio/Display config options
+##################################################
+
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=512
+
+# backlight
+
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TLC591XX=y
+
+CONFIG_BACKLIGHT_PWM=y
+CONFIG_BACKLIGHT_GPIO=y
+CONFIG_BACKLIGHT_LED=y
+
+# fbdev
+
+CONFIG_FB_SSD1307=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_DRM_MIPI_DBI=m
+CONFIG_TINYDRM_ILI9225=m
+
+# DRM
+CONFIG_DRM=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_LVDS_CODEC=y
+CONFIG_DRM_SII902X=y
+CONFIG_DRM_TOSHIBA_TC358767=y
+CONFIG_DRM_TOSHIBA_TC358768=y
+CONFIG_DRM_TI_TFP410=y
+CONFIG_DRM_TI_TPD12S015=y
+
+# Firmware loading only works if built as module
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_CDNS_DSI=m
+
+CONFIG_PHY_J721E_WIZ=y
+CONFIG_PHY_CADENCE_TORRENT=y
+
+# SGX driver needs legacy support
+CONFIG_DRM_LEGACY=y
+
+CONFIG_DRM_I2C_NXP_TDA998X=y
+
+# tidss
+CONFIG_DRM_TIDSS=y
+
+# Touchscreen
+CONFIG_TOUCHSCREEN_GOODIX=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_HID_MULTITOUCH=m
+
+# V4L2
+CONFIG_VIDEO_CADENCE=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
+CONFIG_VIDEO_TI_CAL=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
+CONFIG_VIDEO_IMX390=m
+CONFIG_VIDEO_OV2659=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_OV1063X=m
+CONFIG_VIDEO_OV2312=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_PHY_CADENCE_DPHY=m
+
+# Sound
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+CONFIG_SND_SOC_J721E_EVM=m
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC3X=m
+
+# display sharing
+CONFIG_RPMSG_KDRV_DISPLAY=y
+##################################################
+# TI Multimedia (Video Decode, Encode) Configs
+##################################################
+
+# IMG D5500 v4l2 Driver Config Options
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_VIDEO_IMG_VXD_DEC=m
+
+# IMG VXE384 v4l2 Driver Config Options
+CONFIG_VIDEO_IMG_VXE_ENC=m
+
+# Enable multimedia staging drivers for Wave VPU driver.
+CONFIG_STAGING_MEDIA=y
+CONFIG_VIDEO_WAVE_VPU=m
+##############################################
+#
+# Kernel options needed for systemd enabled TI SDKs
+# See https://cgit.freedesktop.org/systemd/systemd/tree/README#n38 for details
+#
+##############################################
+CONFIG_TMPFS=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_PERF=y
+
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_NET=y
+CONFIG_SYSFS=y
+CONFIG_PROC_FS=y
+CONFIG_FHANDLE=y
+
+# udev will fail to work with the legacy sysfs layout:
+CONFIG_SYSFS_DEPRECATED=n
+
+# Legacy hotplug slows down the system and confuses udev:
+CONFIG_UEVENT_HELPER_PATH=""
+
+# Userspace firmware loading is not supported and should
+# be disabled in the kernel:
+CONFIG_FW_LOADER_USER_HELPER=n
+
+# Some udev rules and virtualization detection relies on it:
+# Only for UEFI based systems
+# http://cateee.net/lkddb/web-lkddb/DMI.html
+CONFIG_DMIID=n
+
+# Support for some SCSI devices serial number retrieval, to
+# create additional symlinks in /dev/disk/ and /dev/tape:
+CONFIG_BLK_DEV_BSG=y
+
+# Required for PrivateNetwork and PrivateDevices in service units:
+# Note that systemd-localed.service and other systemd units use
+# PrivateNetwork and PrivateDevices so this is effectively required.
+CONFIG_NAMESPACES=y
+CONFIG_NET_NS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+
+# Optional but strongly recommended options: those are nice to have and
+# indeed recommended, but not necessarily systemd required. These to be
+# enabled in corresponding domain fragments since they are not specific
+# to supporting systemd.
+
+CONFIG_SECCOMP=y
+# for kcmp syscall
+CONFIG_CHECKPOINT_RESTORE=y
+
+# Required for CPUShares= in resource control unit settings
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+
+# Required for CPUQuota= in resource control unit settings
+CONFIG_CFS_BANDWIDTH=y
+
+# For systemd-bootchart, several proc debug interfaces are required:
+# Systemd-debug.cfg?
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+
+# We recommend to turn off Real-Time group scheduling in the
+# kernel when using systemd. RT group scheduling effectively
+# makes RT scheduling unavailable for most userspace, since it
+# requires explicit assignment of RT budgets to each unit whose
+# processes making use of RT. As there's no sensible way to
+# assign these budgets automatically this cannot really be
+# fixed, and it's best to disable group scheduling hence.
+CONFIG_RT_GROUP_SCHED=n
+
+# Note that kernel auditing is broken when used with systemd's
+# container code. When using systemd in conjunction with
+# containers, please make sure to either turn off auditing at
+# runtime using the kernel command line option "audit=0", or
+# turn it off at kernel compile time using:
+CONFIG_AUDIT=n
+##############################################
+#
+# Kernel options needed for container enabled TI SDKs
+# See https://raw.githubusercontent.com/moby/moby/v20.10.12/contrib/check-config.sh
+# Also see lxc-checkconfig
+#
+##############################################
+
+# Just the basic container configuration necessary
+CONFIG_CGROUP_BPF=y
+CONFIG_VETH=m
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_RR=m
+CONFIG_VXLAN=m
+CONFIG_IPVLAN=m
+CONFIG_MACVLAN=m
+CONFIG_DUMMY=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_AUFS_FS=m
+CONFIG_BTRFS_FS=m
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_OVERLAY_FS=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
index 4babf26719..2d05ddd96b 100644
--- a/configs/am62x_sk_defconfig
+++ b/configs/am62x_sk_defconfig
@@ -1,8 +1,12 @@
BR2_aarch64=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x_sk/genimage.cfg"
BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/snapshot/ti-linux-kernel-08.06.00.007.tar.gz"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/ti/am62x_sk/ti_sdk_arm64_release_defconfig"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -12,23 +16,28 @@ BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot/trusted-firmware-a-2fcd408bb3a6756767a43c073c597cef06e7f2d5.tar.gz"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
BR2_TARGET_OPTEE_OS=y
+BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL=y
+BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION="https://github.com/OP-TEE/optee_os/archive/8e74d47616a20eaa23ca692f4bbbf917a236ed94.tar.gz"
+BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3"
BR2_TARGET_TI_K3_IMAGE_GEN=y
BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
BR2_TARGET_TI_K3_R5_LOADER=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-u-boot/ti-u-boot/snapshot/ti-u-boot-08.06.00.007.tar.gz"
BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am62x_evm_r5"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-u-boot/ti-u-boot/snapshot/ti-u-boot-08.06.00.007.tar.gz"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am62x_evm_a53"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
index 38b18331f7..a26e38a043 100644
--- a/configs/am64x_sk_defconfig
+++ b/configs/am64x_sk_defconfig
@@ -1,8 +1,12 @@
BR2_aarch64=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am64x_sk/genimage.cfg"
BR2_LINUX_KERNEL=y
-BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/snapshot/ti-linux-kernel-08.06.00.007.tar.gz"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/ti/am64x_sk/ti_sdk_arm64_release_defconfig"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am642-sk"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
@@ -12,12 +16,15 @@ BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
-BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.7.0"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/snapshot/trusted-firmware-a-2fcd408bb3a6756767a43c073c597cef06e7f2d5.tar.gz"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="k3"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
BR2_TARGET_OPTEE_OS=y
+BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL=y
+BR2_TARGET_OPTEE_OS_CUSTOM_TARBALL_LOCATION="https://github.com/OP-TEE/optee_os/archive/8e74d47616a20eaa23ca692f4bbbf917a236ed94.tar.gz"
+BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3"
BR2_TARGET_TI_K3_IMAGE_GEN=y
BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
@@ -25,11 +32,13 @@ BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
BR2_TARGET_TI_K3_R5_LOADER=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
+BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-u-boot/ti-u-boot/snapshot/ti-u-boot-08.06.00.007.tar.gz"
BR2_TARGET_TI_K3_R5_LOADER_BOARD_DEFCONFIG="am64x_evm_r5"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION=y
-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://git.ti.com/cgit/ti-u-boot/ti-u-boot/snapshot/ti-u-boot-08.06.00.007.tar.gz"
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (5 preceding siblings ...)
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 ` Andreas Dannenberg via buildroot
2023-06-16 11:15 ` François Perrad
2023-06-19 17:39 ` Julien Olivain
2023-06-16 0:23 ` [Buildroot] [PATCH v8 08/10] package/ti-rogue-km: new package Andreas Dannenberg via buildroot
` (2 subsequent siblings)
9 siblings, 2 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
(called SK-AM64B, see [2]) both contain High Security - Field Securable
(HS-FS) device variants, and those are really the recommended production
device variants and boards TI will provide moving forward. Hence, switch
the defconfigs for those boards over to accommodate those now-shipping
device variants and boards.
[1] https://www.ti.com/tool/SK-AM62B
[2] https://www.ti.com/tool/SK-AM64B
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
configs/am62x_sk_defconfig | 2 +-
configs/am64x_sk_defconfig | 4 ++--
4 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
index ccbb24896b..9c7c8818af 100644
--- a/board/ti/am62x_sk/readme.txt
+++ b/board/ti/am62x_sk/readme.txt
@@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
Optional: modify the configuration:
$ make menuconfig
+Required setup step for High Security HS-FS and HS-SE SoC variants:
+
+To allow the image signing process for various firmware artifacts to
+work the build process for HS-FS and HS-SE device variants is using
+an external 'core-secdev-k3' package which can be obtained from
+https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
+To prepare building for those device variants create a local copy of
+the 'core-secdev-k3' and export its location through the
+TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
+HS-FS device variants such as populated on the SK-AM64B board, or
+customize this package with your private signing keys when using a
+HS-SE device variant.
+
+$ git clone https://git.ti.com/git/security-development-tools/core-secdev-k3.git
+$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
+
Build:
$ make
diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
index fe83c675f5..51d0312726 100644
--- a/board/ti/am64x_sk/readme.txt
+++ b/board/ti/am64x_sk/readme.txt
@@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
Optional: modify the configuration:
$ make menuconfig
+Required setup step for High Security HS-FS and HS-SE SoC variants:
+
+To allow the image signing process for various firmware artifacts to
+work the build process for HS-FS and HS-SE device variants is using
+an external 'core-secdev-k3' package which can be obtained from
+https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
+To prepare building for those device variants create a local copy of
+the 'core-secdev-k3' and export its location through the
+TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
+HS-FS device variants such as populated on the SK-AM64B board, or
+customize this package with your private signing keys when using a
+HS-SE device variant.
+
+$ git clone https://git.ti.com/git/security-development-tools/core-secdev-k3.git
+$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
+
Build:
$ make
diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
index 2d05ddd96b..033101b735 100644
--- a/configs/am62x_sk_defconfig
+++ b/configs/am62x_sk_defconfig
@@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3"
BR2_TARGET_TI_K3_IMAGE_GEN=y
BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
-BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
BR2_TARGET_TI_K3_R5_LOADER=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
index a26e38a043..096dd77f6a 100644
--- a/configs/am64x_sk_defconfig
+++ b/configs/am64x_sk_defconfig
@@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
BR2_TARGET_OPTEE_OS_PLATFORM="k3"
BR2_TARGET_TI_K3_IMAGE_GEN=y
BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
-BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
-BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
+BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
BR2_TARGET_TI_K3_R5_LOADER=y
BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 08/10] package/ti-rogue-km: new package
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (6 preceding siblings ...)
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 0:23 ` 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
9 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
This package adds the kernel module for the Rogue graphics
accelerator of the following Texas Instuments SoCs: AM62,
J721E, J721S2, and J784S4.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
package/Config.in | 1 +
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 ++++++++++++++++++++++++++++
4 files changed, 69 insertions(+)
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
diff --git a/package/Config.in b/package/Config.in
index bff090a661..96ef0d72de 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -613,6 +613,7 @@ endmenu
source "package/sysstat/Config.in"
source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"
+ source "package/ti-rogue-km/Config.in"
source "package/ti-sgx-demos/Config.in"
source "package/ti-sgx-km/Config.in"
source "package/ti-sgx-um/Config.in"
diff --git a/package/ti-rogue-km/Config.in b/package/ti-rogue-km/Config.in
new file mode 100644
index 0000000000..b1565929d5
--- /dev/null
+++ b/package/ti-rogue-km/Config.in
@@ -0,0 +1,28 @@
+comment "ti-rogue-km needs a Linux kernel to be built"
+ depends on BR2_aarch64
+ depends on !BR2_LINUX_KERNEL
+
+config BR2_PACKAGE_TI_ROGUE_KM
+ bool "ti-rogue-km"
+ depends on BR2_LINUX_KERNEL && BR2_aarch64
+ select BR2_LINUX_NEEDS_MODULES
+ help
+ Kernel modules for TI SoCs with Rogue GPU.
+ This package supports AM62, J721E, J721S2, and J784S4
+ SoCs only.
+
+ Note: it needs a TI specific kernel to build properly.
+
+ https://git.ti.com/cgit/graphics/ti-img-rogue-driver
+
+if BR2_PACKAGE_TI_ROGUE_KM
+
+config BR2_TARGET_TI_ROGUE_KM_TARGET_PRODUCT
+ string "KM driver target product"
+ default "am62_linux"
+ help
+ Select target product to be used for KM driver. This needs to
+ match one of the SoC-specific folders within the build/linux
+ folder of the ti-img-rogue-driver Git repository.
+
+endif
diff --git a/package/ti-rogue-km/ti-rogue-km.hash b/package/ti-rogue-km/ti-rogue-km.hash
new file mode 100644
index 0000000000..4a08efbb98
--- /dev/null
+++ b/package/ti-rogue-km/ti-rogue-km.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 ef50124b3e79fb1d28d3a2b4135032505abbb5c6b337b24a9bed7223d521dcc1 ti-rogue-km-1dd6291a5cad4f2b909fc2a14bd717a3bc5f0bb2-br1.tar.gz
+sha256 c878f4e43e468329d3dcf4db09054e94472bfeee9f8ab2d69a122b978e9f773e README
diff --git a/package/ti-rogue-km/ti-rogue-km.mk b/package/ti-rogue-km/ti-rogue-km.mk
new file mode 100644
index 0000000000..7b0a595c71
--- /dev/null
+++ b/package/ti-rogue-km/ti-rogue-km.mk
@@ -0,0 +1,37 @@
+################################################################################
+#
+# ti-rogue-km
+#
+################################################################################
+
+# This corresponds to SDK 08.06.00
+TI_ROGUE_KM_VERSION = 1dd6291a5cad4f2b909fc2a14bd717a3bc5f0bb2
+TI_ROGUE_KM_SITE = https://git.ti.com/git/graphics/ti-img-rogue-driver.git
+TI_ROGUE_KM_SITE_METHOD = git
+TI_ROGUE_KM_LICENSE = MIT or GPL-2.0
+TI_ROGUE_KM_LICENSE_FILES = README
+
+TI_ROGUE_KM_DEPENDENCIES = linux
+
+PVR_BUILD = "release"
+PVR_WS = "wayland"
+
+TI_ROGUE_KM_MAKE_OPTS = \
+ $(LINUX_MAKE_FLAGS) \
+ KERNELDIR=$(LINUX_DIR) \
+ BUILD=$(PVR_BUILD) \
+ PVR_BUILD_DIR=$(BR2_TARGET_TI_ROGUE_KM_TARGET_PRODUCT) \
+ WINDOW_SYSTEM=$(PVR_WS)
+
+define TI_ROGUE_KM_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TI_ROGUE_KM_MAKE_OPTS)
+endef
+
+define TI_ROGUE_KM_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) \
+ M=$(@D)/binary_$(BR2_TARGET_TI_ROGUE_KM_TARGET_PRODUCT)_$(PVR_WS)_$(PVR_BUILD)/target_aarch64/kbuild \
+ INSTALL_MOD_PATH=$(TARGET_DIR) \
+ modules_install
+endef
+
+$(eval $(generic-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 09/10] package/ti-rogue-um: new package
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (7 preceding siblings ...)
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 ` 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
9 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
This package adds the userspace libraries for the Rogue graphics
accelerator of the following Texas Instruments SoCs: AM62, J721E,
J721S2, and J784S4.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
package/Config.in | 1 +
.../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 +
5 files changed, 926 insertions(+)
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
diff --git a/package/Config.in b/package/Config.in
index 96ef0d72de..0bff1135aa 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -614,6 +614,7 @@ endmenu
source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"
source "package/ti-rogue-km/Config.in"
+ source "package/ti-rogue-um/Config.in"
source "package/ti-sgx-demos/Config.in"
source "package/ti-sgx-km/Config.in"
source "package/ti-sgx-um/Config.in"
diff --git a/package/ti-rogue-um/0001-all-drop-the-init-script.patch b/package/ti-rogue-um/0001-all-drop-the-init-script.patch
new file mode 100644
index 0000000000..4f3dd1cbb1
--- /dev/null
+++ b/package/ti-rogue-um/0001-all-drop-the-init-script.patch
@@ -0,0 +1,832 @@
+From 99e0da8a1c08818c59680f726e11a84b26daf29f Mon Sep 17 00:00:00 2001
+From: Randolph Sapp <rs@ti.com>
+Date: Thu, 25 May 2023 18:59:26 -0500
+Subject: [PATCH] all: drop the init script
+
+Nobody should be using this anymore. It's sysVinit and it's just a fancy
+wrapper around modprobe anyway. We'll be dropping it from our build
+tools soon.
+
+Signed-off-by: Randolph Sapp <rs@ti.com>
+---
+ .../wayland/release/etc/init.d/rc.pvr | 196 ------------------
+ .../wayland/release/etc/init.d/rc.pvr | 196 ------------------
+ .../wayland/release/etc/init.d/rc.pvr | 196 ------------------
+ .../wayland/release/etc/init.d/rc.pvr | 196 ------------------
+ 4 files changed, 784 deletions(-)
+ delete mode 100755 targetfs/am62_linux/wayland/release/etc/init.d/rc.pvr
+ delete mode 100755 targetfs/j721e_linux/wayland/release/etc/init.d/rc.pvr
+ delete mode 100755 targetfs/j721s2_linux/wayland/release/etc/init.d/rc.pvr
+ delete mode 100755 targetfs/j784s4_linux/wayland/release/etc/init.d/rc.pvr
+
+diff --git a/targetfs/am62_linux/wayland/release/etc/init.d/rc.pvr b/targetfs/am62_linux/wayland/release/etc/init.d/rc.pvr
+deleted file mode 100755
+index 428cd86..0000000
+--- a/targetfs/am62_linux/wayland/release/etc/init.d/rc.pvr
++++ /dev/null
+@@ -1,196 +0,0 @@
+-#!/bin/bash
+-############################################################################ ###
+-#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+-#@License MIT
+-# The contents of this file are subject to the MIT license as set out below.
+-#
+-# Permission is hereby granted, free of charge, to any person obtaining a copy
+-# of this software and associated documentation files (the "Software"), to deal
+-# in the Software without restriction, including without limitation the rights
+-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+-# copies of the Software, and to permit persons to whom the Software is
+-# furnished to do so, subject to the following conditions:
+-#
+-# The above copyright notice and this permission notice shall be included in
+-# all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+-# THE SOFTWARE.
+-#### ###########################################################################
+-
+-# Auto-generated for am62_linux from rogueddk_1.15@6133109
+-#
+-
+-load_pvr()
+-{
+- load_modules_exit_status=0
+-
+- # Load the PVR Services module.
+- #
+-
+- if [ -n "$PVR_SRVKM_PARAMS" ] && ! /sbin/modprobe -q pvrsrvkm --dry-run --first-time; then
+- echo "Cannot set parameters for pvrsrvkm. Module already loaded."
+- some_modules_already_loaded=1
+- readonly load_modules_exit_status=1
+- elif ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS; then
+- echo "Module pvrsrvkm failed to load. Retrying."
+- if [ -z $depmod_has_been_run ]; then
+- if [ -e /sbin/depmod ]; then
+- echo "Running /sbin/depmod"
+- /sbin/depmod && depmod_has_been_run=1
+- fi
+- fi
+- if ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS ; then return; fi
+- fi
+-
+- # Reload udev rules
+- #
+- if [ -e /sbin/udevadm ]; then
+- /sbin/udevadm control --reload-rules
+- fi
+-
+- # Load 3rd party module(s).
+- #
+-
+- if [ -z "$PVR_LOAD_MODULES_ONLY" ]; then
+- # Create the directory for the Wayland socket.
+- #
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- export XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+- if [ ! -e $XDG_RUNTIME_DIR ]; then
+- mkdir $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR
+- fi
+-
+- # If PDumping, enable software rendering for Weston to ensure that
+- # pdump doesn't capture any output from Weston itself.
+- #
+- if pgrep -x pdump > /dev/null 2>&1; then
+- export GBM_ALWAYS_SOFTWARE=1
+- export LIBGL_ALWAYS_SOFTWARE=1
+- fi
+-
+- # Try to work out the device node for the display controller.
+- #
+- for dev in /dev/dri/card*; do
+- dev_major=$(($(stat -c '0x%t' "$dev")))
+- dev_minor=$(($(stat -c '0x%T' "$dev")))
+- sys_path=$(readlink -f /sys/dev/char/$dev_major\:$dev_minor)
+-
+- while [ -e "$sys_path" -a "$sys_path" != "/sys" ]; do
+- if [ ! -e "${sys_path}/driver" ]; then
+- sys_path="$(dirname "$sys_path")"
+- continue
+- fi
+-
+- module="$(basename "$(readlink -f "$sys_path/driver/module")")"
+- if [ "$module" = "DISPLAY_CONTROLLER" ]; then
+- drm_card="$(basename "$dev")"
+- fi
+- break
+- done
+-
+- if [ -n "$drm_card" ]; then
+- break
+- fi
+- done
+-
+- if [ -e "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- echo "Weston is already running. If this is not the case run:"
+- echo "$ sudo rm ${XDG_RUNTIME_DIR}/weston.pgid"
+- echo
+- else
+- # Get a TTY for Weston to use.
+- #
+- if [ -x "$(which openvt)" ] && [ -e "/sys/class/tty/tty0/active" ]; then
+- openvt -s -l && read unused_tty < /sys/class/tty/tty0/active
+- fi
+-
+- # Launch Weston.
+- #
+- if [ -n "$drm_card" ]; then
+- if [ -n "$unused_tty" ]; then
+- ps -p $$ -o pgid= > "${XDG_RUNTIME_DIR}/weston.pgid"
+- /usr/bin/weston --backend=drm-backend.so --drm-device="$drm_card" --tty="${unused_tty//[!0-9]}" --idle-time=0 &
+- else
+- last_tty_path="$(ls /dev/tty[1-9][0-9] | sort -V |tail -n 1)"
+-
+- echo "To start Weston run (specifying a tty within the given range):"
+- echo "$ sudo /usr/bin/weston --backend=drm-backend.so --drm-device=$drm_card --tty=<8..${last_tty_path//[!0-9]}> --idle-time=0 &"
+- echo
+- fi
+- else
+- echo "Couldn't start Weston automatically."
+- fi
+- fi
+- fi
+-
+- if [ -n "$some_modules_already_loaded" ]; then
+- echo
+- echo "Could not set parameters for some modules."
+- echo "To fix this ensure automatic loading of those modules is disabled and restart the driver."
+- echo "See the platform guide for more details."
+- else
+- echo "Loaded PowerVR consumer services."
+- fi
+-
+- return $load_modules_exit_status;
+-}
+-
+-unload_pvr()
+-{
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+-
+- # Stop Weston.
+- #
+- if [ -f "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- read WESTON_PGID < "${XDG_RUNTIME_DIR}/weston.pgid" && [ -n "$WESTON_PGID" ] && WESTON_PID=$(pgrep -g $WESTON_PGID -x weston) && [ -n "$WESTON_PID" ] && kill $WESTON_PID && while [ -e /proc/$WESTON_PID ] ; do sleep 1; done
+- rm "${XDG_RUNTIME_DIR}/weston.pgid"
+- elif pgrep -x weston > /dev/null; then
+- echo "Warning: Found one of more instances of Weston running."
+- echo " This may prevent the driver from being unloaded."
+- fi
+-
+- # Unload 3rd party module(s).
+- #
+-
+- # Unload the PVR Services module.
+- #
+- if /sbin/modprobe -r pvrsrvkm; then :; else return 1; fi
+-
+- echo "Unloaded PowerVR consumer services."
+- return 0;
+-}
+-
+-# Deal with the type of invocation we get.
+-#
+-case "$1" in
+-start)
+- load_pvr
+- ;;
+-stop)
+- if ! unload_pvr; then
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-reload|restart)
+- if unload_pvr; then
+- load_pvr
+- else
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-*)
+- echo "$0: unknown argument $1." >&2;
+- ;;
+-esac
+-
+diff --git a/targetfs/j721e_linux/wayland/release/etc/init.d/rc.pvr b/targetfs/j721e_linux/wayland/release/etc/init.d/rc.pvr
+deleted file mode 100755
+index c3cae31..0000000
+--- a/targetfs/j721e_linux/wayland/release/etc/init.d/rc.pvr
++++ /dev/null
+@@ -1,196 +0,0 @@
+-#!/bin/bash
+-############################################################################ ###
+-#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+-#@License MIT
+-# The contents of this file are subject to the MIT license as set out below.
+-#
+-# Permission is hereby granted, free of charge, to any person obtaining a copy
+-# of this software and associated documentation files (the "Software"), to deal
+-# in the Software without restriction, including without limitation the rights
+-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+-# copies of the Software, and to permit persons to whom the Software is
+-# furnished to do so, subject to the following conditions:
+-#
+-# The above copyright notice and this permission notice shall be included in
+-# all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+-# THE SOFTWARE.
+-#### ###########################################################################
+-
+-# Auto-generated for j721e_linux from rogueddk_1.15@6133109
+-#
+-
+-load_pvr()
+-{
+- load_modules_exit_status=0
+-
+- # Load the PVR Services module.
+- #
+-
+- if [ -n "$PVR_SRVKM_PARAMS" ] && ! /sbin/modprobe -q pvrsrvkm --dry-run --first-time; then
+- echo "Cannot set parameters for pvrsrvkm. Module already loaded."
+- some_modules_already_loaded=1
+- readonly load_modules_exit_status=1
+- elif ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS; then
+- echo "Module pvrsrvkm failed to load. Retrying."
+- if [ -z $depmod_has_been_run ]; then
+- if [ -e /sbin/depmod ]; then
+- echo "Running /sbin/depmod"
+- /sbin/depmod && depmod_has_been_run=1
+- fi
+- fi
+- if ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS ; then return; fi
+- fi
+-
+- # Reload udev rules
+- #
+- if [ -e /sbin/udevadm ]; then
+- /sbin/udevadm control --reload-rules
+- fi
+-
+- # Load 3rd party module(s).
+- #
+-
+- if [ -z "$PVR_LOAD_MODULES_ONLY" ]; then
+- # Create the directory for the Wayland socket.
+- #
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- export XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+- if [ ! -e $XDG_RUNTIME_DIR ]; then
+- mkdir $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR
+- fi
+-
+- # If PDumping, enable software rendering for Weston to ensure that
+- # pdump doesn't capture any output from Weston itself.
+- #
+- if pgrep -x pdump > /dev/null 2>&1; then
+- export GBM_ALWAYS_SOFTWARE=1
+- export LIBGL_ALWAYS_SOFTWARE=1
+- fi
+-
+- # Try to work out the device node for the display controller.
+- #
+- for dev in /dev/dri/card*; do
+- dev_major=$(($(stat -c '0x%t' "$dev")))
+- dev_minor=$(($(stat -c '0x%T' "$dev")))
+- sys_path=$(readlink -f /sys/dev/char/$dev_major\:$dev_minor)
+-
+- while [ -e "$sys_path" -a "$sys_path" != "/sys" ]; do
+- if [ ! -e "${sys_path}/driver" ]; then
+- sys_path="$(dirname "$sys_path")"
+- continue
+- fi
+-
+- module="$(basename "$(readlink -f "$sys_path/driver/module")")"
+- if [ "$module" = "DISPLAY_CONTROLLER" ]; then
+- drm_card="$(basename "$dev")"
+- fi
+- break
+- done
+-
+- if [ -n "$drm_card" ]; then
+- break
+- fi
+- done
+-
+- if [ -e "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- echo "Weston is already running. If this is not the case run:"
+- echo "$ sudo rm ${XDG_RUNTIME_DIR}/weston.pgid"
+- echo
+- else
+- # Get a TTY for Weston to use.
+- #
+- if [ -x "$(which openvt)" ] && [ -e "/sys/class/tty/tty0/active" ]; then
+- openvt -s -l && read unused_tty < /sys/class/tty/tty0/active
+- fi
+-
+- # Launch Weston.
+- #
+- if [ -n "$drm_card" ]; then
+- if [ -n "$unused_tty" ]; then
+- ps -p $$ -o pgid= > "${XDG_RUNTIME_DIR}/weston.pgid"
+- /usr/bin/weston --backend=drm-backend.so --drm-device="$drm_card" --tty="${unused_tty//[!0-9]}" --idle-time=0 &
+- else
+- last_tty_path="$(ls /dev/tty[1-9][0-9] | sort -V |tail -n 1)"
+-
+- echo "To start Weston run (specifying a tty within the given range):"
+- echo "$ sudo /usr/bin/weston --backend=drm-backend.so --drm-device=$drm_card --tty=<8..${last_tty_path//[!0-9]}> --idle-time=0 &"
+- echo
+- fi
+- else
+- echo "Couldn't start Weston automatically."
+- fi
+- fi
+- fi
+-
+- if [ -n "$some_modules_already_loaded" ]; then
+- echo
+- echo "Could not set parameters for some modules."
+- echo "To fix this ensure automatic loading of those modules is disabled and restart the driver."
+- echo "See the platform guide for more details."
+- else
+- echo "Loaded PowerVR consumer services."
+- fi
+-
+- return $load_modules_exit_status;
+-}
+-
+-unload_pvr()
+-{
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+-
+- # Stop Weston.
+- #
+- if [ -f "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- read WESTON_PGID < "${XDG_RUNTIME_DIR}/weston.pgid" && [ -n "$WESTON_PGID" ] && WESTON_PID=$(pgrep -g $WESTON_PGID -x weston) && [ -n "$WESTON_PID" ] && kill $WESTON_PID && while [ -e /proc/$WESTON_PID ] ; do sleep 1; done
+- rm "${XDG_RUNTIME_DIR}/weston.pgid"
+- elif pgrep -x weston > /dev/null; then
+- echo "Warning: Found one of more instances of Weston running."
+- echo " This may prevent the driver from being unloaded."
+- fi
+-
+- # Unload 3rd party module(s).
+- #
+-
+- # Unload the PVR Services module.
+- #
+- if /sbin/modprobe -r pvrsrvkm; then :; else return 1; fi
+-
+- echo "Unloaded PowerVR consumer services."
+- return 0;
+-}
+-
+-# Deal with the type of invocation we get.
+-#
+-case "$1" in
+-start)
+- load_pvr
+- ;;
+-stop)
+- if ! unload_pvr; then
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-reload|restart)
+- if unload_pvr; then
+- load_pvr
+- else
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-*)
+- echo "$0: unknown argument $1." >&2;
+- ;;
+-esac
+-
+diff --git a/targetfs/j721s2_linux/wayland/release/etc/init.d/rc.pvr b/targetfs/j721s2_linux/wayland/release/etc/init.d/rc.pvr
+deleted file mode 100755
+index 08190a9..0000000
+--- a/targetfs/j721s2_linux/wayland/release/etc/init.d/rc.pvr
++++ /dev/null
+@@ -1,196 +0,0 @@
+-#!/bin/bash
+-############################################################################ ###
+-#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+-#@License MIT
+-# The contents of this file are subject to the MIT license as set out below.
+-#
+-# Permission is hereby granted, free of charge, to any person obtaining a copy
+-# of this software and associated documentation files (the "Software"), to deal
+-# in the Software without restriction, including without limitation the rights
+-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+-# copies of the Software, and to permit persons to whom the Software is
+-# furnished to do so, subject to the following conditions:
+-#
+-# The above copyright notice and this permission notice shall be included in
+-# all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+-# THE SOFTWARE.
+-#### ###########################################################################
+-
+-# Auto-generated for j721s2_linux from rogueddk_1.15@6133109
+-#
+-
+-load_pvr()
+-{
+- load_modules_exit_status=0
+-
+- # Load the PVR Services module.
+- #
+-
+- if [ -n "$PVR_SRVKM_PARAMS" ] && ! /sbin/modprobe -q pvrsrvkm --dry-run --first-time; then
+- echo "Cannot set parameters for pvrsrvkm. Module already loaded."
+- some_modules_already_loaded=1
+- readonly load_modules_exit_status=1
+- elif ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS; then
+- echo "Module pvrsrvkm failed to load. Retrying."
+- if [ -z $depmod_has_been_run ]; then
+- if [ -e /sbin/depmod ]; then
+- echo "Running /sbin/depmod"
+- /sbin/depmod && depmod_has_been_run=1
+- fi
+- fi
+- if ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS ; then return; fi
+- fi
+-
+- # Reload udev rules
+- #
+- if [ -e /sbin/udevadm ]; then
+- /sbin/udevadm control --reload-rules
+- fi
+-
+- # Load 3rd party module(s).
+- #
+-
+- if [ -z "$PVR_LOAD_MODULES_ONLY" ]; then
+- # Create the directory for the Wayland socket.
+- #
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- export XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+- if [ ! -e $XDG_RUNTIME_DIR ]; then
+- mkdir $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR
+- fi
+-
+- # If PDumping, enable software rendering for Weston to ensure that
+- # pdump doesn't capture any output from Weston itself.
+- #
+- if pgrep -x pdump > /dev/null 2>&1; then
+- export GBM_ALWAYS_SOFTWARE=1
+- export LIBGL_ALWAYS_SOFTWARE=1
+- fi
+-
+- # Try to work out the device node for the display controller.
+- #
+- for dev in /dev/dri/card*; do
+- dev_major=$(($(stat -c '0x%t' "$dev")))
+- dev_minor=$(($(stat -c '0x%T' "$dev")))
+- sys_path=$(readlink -f /sys/dev/char/$dev_major\:$dev_minor)
+-
+- while [ -e "$sys_path" -a "$sys_path" != "/sys" ]; do
+- if [ ! -e "${sys_path}/driver" ]; then
+- sys_path="$(dirname "$sys_path")"
+- continue
+- fi
+-
+- module="$(basename "$(readlink -f "$sys_path/driver/module")")"
+- if [ "$module" = "DISPLAY_CONTROLLER" ]; then
+- drm_card="$(basename "$dev")"
+- fi
+- break
+- done
+-
+- if [ -n "$drm_card" ]; then
+- break
+- fi
+- done
+-
+- if [ -e "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- echo "Weston is already running. If this is not the case run:"
+- echo "$ sudo rm ${XDG_RUNTIME_DIR}/weston.pgid"
+- echo
+- else
+- # Get a TTY for Weston to use.
+- #
+- if [ -x "$(which openvt)" ] && [ -e "/sys/class/tty/tty0/active" ]; then
+- openvt -s -l && read unused_tty < /sys/class/tty/tty0/active
+- fi
+-
+- # Launch Weston.
+- #
+- if [ -n "$drm_card" ]; then
+- if [ -n "$unused_tty" ]; then
+- ps -p $$ -o pgid= > "${XDG_RUNTIME_DIR}/weston.pgid"
+- /usr/bin/weston --backend=drm-backend.so --drm-device="$drm_card" --tty="${unused_tty//[!0-9]}" --idle-time=0 &
+- else
+- last_tty_path="$(ls /dev/tty[1-9][0-9] | sort -V |tail -n 1)"
+-
+- echo "To start Weston run (specifying a tty within the given range):"
+- echo "$ sudo /usr/bin/weston --backend=drm-backend.so --drm-device=$drm_card --tty=<8..${last_tty_path//[!0-9]}> --idle-time=0 &"
+- echo
+- fi
+- else
+- echo "Couldn't start Weston automatically."
+- fi
+- fi
+- fi
+-
+- if [ -n "$some_modules_already_loaded" ]; then
+- echo
+- echo "Could not set parameters for some modules."
+- echo "To fix this ensure automatic loading of those modules is disabled and restart the driver."
+- echo "See the platform guide for more details."
+- else
+- echo "Loaded PowerVR consumer services."
+- fi
+-
+- return $load_modules_exit_status;
+-}
+-
+-unload_pvr()
+-{
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+-
+- # Stop Weston.
+- #
+- if [ -f "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- read WESTON_PGID < "${XDG_RUNTIME_DIR}/weston.pgid" && [ -n "$WESTON_PGID" ] && WESTON_PID=$(pgrep -g $WESTON_PGID -x weston) && [ -n "$WESTON_PID" ] && kill $WESTON_PID && while [ -e /proc/$WESTON_PID ] ; do sleep 1; done
+- rm "${XDG_RUNTIME_DIR}/weston.pgid"
+- elif pgrep -x weston > /dev/null; then
+- echo "Warning: Found one of more instances of Weston running."
+- echo " This may prevent the driver from being unloaded."
+- fi
+-
+- # Unload 3rd party module(s).
+- #
+-
+- # Unload the PVR Services module.
+- #
+- if /sbin/modprobe -r pvrsrvkm; then :; else return 1; fi
+-
+- echo "Unloaded PowerVR consumer services."
+- return 0;
+-}
+-
+-# Deal with the type of invocation we get.
+-#
+-case "$1" in
+-start)
+- load_pvr
+- ;;
+-stop)
+- if ! unload_pvr; then
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-reload|restart)
+- if unload_pvr; then
+- load_pvr
+- else
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-*)
+- echo "$0: unknown argument $1." >&2;
+- ;;
+-esac
+-
+diff --git a/targetfs/j784s4_linux/wayland/release/etc/init.d/rc.pvr b/targetfs/j784s4_linux/wayland/release/etc/init.d/rc.pvr
+deleted file mode 100755
+index 5770d72..0000000
+--- a/targetfs/j784s4_linux/wayland/release/etc/init.d/rc.pvr
++++ /dev/null
+@@ -1,196 +0,0 @@
+-#!/bin/bash
+-############################################################################ ###
+-#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+-#@License MIT
+-# The contents of this file are subject to the MIT license as set out below.
+-#
+-# Permission is hereby granted, free of charge, to any person obtaining a copy
+-# of this software and associated documentation files (the "Software"), to deal
+-# in the Software without restriction, including without limitation the rights
+-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+-# copies of the Software, and to permit persons to whom the Software is
+-# furnished to do so, subject to the following conditions:
+-#
+-# The above copyright notice and this permission notice shall be included in
+-# all copies or substantial portions of the Software.
+-#
+-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+-# THE SOFTWARE.
+-#### ###########################################################################
+-
+-# Auto-generated for j784s4_linux from rogueddk_1.15@6133109
+-#
+-
+-load_pvr()
+-{
+- load_modules_exit_status=0
+-
+- # Load the PVR Services module.
+- #
+-
+- if [ -n "$PVR_SRVKM_PARAMS" ] && ! /sbin/modprobe -q pvrsrvkm --dry-run --first-time; then
+- echo "Cannot set parameters for pvrsrvkm. Module already loaded."
+- some_modules_already_loaded=1
+- readonly load_modules_exit_status=1
+- elif ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS; then
+- echo "Module pvrsrvkm failed to load. Retrying."
+- if [ -z $depmod_has_been_run ]; then
+- if [ -e /sbin/depmod ]; then
+- echo "Running /sbin/depmod"
+- /sbin/depmod && depmod_has_been_run=1
+- fi
+- fi
+- if ! /sbin/modprobe -q pvrsrvkm $PVR_SRVKM_PARAMS ; then return; fi
+- fi
+-
+- # Reload udev rules
+- #
+- if [ -e /sbin/udevadm ]; then
+- /sbin/udevadm control --reload-rules
+- fi
+-
+- # Load 3rd party module(s).
+- #
+-
+- if [ -z "$PVR_LOAD_MODULES_ONLY" ]; then
+- # Create the directory for the Wayland socket.
+- #
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- export XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+- if [ ! -e $XDG_RUNTIME_DIR ]; then
+- mkdir $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR
+- fi
+-
+- # If PDumping, enable software rendering for Weston to ensure that
+- # pdump doesn't capture any output from Weston itself.
+- #
+- if pgrep -x pdump > /dev/null 2>&1; then
+- export GBM_ALWAYS_SOFTWARE=1
+- export LIBGL_ALWAYS_SOFTWARE=1
+- fi
+-
+- # Try to work out the device node for the display controller.
+- #
+- for dev in /dev/dri/card*; do
+- dev_major=$(($(stat -c '0x%t' "$dev")))
+- dev_minor=$(($(stat -c '0x%T' "$dev")))
+- sys_path=$(readlink -f /sys/dev/char/$dev_major\:$dev_minor)
+-
+- while [ -e "$sys_path" -a "$sys_path" != "/sys" ]; do
+- if [ ! -e "${sys_path}/driver" ]; then
+- sys_path="$(dirname "$sys_path")"
+- continue
+- fi
+-
+- module="$(basename "$(readlink -f "$sys_path/driver/module")")"
+- if [ "$module" = "DISPLAY_CONTROLLER" ]; then
+- drm_card="$(basename "$dev")"
+- fi
+- break
+- done
+-
+- if [ -n "$drm_card" ]; then
+- break
+- fi
+- done
+-
+- if [ -e "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- echo "Weston is already running. If this is not the case run:"
+- echo "$ sudo rm ${XDG_RUNTIME_DIR}/weston.pgid"
+- echo
+- else
+- # Get a TTY for Weston to use.
+- #
+- if [ -x "$(which openvt)" ] && [ -e "/sys/class/tty/tty0/active" ]; then
+- openvt -s -l && read unused_tty < /sys/class/tty/tty0/active
+- fi
+-
+- # Launch Weston.
+- #
+- if [ -n "$drm_card" ]; then
+- if [ -n "$unused_tty" ]; then
+- ps -p $$ -o pgid= > "${XDG_RUNTIME_DIR}/weston.pgid"
+- /usr/bin/weston --backend=drm-backend.so --drm-device="$drm_card" --tty="${unused_tty//[!0-9]}" --idle-time=0 &
+- else
+- last_tty_path="$(ls /dev/tty[1-9][0-9] | sort -V |tail -n 1)"
+-
+- echo "To start Weston run (specifying a tty within the given range):"
+- echo "$ sudo /usr/bin/weston --backend=drm-backend.so --drm-device=$drm_card --tty=<8..${last_tty_path//[!0-9]}> --idle-time=0 &"
+- echo
+- fi
+- else
+- echo "Couldn't start Weston automatically."
+- fi
+- fi
+- fi
+-
+- if [ -n "$some_modules_already_loaded" ]; then
+- echo
+- echo "Could not set parameters for some modules."
+- echo "To fix this ensure automatic loading of those modules is disabled and restart the driver."
+- echo "See the platform guide for more details."
+- else
+- echo "Loaded PowerVR consumer services."
+- fi
+-
+- return $load_modules_exit_status;
+-}
+-
+-unload_pvr()
+-{
+- if [ -z "$XDG_RUNTIME_DIR" ]; then
+- XDG_RUNTIME_DIR=/tmp/wayland
+- fi
+-
+- # Stop Weston.
+- #
+- if [ -f "${XDG_RUNTIME_DIR}/weston.pgid" ]; then
+- read WESTON_PGID < "${XDG_RUNTIME_DIR}/weston.pgid" && [ -n "$WESTON_PGID" ] && WESTON_PID=$(pgrep -g $WESTON_PGID -x weston) && [ -n "$WESTON_PID" ] && kill $WESTON_PID && while [ -e /proc/$WESTON_PID ] ; do sleep 1; done
+- rm "${XDG_RUNTIME_DIR}/weston.pgid"
+- elif pgrep -x weston > /dev/null; then
+- echo "Warning: Found one of more instances of Weston running."
+- echo " This may prevent the driver from being unloaded."
+- fi
+-
+- # Unload 3rd party module(s).
+- #
+-
+- # Unload the PVR Services module.
+- #
+- if /sbin/modprobe -r pvrsrvkm; then :; else return 1; fi
+-
+- echo "Unloaded PowerVR consumer services."
+- return 0;
+-}
+-
+-# Deal with the type of invocation we get.
+-#
+-case "$1" in
+-start)
+- load_pvr
+- ;;
+-stop)
+- if ! unload_pvr; then
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-reload|restart)
+- if unload_pvr; then
+- load_pvr
+- else
+- echo "Couldn't unload modules" >&2;
+- exit 1
+- fi
+- ;;
+-*)
+- echo "$0: unknown argument $1." >&2;
+- ;;
+-esac
+-
+--
+2.34.1
+
diff --git a/package/ti-rogue-um/Config.in b/package/ti-rogue-um/Config.in
new file mode 100644
index 0000000000..15257858c2
--- /dev/null
+++ b/package/ti-rogue-um/Config.in
@@ -0,0 +1,52 @@
+comment "ti-rogue-um needs udev and a glibc toolchain w/ threads"
+ depends on BR2_aarch64
+ depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC \
+ || !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_TI_ROGUE_UM
+ bool "ti-rogue-um"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+ depends on BR2_PACKAGE_HAS_UDEV
+ # pre-built binaries
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_aarch64
+ select BR2_PACKAGE_LIBDRM
+ select BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
+ select BR2_PACKAGE_HAS_LIBGLES
+ select BR2_PACKAGE_HAS_POWERVR
+ select BR2_PACKAGE_LIBFFI
+ select BR2_PACKAGE_WAYLAND
+ select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+ select BR2_PACKAGE_TI_ROGUE_KM if BR2_LINUX_KERNEL
+ help
+ Graphics libraries for TI SoCs with Rogue GPU.
+ This package supports AM62, J721E, J721S2, and J784S4
+ SoCs only.
+
+ https://git.ti.com/cgit/graphics/ti-img-rogue-umlibs
+
+if BR2_PACKAGE_TI_ROGUE_UM
+
+config BR2_PACKAGE_PROVIDES_LIBEGL
+ default "ti-rogue-um"
+
+config BR2_PACKAGE_PROVIDES_LIBGBM
+ default "ti-rogue-um"
+
+config BR2_PACKAGE_PROVIDES_LIBGLES
+ default "ti-rogue-um"
+
+config BR2_PACKAGE_PROVIDES_POWERVR
+ default "ti-rogue-um"
+
+config BR2_TARGET_TI_ROGUE_UM_TARGET_PRODUCT
+ string "UM driver target product"
+ default "am62_linux"
+ help
+ Select target product to be used for UM libraries. This needs to
+ match one of the SoC-specific folders within the root/targetfs
+ folder of the ti-img-rogue-umlibs Git repository.
+
+endif
diff --git a/package/ti-rogue-um/ti-rogue-um.hash b/package/ti-rogue-um/ti-rogue-um.hash
new file mode 100644
index 0000000000..a41bf33145
--- /dev/null
+++ b/package/ti-rogue-um/ti-rogue-um.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 2e1bd1a5ab0ad2db1b9164d028a94f8f9d20743131f337a817fd1c8f9ddd4cbe ti-rogue-um-5977e82b96028f783d39c7219f016c1faf8dc5f5-br1.tar.gz
+sha256 37507b462edf97b59717d2d144daaac85fbca6080c3602b5128e446e97f9ad47 LICENSE
diff --git a/package/ti-rogue-um/ti-rogue-um.mk b/package/ti-rogue-um/ti-rogue-um.mk
new file mode 100644
index 0000000000..fa29638fa7
--- /dev/null
+++ b/package/ti-rogue-um/ti-rogue-um.mk
@@ -0,0 +1,38 @@
+################################################################################
+#
+# ti-rogue-um
+#
+################################################################################
+
+# This corresponds to SDK 08.06.00
+TI_ROGUE_UM_VERSION = 5977e82b96028f783d39c7219f016c1faf8dc5f5
+TI_ROGUE_UM_SITE = https://git.ti.com/git/graphics/ti-img-rogue-umlibs.git
+TI_ROGUE_UM_SITE_METHOD = git
+TI_ROGUE_UM_LICENSE = TI TSPA License
+TI_ROGUE_UM_LICENSE_FILES = LICENSE
+TI_ROGUE_UM_INSTALL_STAGING = YES
+TI_ROGUE_UM_PROVIDES = libegl libgbm libgles powervr
+
+# ti-rogue-um is a egl/gles provider only if libdrm is installed
+TI_ROGUE_UM_DEPENDENCIES = libdrm wayland
+
+PVR_BUILD = "release"
+PVR_WS = "wayland"
+
+define TI_ROGUE_UM_INSTALL_STAGING_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ DESTDIR=$(STAGING_DIR) \
+ TARGET_PRODUCT=$(BR2_TARGET_TI_ROGUE_UM_TARGET_PRODUCT) \
+ BUILD=$(PVR_BUILD) WINDOW_SYSTEM=$(PVR_WS) \
+ install
+endef
+
+define TI_ROGUE_UM_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ DESTDIR=$(TARGET_DIR) \
+ TARGET_PRODUCT=$(BR2_TARGET_TI_ROGUE_UM_TARGET_PRODUCT) \
+ BUILD=$(PVR_BUILD) WINDOW_SYSTEM=$(PVR_WS) \
+ install
+endef
+
+$(eval $(generic-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [Buildroot] [PATCH v8 10/10] configs/am62x_sk_defconfig: enable IMG Rogue graphics driver
2023-06-16 0:23 [Buildroot] [PATCH v8 00/10] add support for TI's AM64x and AM62x boards Andreas Dannenberg via buildroot
` (8 preceding siblings ...)
2023-06-16 0:23 ` [Buildroot] [PATCH v8 09/10] package/ti-rogue-um: " Andreas Dannenberg via buildroot
@ 2023-06-16 0:23 ` Andreas Dannenberg via buildroot
9 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 0:23 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
Enable the IMG Rogue graphics driver for use on SK-AM62 by enabling the
ti-rogue-um package containing the usermode libraries, which in turn
will enable the ti-rogue-km package with the Kernel driver. Furthermore
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is enabled for automatic Kernel
module loading to allow loading the graphics driver (and others) during
startup.
With this configuration a simple graphics test can be performed on the
target platform by running 'rgx_triangle_test -pxfmt argb8888' from the
commandline, showing rotating triangles on an HDMI-connected monitor.
Based on this basic graphics enablement, the Buildroot-included Weston
and Chocolate Doom packages can now be enabled and run successfully.
However since extending/adding features is heavily use-case dependent
this task is left to follow-on commits or user-derived custom configs
for now.
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
---
configs/am62x_sk_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
index 033101b735..588b934300 100644
--- a/configs/am62x_sk_defconfig
+++ b/configs/am62x_sk_defconfig
@@ -1,5 +1,6 @@
BR2_aarch64=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ti/am62x_sk/genimage.cfg"
BR2_LINUX_KERNEL=y
@@ -12,6 +13,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
+BR2_PACKAGE_TI_ROGUE_UM=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
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-08-22 10:16 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 32+ messages in thread
From: Patrick Oppenlander @ 2023-06-16 1:39 UTC (permalink / raw)
To: Andreas Dannenberg; +Cc: buildroot
On Fri, Jun 16, 2023 at 10:25 AM Andreas Dannenberg via buildroot
<buildroot@buildroot.org> wrote:
>
> The TI K3 R5 loader package essentially is a wrapper to build a special
> version of U-boot SPL used as part of a multi-stage boot flow on TI K3
> devices, and as such needs full flexibility as to specifying the U-Boot
> sources used for the build. To accomodate this, add the same options as
> already available in the regular U-Boot package. For most use cases, the
> same source settings (repo URL, versions, etc.) should be used for both
> ti-k3-r5-loader and uboot packages.
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> boot/ti-k3-r5-loader/Config.in | 65 +++++++++++++++++++++++--
> boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 28 ++++++++++-
> 2 files changed, 89 insertions(+), 4 deletions(-)
>
> diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
> index 10602c8df3..2419babe70 100644
> --- a/boot/ti-k3-r5-loader/Config.in
> +++ b/boot/ti-k3-r5-loader/Config.in
> @@ -1,14 +1,73 @@
> config BR2_TARGET_TI_K3_R5_LOADER
> - bool "ti-k3-r5-loader"
> + bool "TI K3 R5 Loader"
> depends on BR2_aarch64
> help
> - Separate U-Boot build for R5 cores on TI's k3 boards.
> + Separate U-Boot SPL build for R5 core on TI's K3 processors.
> Usually used to build tiboot3.bin with k3-image-gen.
>
> if BR2_TARGET_TI_K3_R5_LOADER
>
> choice
> - prompt "Configuration"
> + prompt "U-Boot Version"
> + help
> + Select the specific U-Boot version you want to use to build the
> + initial SPL running on the R5 core. Note that for most use cases
> + you'd want to use the exact same configuration here as it is used
> + to build the main U-Boot package.
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> + bool "2022.10"
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> + bool "Custom version"
> + help
> + This option allows to use a specific official versions
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> + bool "Custom tarball"
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT
> + bool "Custom Git repository"
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG
> + bool "Custom Mercurial repository"
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> + bool "Custom Subversion repository"
> +
> +endchoice
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE
> + string "U-Boot version"
> + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION
> + string "URL of custom U-Boot tarball"
> + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> +
> +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL
> + string "URL of custom repository"
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION
> + string "Custom repository version"
> + help
> + Revision to use in the typical format used by
> + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
> +
> +endif
> +
> +config BR2_TARGET_TI_K3_R5_LOADER_VERSION
> + string
> + default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \
> + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \
> + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> +choice
> + prompt "U-Boot Configuration"
> default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
>
> config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> index afa309aa98..fe403a5c44 100644
> --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> @@ -2,11 +2,37 @@
> #
> # ti-k3-r5-loader
> #
> +# The ti-k3-r5 loader package should really be built from the same U-Boot
> +# sources as the uboot package itself, so for most users so all LOADER_SITE /
> +# LOADER_SOURCE type definitions should be set the same for both packages.
> +# However it still makes sense to keep the ti-k3-r5-loader package somewhat
> +# separated and independent from the uboot package to allow for special use
> +# cases such as Falcon boot (which would skip the uboot package completely).
> +#
> ################################################################################
>
> -TI_K3_R5_LOADER_VERSION = 2022.10
> +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
> +
> +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
> +# Handle custom U-Boot tarballs as specified by the configuration
> +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
> +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
> +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = git
I think this may also need:
BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
in the git case, otherwise buildroot will look for a hash for the
archive generated from the git version.
I'm not a buildroot expert, so there may be a better way to do this.
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = hg
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = svn
> +else
> +# Handle stable official U-Boot versions
> TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
> TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
> +endif
> +
> TI_K3_R5_LOADER_LICENSE = GPL-2.0+
> TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
> TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
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
0 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 2:25 UTC (permalink / raw)
To: Patrick Oppenlander; +Cc: buildroot
Hi Patrick,
On Fri, Jun 16, 2023 at 11:39:05AM +1000, Patrick Oppenlander wrote:
> On Fri, Jun 16, 2023 at 10:25 AM Andreas Dannenberg via buildroot
> <buildroot@buildroot.org> wrote:
> >
> > The TI K3 R5 loader package essentially is a wrapper to build a special
> > version of U-boot SPL used as part of a multi-stage boot flow on TI K3
> > devices, and as such needs full flexibility as to specifying the U-Boot
> > sources used for the build. To accomodate this, add the same options as
> > already available in the regular U-Boot package. For most use cases, the
> > same source settings (repo URL, versions, etc.) should be used for both
> > ti-k3-r5-loader and uboot packages.
> >
> > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > ---
> > boot/ti-k3-r5-loader/Config.in | 65 +++++++++++++++++++++++--
> > boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 28 ++++++++++-
> > 2 files changed, 89 insertions(+), 4 deletions(-)
> >
> > diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
> > index 10602c8df3..2419babe70 100644
> > --- a/boot/ti-k3-r5-loader/Config.in
> > +++ b/boot/ti-k3-r5-loader/Config.in
> > @@ -1,14 +1,73 @@
> > config BR2_TARGET_TI_K3_R5_LOADER
> > - bool "ti-k3-r5-loader"
> > + bool "TI K3 R5 Loader"
> > depends on BR2_aarch64
> > help
> > - Separate U-Boot build for R5 cores on TI's k3 boards.
> > + Separate U-Boot SPL build for R5 core on TI's K3 processors.
> > Usually used to build tiboot3.bin with k3-image-gen.
> >
> > if BR2_TARGET_TI_K3_R5_LOADER
> >
> > choice
> > - prompt "Configuration"
> > + prompt "U-Boot Version"
> > + help
> > + Select the specific U-Boot version you want to use to build the
> > + initial SPL running on the R5 core. Note that for most use cases
> > + you'd want to use the exact same configuration here as it is used
> > + to build the main U-Boot package.
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > + bool "2022.10"
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > + bool "Custom version"
> > + help
> > + This option allows to use a specific official versions
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > + bool "Custom tarball"
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT
> > + bool "Custom Git repository"
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG
> > + bool "Custom Mercurial repository"
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > + bool "Custom Subversion repository"
> > +
> > +endchoice
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE
> > + string "U-Boot version"
> > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION
> > + string "URL of custom U-Boot tarball"
> > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > +
> > +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL
> > + string "URL of custom repository"
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION
> > + string "Custom repository version"
> > + help
> > + Revision to use in the typical format used by
> > + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
> > +
> > +endif
> > +
> > +config BR2_TARGET_TI_K3_R5_LOADER_VERSION
> > + string
> > + default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \
> > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \
> > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > +choice
> > + prompt "U-Boot Configuration"
> > default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> >
> > config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> > diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > index afa309aa98..fe403a5c44 100644
> > --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > @@ -2,11 +2,37 @@
> > #
> > # ti-k3-r5-loader
> > #
> > +# The ti-k3-r5 loader package should really be built from the same U-Boot
> > +# sources as the uboot package itself, so for most users so all LOADER_SITE /
> > +# LOADER_SOURCE type definitions should be set the same for both packages.
> > +# However it still makes sense to keep the ti-k3-r5-loader package somewhat
> > +# separated and independent from the uboot package to allow for special use
> > +# cases such as Falcon boot (which would skip the uboot package completely).
> > +#
> > ################################################################################
> >
> > -TI_K3_R5_LOADER_VERSION = 2022.10
> > +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
> > +
> > +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
> > +# Handle custom U-Boot tarballs as specified by the configuration
> > +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
> > +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
> > +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
> > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
> > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > +TI_K3_R5_LOADER_SITE_METHOD = git
>
> I think this may also need:
> BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
> in the git case, otherwise buildroot will look for a hash for the
> archive generated from the git version.
>
> I'm not a buildroot expert, so there may be a better way to do this.
Honestly I just "borrowed" this section from the boot/uboot package, as
ti-k3-r5-loader is actually largely the same thing to 95%. But looking
at it closer you are probably right, it looks like it'd need that in
case of BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION, which is the
ti-k3-r5-loader equivalent of BR2_TARGET_UBOOT_LATEST_VERSION, as per
https://git.busybox.net/buildroot/tree/boot/uboot/uboot.mk#n43
Regards, Andreas
> > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
> > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > +TI_K3_R5_LOADER_SITE_METHOD = hg
> > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
> > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > +TI_K3_R5_LOADER_SITE_METHOD = svn
> > +else
> > +# Handle stable official U-Boot versions
> > TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
> > TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
> > +endif
> > +
> > TI_K3_R5_LOADER_LICENSE = GPL-2.0+
> > TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
> > TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
> > --
> > 2.34.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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-19 17:39 ` Julien Olivain
1 sibling, 1 reply; 32+ messages in thread
From: François Perrad @ 2023-06-16 11:15 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
[-- Attachment #1.1: Type: text/plain, Size: 5423 bytes --]
Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
buildroot@buildroot.org> a écrit :
> Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> (called SK-AM64B, see [2]) both contain High Security - Field Securable
> (HS-FS) device variants, and those are really the recommended production
> device variants and boards TI will provide moving forward. Hence, switch
> the defconfigs for those boards over to accommodate those now-shipping
> device variants and boards.
>
> [1] https://www.ti.com/tool/SK-AM62B
> [2] https://www.ti.com/tool/SK-AM64B
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> configs/am62x_sk_defconfig | 2 +-
> configs/am64x_sk_defconfig | 4 ++--
> 4 files changed, 35 insertions(+), 3 deletions(-)
>
> diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
> index ccbb24896b..9c7c8818af 100644
> --- a/board/ti/am62x_sk/readme.txt
> +++ b/board/ti/am62x_sk/readme.txt
> @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> Optional: modify the configuration:
> $ make menuconfig
>
> +Required setup step for High Security HS-FS and HS-SE SoC variants:
> +
> +To allow the image signing process for various firmware artifacts to
> +work the build process for HS-FS and HS-SE device variants is using
> +an external 'core-secdev-k3' package which can be obtained from
> +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> +To prepare building for those device variants create a local copy of
> +the 'core-secdev-k3' and export its location through the
> +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> +HS-FS device variants such as populated on the SK-AM64B board, or
> +customize this package with your private signing keys when using a
> +HS-SE device variant.
> +
> +$ git clone
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
>
core-secdev-k3 could be a host package and an optional dependency of uboot
or atf
################################################################################
#
# ti-core-secdev-k3
#
################################################################################
TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
TI_CORE_SECDEV_K3_SITE =
https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
TI_CORE_SECDEV_K3_SOURCE =
core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
$(eval $(host-generic-package))
François
> +
> Build:
> $ make
>
> diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
> index fe83c675f5..51d0312726 100644
> --- a/board/ti/am64x_sk/readme.txt
> +++ b/board/ti/am64x_sk/readme.txt
> @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> Optional: modify the configuration:
> $ make menuconfig
>
> +Required setup step for High Security HS-FS and HS-SE SoC variants:
> +
> +To allow the image signing process for various firmware artifacts to
> +work the build process for HS-FS and HS-SE device variants is using
> +an external 'core-secdev-k3' package which can be obtained from
> +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> +To prepare building for those device variants create a local copy of
> +the 'core-secdev-k3' and export its location through the
> +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> +HS-FS device variants such as populated on the SK-AM64B board, or
> +customize this package with your private signing keys when using a
> +HS-SE device variant.
> +
> +$ git clone
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> +
> Build:
> $ make
>
> diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> index 2d05ddd96b..033101b735 100644
> --- a/configs/am62x_sk_defconfig
> +++ b/configs/am62x_sk_defconfig
> @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> BR2_TARGET_TI_K3_IMAGE_GEN=y
> BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> BR2_TARGET_TI_K3_R5_LOADER=y
> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> index a26e38a043..096dd77f6a 100644
> --- a/configs/am64x_sk_defconfig
> +++ b/configs/am64x_sk_defconfig
> @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> BR2_TARGET_TI_K3_IMAGE_GEN=y
> BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> BR2_TARGET_TI_K3_R5_LOADER=y
> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> --
> 2.34.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
>
[-- Attachment #1.2: Type: text/html, Size: 7302 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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
0 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 12:02 UTC (permalink / raw)
To: François Perrad; +Cc: buildroot
Hi François,
On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
> buildroot@buildroot.org> a écrit :
>
> > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > (called SK-AM64B, see [2]) both contain High Security - Field Securable
> > (HS-FS) device variants, and those are really the recommended production
> > device variants and boards TI will provide moving forward. Hence, switch
> > the defconfigs for those boards over to accommodate those now-shipping
> > device variants and boards.
> >
> > [1] https://www.ti.com/tool/SK-AM62B
> > [2] https://www.ti.com/tool/SK-AM64B
> >
> > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > ---
> > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > configs/am62x_sk_defconfig | 2 +-
> > configs/am64x_sk_defconfig | 4 ++--
> > 4 files changed, 35 insertions(+), 3 deletions(-)
> >
> > diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
> > index ccbb24896b..9c7c8818af 100644
> > --- a/board/ti/am62x_sk/readme.txt
> > +++ b/board/ti/am62x_sk/readme.txt
> > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > Optional: modify the configuration:
> > $ make menuconfig
> >
> > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > +
> > +To allow the image signing process for various firmware artifacts to
> > +work the build process for HS-FS and HS-SE device variants is using
> > +an external 'core-secdev-k3' package which can be obtained from
> > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > +To prepare building for those device variants create a local copy of
> > +the 'core-secdev-k3' and export its location through the
> > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > +HS-FS device variants such as populated on the SK-AM64B board, or
> > +customize this package with your private signing keys when using a
> > +HS-SE device variant.
> > +
> > +$ git clone
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> >
>
> core-secdev-k3 could be a host package and an optional dependency of uboot
> or atf
Good suggestion, I thought about same but wasn't quite sure how to set
this up, but I'll look into this based on your below starting point. It
would cover HS-FS device variants ("High Security - Field Securable"),
which is 90% of the use case, and 100% of the initial use case (somebody
getting a board, evaluating), all when the custom keys were not yet
programmed into the SOC (which is what turns the device into a HS-SE
device, at which time custom signing keys will need to be provided as
part of core-secdev-k3).
Can a host package easily export/share and ENV variable
(TI_SECURE_DEV_PKG)?
This will be needed not only by ti-k3-image-gen but also by uboot and
potentially other packages in the future.
Regards, Andreas
>
> ################################################################################
> #
> # ti-core-secdev-k3
> #
> ################################################################################
>
> TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> TI_CORE_SECDEV_K3_SITE =
> https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> TI_CORE_SECDEV_K3_SOURCE =
> core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
>
> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
>
> $(eval $(host-generic-package))
>
> François
>
>
>
> > +
> > Build:
> > $ make
> >
> > diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
> > index fe83c675f5..51d0312726 100644
> > --- a/board/ti/am64x_sk/readme.txt
> > +++ b/board/ti/am64x_sk/readme.txt
> > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > Optional: modify the configuration:
> > $ make menuconfig
> >
> > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > +
> > +To allow the image signing process for various firmware artifacts to
> > +work the build process for HS-FS and HS-SE device variants is using
> > +an external 'core-secdev-k3' package which can be obtained from
> > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > +To prepare building for those device variants create a local copy of
> > +the 'core-secdev-k3' and export its location through the
> > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > +HS-FS device variants such as populated on the SK-AM64B board, or
> > +customize this package with your private signing keys when using a
> > +HS-SE device variant.
> > +
> > +$ git clone
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > +
> > Build:
> > $ make
> >
> > diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> > index 2d05ddd96b..033101b735 100644
> > --- a/configs/am62x_sk_defconfig
> > +++ b/configs/am62x_sk_defconfig
> > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > BR2_TARGET_TI_K3_R5_LOADER=y
> > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> > index a26e38a043..096dd77f6a 100644
> > --- a/configs/am64x_sk_defconfig
> > +++ b/configs/am64x_sk_defconfig
> > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > BR2_TARGET_TI_K3_R5_LOADER=y
> > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > --
> > 2.34.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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
0 siblings, 1 reply; 32+ messages in thread
From: François Perrad @ 2023-06-16 16:40 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
[-- Attachment #1.1: Type: text/plain, Size: 7177 bytes --]
Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
écrit :
> Hi François,
>
> On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> > Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
> > buildroot@buildroot.org> a écrit :
> >
> > > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > > (called SK-AM64B, see [2]) both contain High Security - Field Securable
> > > (HS-FS) device variants, and those are really the recommended
> production
> > > device variants and boards TI will provide moving forward. Hence,
> switch
> > > the defconfigs for those boards over to accommodate those now-shipping
> > > device variants and boards.
> > >
> > > [1] https://www.ti.com/tool/SK-AM62B
> > > [2] https://www.ti.com/tool/SK-AM64B
> > >
> > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > ---
> > > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > > configs/am62x_sk_defconfig | 2 +-
> > > configs/am64x_sk_defconfig | 4 ++--
> > > 4 files changed, 35 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/board/ti/am62x_sk/readme.txt
> b/board/ti/am62x_sk/readme.txt
> > > index ccbb24896b..9c7c8818af 100644
> > > --- a/board/ti/am62x_sk/readme.txt
> > > +++ b/board/ti/am62x_sk/readme.txt
> > > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > > Optional: modify the configuration:
> > > $ make menuconfig
> > >
> > > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > > +
> > > +To allow the image signing process for various firmware artifacts to
> > > +work the build process for HS-FS and HS-SE device variants is using
> > > +an external 'core-secdev-k3' package which can be obtained from
> > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > > +To prepare building for those device variants create a local copy of
> > > +the 'core-secdev-k3' and export its location through the
> > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > +customize this package with your private signing keys when using a
> > > +HS-SE device variant.
> > > +
> > > +$ git clone
> > > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > >
> >
> > core-secdev-k3 could be a host package and an optional dependency of
> uboot
> > or atf
>
> Good suggestion, I thought about same but wasn't quite sure how to set
> this up, but I'll look into this based on your below starting point. It
> would cover HS-FS device variants ("High Security - Field Securable"),
> which is 90% of the use case, and 100% of the initial use case (somebody
> getting a board, evaluating), all when the custom keys were not yet
> programmed into the SOC (which is what turns the device into a HS-SE
> device, at which time custom signing keys will need to be provided as
> part of core-secdev-k3).
>
> Can a host package easily export/share and ENV variable
> (TI_SECURE_DEV_PKG)?
>
>
yes (we are in a Makefile fragment):
export
TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
when a package needed it, just add :
FOO_DEPENDENCIES += host-ti-core-secdev-k3
François
> This will be needed not only by ti-k3-image-gen but also by uboot and
> potentially other packages in the future.
>
> Regards, Andreas
>
> >
> >
> ################################################################################
> > #
> > # ti-core-secdev-k3
> > #
> >
> ################################################################################
> >
> > TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > TI_CORE_SECDEV_K3_SITE =
> >
> https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > TI_CORE_SECDEV_K3_SOURCE =
> > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> >
> >
> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> >
> > $(eval $(host-generic-package))
> >
> > François
> >
> >
> >
> > > +
> > > Build:
> > > $ make
> > >
> > > diff --git a/board/ti/am64x_sk/readme.txt
> b/board/ti/am64x_sk/readme.txt
> > > index fe83c675f5..51d0312726 100644
> > > --- a/board/ti/am64x_sk/readme.txt
> > > +++ b/board/ti/am64x_sk/readme.txt
> > > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > > Optional: modify the configuration:
> > > $ make menuconfig
> > >
> > > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > > +
> > > +To allow the image signing process for various firmware artifacts to
> > > +work the build process for HS-FS and HS-SE device variants is using
> > > +an external 'core-secdev-k3' package which can be obtained from
> > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > > +To prepare building for those device variants create a local copy of
> > > +the 'core-secdev-k3' and export its location through the
> > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > +customize this package with your private signing keys when using a
> > > +HS-SE device variant.
> > > +
> > > +$ git clone
> > > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > +
> > > Build:
> > > $ make
> > >
> > > diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> > > index 2d05ddd96b..033101b735 100644
> > > --- a/configs/am62x_sk_defconfig
> > > +++ b/configs/am62x_sk_defconfig
> > > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> > > index a26e38a043..096dd77f6a 100644
> > > --- a/configs/am64x_sk_defconfig
> > > +++ b/configs/am64x_sk_defconfig
> > > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > --
> > > 2.34.1
> > >
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot@buildroot.org
> > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > >
>
[-- Attachment #1.2: Type: text/html, Size: 9980 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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:27 ` Arnout Vandecappelle via buildroot
0 siblings, 2 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-16 22:13 UTC (permalink / raw)
To: François Perrad; +Cc: buildroot
Hi François,
On Fri, Jun 16, 2023 at 06:40:35PM +0200, François Perrad wrote:
> Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
> écrit :
>
> > Hi François,
> >
> > On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> > > Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
> > > buildroot@buildroot.org> a écrit :
> > >
> > > > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > > > (called SK-AM64B, see [2]) both contain High Security - Field Securable
> > > > (HS-FS) device variants, and those are really the recommended
> > production
> > > > device variants and boards TI will provide moving forward. Hence,
> > switch
> > > > the defconfigs for those boards over to accommodate those now-shipping
> > > > device variants and boards.
> > > >
> > > > [1] https://www.ti.com/tool/SK-AM62B
> > > > [2] https://www.ti.com/tool/SK-AM64B
> > > >
> > > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > > ---
> > > > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > > > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > > > configs/am62x_sk_defconfig | 2 +-
> > > > configs/am64x_sk_defconfig | 4 ++--
> > > > 4 files changed, 35 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/board/ti/am62x_sk/readme.txt
> > b/board/ti/am62x_sk/readme.txt
> > > > index ccbb24896b..9c7c8818af 100644
> > > > --- a/board/ti/am62x_sk/readme.txt
> > > > +++ b/board/ti/am62x_sk/readme.txt
> > > > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > > > Optional: modify the configuration:
> > > > $ make menuconfig
> > > >
> > > > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > > > +
> > > > +To allow the image signing process for various firmware artifacts to
> > > > +work the build process for HS-FS and HS-SE device variants is using
> > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > > > +To prepare building for those device variants create a local copy of
> > > > +the 'core-secdev-k3' and export its location through the
> > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > +customize this package with your private signing keys when using a
> > > > +HS-SE device variant.
> > > > +
> > > > +$ git clone
> > > > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > >
> > >
> > > core-secdev-k3 could be a host package and an optional dependency of
> > uboot
> > > or atf
> >
> > Good suggestion, I thought about same but wasn't quite sure how to set
> > this up, but I'll look into this based on your below starting point. It
> > would cover HS-FS device variants ("High Security - Field Securable"),
> > which is 90% of the use case, and 100% of the initial use case (somebody
> > getting a board, evaluating), all when the custom keys were not yet
> > programmed into the SOC (which is what turns the device into a HS-SE
> > device, at which time custom signing keys will need to be provided as
> > part of core-secdev-k3).
> >
> > Can a host package easily export/share and ENV variable
> > (TI_SECURE_DEV_PKG)?
> >
> >
> yes (we are in a Makefile fragment):
> export
> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
>
> when a package needed it, just add :
> FOO_DEPENDENCIES += host-ti-core-secdev-k3
>
> François
Good point, using the make construct for 'export' should work, and in
fact it does. Just tried it out. Was able to largely carry over what you
came up with (thanks again!!). One change I had to made was to add a
'host-' prefix to the line exporting the ti-core-secdev-k3 package
location. Below is my Makefile fragment. Will make this part of PATCH
v9 series I intent to send out next week (want to give it a few more days
to allow folks to add feedback).
--- /dev/null
+++ b/package/ti-core-secdev-k3/ti-core-secdev-k3.mk
@@ -0,0 +1,21 @@
+################################################################################
+#
+## ti-core-secdev-k3
+#
+#################################################################################
+
+TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
+TI_CORE_SECDEV_K3_SITE = https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
+TI_CORE_SECDEV_K3_LICENSE = TI TSPA License
+TI_CORE_SECDEV_K3_LICENSE_FILES = manifest/k3-secdev-0.2-manifest.html
+TI_CORE_SECDEV_K3_SOURCE = core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
+
+# To allow the image signing process for various firmware artifacts to work the
+# build process for TI K3 platform HS-FS and HS-SE device variants is using the
+# 'core-secdev-k3' tool provided by TI. Its location must be made available to
+# the build process by exporting it through the use of an environmental
+# variable. From there on, other packages like ti-k3-r5-loader will pick up the
+# signing tools and keys that are provided in this package.
+export TI_SECURE_DEV_PKG = $(BUILD_DIR)/host-ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
+
+$(eval $(host-generic-package))
--
Andreas Dannenberg
Texas Instruments Inc
>
> > This will be needed not only by ti-k3-image-gen but also by uboot and
> > potentially other packages in the future.
> >
> > Regards, Andreas
> >
> > >
> > >
> > ################################################################################
> > > #
> > > # ti-core-secdev-k3
> > > #
> > >
> > ################################################################################
> > >
> > > TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > > TI_CORE_SECDEV_K3_SITE =
> > >
> > https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > > TI_CORE_SECDEV_K3_SOURCE =
> > > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > >
> > >
> > TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > >
> > > $(eval $(host-generic-package))
> > >
> > > François
> > >
> > >
> > >
> > > > +
> > > > Build:
> > > > $ make
> > > >
> > > > diff --git a/board/ti/am64x_sk/readme.txt
> > b/board/ti/am64x_sk/readme.txt
> > > > index fe83c675f5..51d0312726 100644
> > > > --- a/board/ti/am64x_sk/readme.txt
> > > > +++ b/board/ti/am64x_sk/readme.txt
> > > > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > > > Optional: modify the configuration:
> > > > $ make menuconfig
> > > >
> > > > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > > > +
> > > > +To allow the image signing process for various firmware artifacts to
> > > > +work the build process for HS-FS and HS-SE device variants is using
> > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > > > +To prepare building for those device variants create a local copy of
> > > > +the 'core-secdev-k3' and export its location through the
> > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > +customize this package with your private signing keys when using a
> > > > +HS-SE device variant.
> > > > +
> > > > +$ git clone
> > > > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > +
> > > > Build:
> > > > $ make
> > > >
> > > > diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> > > > index 2d05ddd96b..033101b735 100644
> > > > --- a/configs/am62x_sk_defconfig
> > > > +++ b/configs/am62x_sk_defconfig
> > > > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> > > > index a26e38a043..096dd77f6a 100644
> > > > --- a/configs/am64x_sk_defconfig
> > > > +++ b/configs/am64x_sk_defconfig
> > > > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > --
> > > > 2.34.1
> > > >
> > > > _______________________________________________
> > > > buildroot mailing list
> > > > buildroot@buildroot.org
> > > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > > >
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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
1 sibling, 1 reply; 32+ messages in thread
From: François Perrad @ 2023-06-17 9:37 UTC (permalink / raw)
To: buildroot; +Cc: Andreas Dannenberg
[-- Attachment #1.1: Type: text/plain, Size: 10581 bytes --]
Le sam. 17 juin 2023 à 00:13, Andreas Dannenberg <dannenberg@ti.com> a
écrit :
> Hi François,
>
> On Fri, Jun 16, 2023 at 06:40:35PM +0200, François Perrad wrote:
> > Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
> > écrit :
> >
> > > Hi François,
> > >
> > > On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> > > > Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
> > > > buildroot@buildroot.org> a écrit :
> > > >
> > > > > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > > > > (called SK-AM64B, see [2]) both contain High Security - Field
> Securable
> > > > > (HS-FS) device variants, and those are really the recommended
> > > production
> > > > > device variants and boards TI will provide moving forward. Hence,
> > > switch
> > > > > the defconfigs for those boards over to accommodate those
> now-shipping
> > > > > device variants and boards.
> > > > >
> > > > > [1] https://www.ti.com/tool/SK-AM62B
> > > > > [2] https://www.ti.com/tool/SK-AM64B
> > > > >
> > > > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > > > ---
> > > > > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > > > > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > > > > configs/am62x_sk_defconfig | 2 +-
> > > > > configs/am64x_sk_defconfig | 4 ++--
> > > > > 4 files changed, 35 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/board/ti/am62x_sk/readme.txt
> > > b/board/ti/am62x_sk/readme.txt
> > > > > index ccbb24896b..9c7c8818af 100644
> > > > > --- a/board/ti/am62x_sk/readme.txt
> > > > > +++ b/board/ti/am62x_sk/readme.txt
> > > > > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > > > > Optional: modify the configuration:
> > > > > $ make menuconfig
> > > > >
> > > > > +Required setup step for High Security HS-FS and HS-SE SoC
> variants:
> > > > > +
> > > > > +To allow the image signing process for various firmware artifacts
> to
> > > > > +work the build process for HS-FS and HS-SE device variants is
> using
> > > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3
> .
> > > > > +To prepare building for those device variants create a local copy
> of
> > > > > +the 'core-secdev-k3' and export its location through the
> > > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is
> for
> > > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > > +customize this package with your private signing keys when using a
> > > > > +HS-SE device variant.
> > > > > +
> > > > > +$ git clone
> > > > >
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > >
> > > >
> > > > core-secdev-k3 could be a host package and an optional dependency of
> > > uboot
> > > > or atf
> > >
> > > Good suggestion, I thought about same but wasn't quite sure how to set
> > > this up, but I'll look into this based on your below starting point. It
> > > would cover HS-FS device variants ("High Security - Field Securable"),
> > > which is 90% of the use case, and 100% of the initial use case
> (somebody
> > > getting a board, evaluating), all when the custom keys were not yet
> > > programmed into the SOC (which is what turns the device into a HS-SE
> > > device, at which time custom signing keys will need to be provided as
> > > part of core-secdev-k3).
> > >
> > > Can a host package easily export/share and ENV variable
> > > (TI_SECURE_DEV_PKG)?
> > >
> > >
> > yes (we are in a Makefile fragment):
> > export
> >
> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> >
> > when a package needed it, just add :
> > FOO_DEPENDENCIES += host-ti-core-secdev-k3
> >
> > François
>
> Good point, using the make construct for 'export' should work, and in
> fact it does. Just tried it out. Was able to largely carry over what you
> came up with (thanks again!!). One change I had to made was to add a
> 'host-' prefix to the line exporting the ti-core-secdev-k3 package
> location. Below is my Makefile fragment. Will make this part of PATCH
> v9 series I intent to send out next week (want to give it a few more days
> to allow folks to add feedback).
>
>
>
in order to support the creation of a relocatable SDK, it will be better to
install the stuff somewhere in $(HOST_DIR), like that:
export TI_SECURE_DEV_PKG=$(HOST_DIR)/opt/core-secdev-k3
define HOST_TI_CORE_SECDEV_K3_INSTALL_CMDS
mkdir -p $(TI_SECURE_DEV_PKG)/keys
cp -dpfr $(@D)/keys/* $(TI_SECURE_DEV_PKG)/keys
mkdir -p $(TI_SECURE_DEV_PKG)/scripts
cp -dpfr $(@D)/scripts/* $(TI_SECURE_DEV_PKG)/scripts
endef
François
> --- /dev/null
> +++ b/package/ti-core-secdev-k3/ti-core-secdev-k3.mk
> @@ -0,0 +1,21 @@
>
> +################################################################################
> +#
> +## ti-core-secdev-k3
> +#
>
> +#################################################################################
> +
> +TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> +TI_CORE_SECDEV_K3_SITE =
> https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> +TI_CORE_SECDEV_K3_LICENSE
> <https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot+TI_CORE_SECDEV_K3_LICENSE>
> = TI TSPA License
> +TI_CORE_SECDEV_K3_LICENSE_FILES = manifest/k3-secdev-0.2-manifest.html
> +TI_CORE_SECDEV_K3_SOURCE =
> core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> +
> +# To allow the image signing process for various firmware artifacts to
> work the
> +# build process for TI K3 platform HS-FS and HS-SE device variants is
> using the
> +# 'core-secdev-k3' tool provided by TI. Its location must be made
> available to
> +# the build process by exporting it through the use of an environmental
> +# variable. From there on, other packages like ti-k3-r5-loader will pick
> up the
> +# signing tools and keys that are provided in this package.
> +export TI_SECURE_DEV_PKG =
> $(BUILD_DIR)/host-ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> +
> +$(eval $(host-generic-package))
>
>
> --
> Andreas Dannenberg
> Texas Instruments Inc
>
>
>
> >
> > > This will be needed not only by ti-k3-image-gen but also by uboot and
> > > potentially other packages in the future.
> > >
> > > Regards, Andreas
> > >
> > > >
> > > >
> > >
> ################################################################################
> > > > #
> > > > # ti-core-secdev-k3
> > > > #
> > > >
> > >
> ################################################################################
> > > >
> > > > TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > > > TI_CORE_SECDEV_K3_SITE =
> > > >
> > >
> https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > > > TI_CORE_SECDEV_K3_SOURCE =
> > > > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > > >
> > > >
> > >
> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > > >
> > > > $(eval $(host-generic-package))
> > > >
> > > > François
> > > >
> > > >
> > > >
> > > > > +
> > > > > Build:
> > > > > $ make
> > > > >
> > > > > diff --git a/board/ti/am64x_sk/readme.txt
> > > b/board/ti/am64x_sk/readme.txt
> > > > > index fe83c675f5..51d0312726 100644
> > > > > --- a/board/ti/am64x_sk/readme.txt
> > > > > +++ b/board/ti/am64x_sk/readme.txt
> > > > > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > > > > Optional: modify the configuration:
> > > > > $ make menuconfig
> > > > >
> > > > > +Required setup step for High Security HS-FS and HS-SE SoC
> variants:
> > > > > +
> > > > > +To allow the image signing process for various firmware artifacts
> to
> > > > > +work the build process for HS-FS and HS-SE device variants is
> using
> > > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3
> .
> > > > > +To prepare building for those device variants create a local copy
> of
> > > > > +the 'core-secdev-k3' and export its location through the
> > > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is
> for
> > > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > > +customize this package with your private signing keys when using a
> > > > > +HS-SE device variant.
> > > > > +
> > > > > +$ git clone
> > > > >
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > > +
> > > > > Build:
> > > > > $ make
> > > > >
> > > > > diff --git a/configs/am62x_sk_defconfig
> b/configs/am62x_sk_defconfig
> > > > > index 2d05ddd96b..033101b735 100644
> > > > > --- a/configs/am62x_sk_defconfig
> > > > > +++ b/configs/am62x_sk_defconfig
> > > > > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > diff --git a/configs/am64x_sk_defconfig
> b/configs/am64x_sk_defconfig
> > > > > index a26e38a043..096dd77f6a 100644
> > > > > --- a/configs/am64x_sk_defconfig
> > > > > +++ b/configs/am64x_sk_defconfig
> > > > > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > --
> > > > > 2.34.1
> > > > >
> > > > > _______________________________________________
> > > > > buildroot mailing list
> > > > > buildroot@buildroot.org
> > > > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > > > >
> > >
>
[-- Attachment #1.2: Type: text/html, Size: 14735 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
2023-06-16 22:13 ` Andreas Dannenberg via buildroot
2023-06-17 9:37 ` François Perrad
@ 2023-06-18 12:27 ` Arnout Vandecappelle via buildroot
2023-06-18 13:43 ` Andreas Dannenberg via buildroot
1 sibling, 1 reply; 32+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2023-06-18 12:27 UTC (permalink / raw)
To: Andreas Dannenberg, François Perrad; +Cc: buildroot
On 17/06/2023 00:13, Andreas Dannenberg via buildroot wrote:
> Hi François,
>
> On Fri, Jun 16, 2023 at 06:40:35PM +0200, François Perrad wrote:
>> Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
>> écrit :
>>
>>> Hi François,
>>>
>>> On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
[snip]
>>>>
>>>> core-secdev-k3 could be a host package and an optional dependency of
>>> uboot
>>>> or atf
>>>
>>> Good suggestion, I thought about same but wasn't quite sure how to set
>>> this up, but I'll look into this based on your below starting point. It
>>> would cover HS-FS device variants ("High Security - Field Securable"),
>>> which is 90% of the use case, and 100% of the initial use case (somebody
>>> getting a board, evaluating), all when the custom keys were not yet
>>> programmed into the SOC (which is what turns the device into a HS-SE
>>> device, at which time custom signing keys will need to be provided as
>>> part of core-secdev-k3).
>>>
>>> Can a host package easily export/share and ENV variable
>>> (TI_SECURE_DEV_PKG)?
>>>
>>>
>> yes (we are in a Makefile fragment):
>> export
>> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
>>
>> when a package needed it, just add :
>> FOO_DEPENDENCIES += host-ti-core-secdev-k3
>>
>> François
>
> Good point, using the make construct for 'export' should work, and in
> fact it does. Just tried it out. Was able to largely carry over what you
> came up with (thanks again!!). One change I had to made was to add a
> 'host-' prefix to the line exporting the ti-core-secdev-k3 package
> location. Below is my Makefile fragment. Will make this part of PATCH
> v9 series I intent to send out next week (want to give it a few more days
> to allow folks to add feedback).
>
>
> --- /dev/null
> +++ b/package/ti-core-secdev-k3/ti-core-secdev-k3.mk
> @@ -0,0 +1,21 @@
> +################################################################################
> +#
> +## ti-core-secdev-k3
> +#
> +#################################################################################
> +
> +TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> +TI_CORE_SECDEV_K3_SITE = https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> +TI_CORE_SECDEV_K3_LICENSE = TI TSPA License
> +TI_CORE_SECDEV_K3_LICENSE_FILES = manifest/k3-secdev-0.2-manifest.html
> +TI_CORE_SECDEV_K3_SOURCE = core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> +
> +# To allow the image signing process for various firmware artifacts to work the
> +# build process for TI K3 platform HS-FS and HS-SE device variants is using the
> +# 'core-secdev-k3' tool provided by TI. Its location must be made available to
> +# the build process by exporting it through the use of an environmental
> +# variable. From there on, other packages like ti-k3-r5-loader will pick up the
> +# signing tools and keys that are provided in this package.
> +export TI_SECURE_DEV_PKG = $(BUILD_DIR)/host-ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
I didn't follow the entire discussion; however, be aware that this export
applies globally, i.e. _all_ packages will have TI_SECURE_DEV_PKG in their
environment. IIUC, this is exactly what you want because you want the
environment variable to be available to e.g. ti-k3-r5-loader. But it's also
going to be in the environment of busybox, libcurl, and all completely unrelated
packages. Worse, it's going to be in the environment even if you're not using
ti-core-secdev-k3 at all!
Therefore, I'm not in favour of this export. I think it's better to just set
the variable here, without exporting, and then in every package that actually
needs it, include it explicitly in the build commands. E.g.
define TI_K3_R5_LOADER_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) TI_SECURE_DEV_PKG=$(TI_SECURE_DEV_PKG) \
$(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
endef
Note that you'll already need the explicit dependency in the packages using
ti-core-secdev-k3, so I don't think it's a problem to add the environment
variable explicitly as well.
Regards,
Arnout
> +
> +$(eval $(host-generic-package))
>
>
> --
> Andreas Dannenberg
> Texas Instruments Inc
>
>
>
>>
>>> This will be needed not only by ti-k3-image-gen but also by uboot and
>>> potentially other packages in the future.
>>>
>>> Regards, Andreas
>>>
>>>>
>>>>
>>> ################################################################################
>>>> #
>>>> # ti-core-secdev-k3
>>>> #
>>>>
>>> ################################################################################
>>>>
>>>> TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
>>>> TI_CORE_SECDEV_K3_SITE =
>>>>
>>> https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
>>>> TI_CORE_SECDEV_K3_SOURCE =
>>>> core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
>>>>
>>>>
>>> TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
>>>>
>>>> $(eval $(host-generic-package))
>>>>
>>>> François
>>>>
>>>>
>>>>
>>>>> +
>>>>> Build:
>>>>> $ make
>>>>>
>>>>> diff --git a/board/ti/am64x_sk/readme.txt
>>> b/board/ti/am64x_sk/readme.txt
>>>>> index fe83c675f5..51d0312726 100644
>>>>> --- a/board/ti/am64x_sk/readme.txt
>>>>> +++ b/board/ti/am64x_sk/readme.txt
>>>>> @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
>>>>> Optional: modify the configuration:
>>>>> $ make menuconfig
>>>>>
>>>>> +Required setup step for High Security HS-FS and HS-SE SoC variants:
>>>>> +
>>>>> +To allow the image signing process for various firmware artifacts to
>>>>> +work the build process for HS-FS and HS-SE device variants is using
>>>>> +an external 'core-secdev-k3' package which can be obtained from
>>>>> +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
>>>>> +To prepare building for those device variants create a local copy of
>>>>> +the 'core-secdev-k3' and export its location through the
>>>>> +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
>>>>> +HS-FS device variants such as populated on the SK-AM64B board, or
>>>>> +customize this package with your private signing keys when using a
>>>>> +HS-SE device variant.
>>>>> +
>>>>> +$ git clone
>>>>> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
>>>>> +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
>>>>> +
>>>>> Build:
>>>>> $ make
>>>>>
>>>>> diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
>>>>> index 2d05ddd96b..033101b735 100644
>>>>> --- a/configs/am62x_sk_defconfig
>>>>> +++ b/configs/am62x_sk_defconfig
>>>>> @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
>>>>> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN=y
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
>>>>> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
>>>>> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
>>>>> BR2_TARGET_TI_K3_R5_LOADER=y
>>>>> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
>>>>> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
>>>>> index a26e38a043..096dd77f6a 100644
>>>>> --- a/configs/am64x_sk_defconfig
>>>>> +++ b/configs/am64x_sk_defconfig
>>>>> @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
>>>>> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN=y
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
>>>>> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
>>>>> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
>>>>> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
>>>>> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
>>>>> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
>>>>> BR2_TARGET_TI_K3_R5_LOADER=y
>>>>> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
>>>>> --
>>>>> 2.34.1
>>>>>
>>>>> _______________________________________________
>>>>> buildroot mailing list
>>>>> buildroot@buildroot.org
>>>>> https://lists.buildroot.org/mailman/listinfo/buildroot
>>>>>
>>>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
2023-06-17 9:37 ` François Perrad
@ 2023-06-18 12:37 ` Andreas Dannenberg via buildroot
0 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-18 12:37 UTC (permalink / raw)
To: François Perrad; +Cc: buildroot
Hi François,
On Sat, Jun 17, 2023 at 11:37:28AM +0200, François Perrad wrote:
> Le sam. 17 juin 2023 à 00:13, Andreas Dannenberg <dannenberg@ti.com> a
> écrit :
>
> > Hi François,
> >
> > On Fri, Jun 16, 2023 at 06:40:35PM +0200, François Perrad wrote:
> > > Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
> > > écrit :
> > >
> > > > Hi François,
> > > >
> > > > On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> > > > > Le ven. 16 juin 2023 à 02:38, Andreas Dannenberg via buildroot <
> > > > > buildroot@buildroot.org> a écrit :
> > > > >
> > > > > > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > > > > > (called SK-AM64B, see [2]) both contain High Security - Field
> > Securable
> > > > > > (HS-FS) device variants, and those are really the recommended
> > > > production
> > > > > > device variants and boards TI will provide moving forward. Hence,
> > > > switch
> > > > > > the defconfigs for those boards over to accommodate those
> > now-shipping
> > > > > > device variants and boards.
> > > > > >
> > > > > > [1] https://www.ti.com/tool/SK-AM62B
> > > > > > [2] https://www.ti.com/tool/SK-AM64B
> > > > > >
> > > > > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > > > > ---
> > > > > > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > > > > > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > > > > > configs/am62x_sk_defconfig | 2 +-
> > > > > > configs/am64x_sk_defconfig | 4 ++--
> > > > > > 4 files changed, 35 insertions(+), 3 deletions(-)
> > > > > >
> > > > > > diff --git a/board/ti/am62x_sk/readme.txt
> > > > b/board/ti/am62x_sk/readme.txt
> > > > > > index ccbb24896b..9c7c8818af 100644
> > > > > > --- a/board/ti/am62x_sk/readme.txt
> > > > > > +++ b/board/ti/am62x_sk/readme.txt
> > > > > > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > > > > > Optional: modify the configuration:
> > > > > > $ make menuconfig
> > > > > >
> > > > > > +Required setup step for High Security HS-FS and HS-SE SoC
> > variants:
> > > > > > +
> > > > > > +To allow the image signing process for various firmware artifacts
> > to
> > > > > > +work the build process for HS-FS and HS-SE device variants is
> > using
> > > > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3
> > .
> > > > > > +To prepare building for those device variants create a local copy
> > of
> > > > > > +the 'core-secdev-k3' and export its location through the
> > > > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is
> > for
> > > > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > > > +customize this package with your private signing keys when using a
> > > > > > +HS-SE device variant.
> > > > > > +
> > > > > > +$ git clone
> > > > > >
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > > >
> > > > >
> > > > > core-secdev-k3 could be a host package and an optional dependency of
> > > > uboot
> > > > > or atf
> > > >
> > > > Good suggestion, I thought about same but wasn't quite sure how to set
> > > > this up, but I'll look into this based on your below starting point. It
> > > > would cover HS-FS device variants ("High Security - Field Securable"),
> > > > which is 90% of the use case, and 100% of the initial use case
> > (somebody
> > > > getting a board, evaluating), all when the custom keys were not yet
> > > > programmed into the SOC (which is what turns the device into a HS-SE
> > > > device, at which time custom signing keys will need to be provided as
> > > > part of core-secdev-k3).
> > > >
> > > > Can a host package easily export/share and ENV variable
> > > > (TI_SECURE_DEV_PKG)?
> > > >
> > > >
> > > yes (we are in a Makefile fragment):
> > > export
> > >
> > TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > >
> > > when a package needed it, just add :
> > > FOO_DEPENDENCIES += host-ti-core-secdev-k3
> > >
> > > François
> >
> > Good point, using the make construct for 'export' should work, and in
> > fact it does. Just tried it out. Was able to largely carry over what you
> > came up with (thanks again!!). One change I had to made was to add a
> > 'host-' prefix to the line exporting the ti-core-secdev-k3 package
> > location. Below is my Makefile fragment. Will make this part of PATCH
> > v9 series I intent to send out next week (want to give it a few more days
> > to allow folks to add feedback).
> >
> >
> >
> in order to support the creation of a relocatable SDK, it will be better to
> install the stuff somewhere in $(HOST_DIR), like that:
>
> export TI_SECURE_DEV_PKG=$(HOST_DIR)/opt/core-secdev-k3
>
> define HOST_TI_CORE_SECDEV_K3_INSTALL_CMDS
> mkdir -p $(TI_SECURE_DEV_PKG)/keys
> cp -dpfr $(@D)/keys/* $(TI_SECURE_DEV_PKG)/keys
> mkdir -p $(TI_SECURE_DEV_PKG)/scripts
> cp -dpfr $(@D)/scripts/* $(TI_SECURE_DEV_PKG)/scripts
> endef
Makes sense, will update it accordingly! Thanks for the suggestion.
--
Andreas Dannenberg
Texas Instruments Inc
>
> François
>
>
> > --- /dev/null
> > +++ b/package/ti-core-secdev-k3/ti-core-secdev-k3.mk
> > @@ -0,0 +1,21 @@
> >
> > +################################################################################
> > +#
> > +## ti-core-secdev-k3
> > +#
> >
> > +#################################################################################
> > +
> > +TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > +TI_CORE_SECDEV_K3_SITE =
> > https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > +TI_CORE_SECDEV_K3_LICENSE
> > <https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot+TI_CORE_SECDEV_K3_LICENSE>
> > = TI TSPA License
> > +TI_CORE_SECDEV_K3_LICENSE_FILES = manifest/k3-secdev-0.2-manifest.html
> > +TI_CORE_SECDEV_K3_SOURCE =
> > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > +
> > +# To allow the image signing process for various firmware artifacts to
> > work the
> > +# build process for TI K3 platform HS-FS and HS-SE device variants is
> > using the
> > +# 'core-secdev-k3' tool provided by TI. Its location must be made
> > available to
> > +# the build process by exporting it through the use of an environmental
> > +# variable. From there on, other packages like ti-k3-r5-loader will pick
> > up the
> > +# signing tools and keys that are provided in this package.
> > +export TI_SECURE_DEV_PKG =
> > $(BUILD_DIR)/host-ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > +
> > +$(eval $(host-generic-package))
> >
> >
> > --
> > Andreas Dannenberg
> > Texas Instruments Inc
> >
> >
> >
> > >
> > > > This will be needed not only by ti-k3-image-gen but also by uboot and
> > > > potentially other packages in the future.
> > > >
> > > > Regards, Andreas
> > > >
> > > > >
> > > > >
> > > >
> > ################################################################################
> > > > > #
> > > > > # ti-core-secdev-k3
> > > > > #
> > > > >
> > > >
> > ################################################################################
> > > > >
> > > > > TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > > > > TI_CORE_SECDEV_K3_SITE =
> > > > >
> > > >
> > https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > > > > TI_CORE_SECDEV_K3_SOURCE =
> > > > > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > > > >
> > > > >
> > > >
> > TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > > > >
> > > > > $(eval $(host-generic-package))
> > > > >
> > > > > François
> > > > >
> > > > >
> > > > >
> > > > > > +
> > > > > > Build:
> > > > > > $ make
> > > > > >
> > > > > > diff --git a/board/ti/am64x_sk/readme.txt
> > > > b/board/ti/am64x_sk/readme.txt
> > > > > > index fe83c675f5..51d0312726 100644
> > > > > > --- a/board/ti/am64x_sk/readme.txt
> > > > > > +++ b/board/ti/am64x_sk/readme.txt
> > > > > > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > > > > > Optional: modify the configuration:
> > > > > > $ make menuconfig
> > > > > >
> > > > > > +Required setup step for High Security HS-FS and HS-SE SoC
> > variants:
> > > > > > +
> > > > > > +To allow the image signing process for various firmware artifacts
> > to
> > > > > > +work the build process for HS-FS and HS-SE device variants is
> > using
> > > > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3
> > .
> > > > > > +To prepare building for those device variants create a local copy
> > of
> > > > > > +the 'core-secdev-k3' and export its location through the
> > > > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is
> > for
> > > > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > > > +customize this package with your private signing keys when using a
> > > > > > +HS-SE device variant.
> > > > > > +
> > > > > > +$ git clone
> > > > > >
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > > > +
> > > > > > Build:
> > > > > > $ make
> > > > > >
> > > > > > diff --git a/configs/am62x_sk_defconfig
> > b/configs/am62x_sk_defconfig
> > > > > > index 2d05ddd96b..033101b735 100644
> > > > > > --- a/configs/am62x_sk_defconfig
> > > > > > +++ b/configs/am62x_sk_defconfig
> > > > > > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > > diff --git a/configs/am64x_sk_defconfig
> > b/configs/am64x_sk_defconfig
> > > > > > index a26e38a043..096dd77f6a 100644
> > > > > > --- a/configs/am64x_sk_defconfig
> > > > > > +++ b/configs/am64x_sk_defconfig
> > > > > > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > > --
> > > > > > 2.34.1
> > > > > >
> > > > > > _______________________________________________
> > > > > > buildroot mailing list
> > > > > > buildroot@buildroot.org
> > > > > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > > > > >
> > > >
> >
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
2023-06-18 12:27 ` Arnout Vandecappelle via buildroot
@ 2023-06-18 13:43 ` Andreas Dannenberg via buildroot
0 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-18 13:43 UTC (permalink / raw)
To: Arnout Vandecappelle; +Cc: buildroot
Hi Arnout,
On Sun, Jun 18, 2023 at 02:27:52PM +0200, Arnout Vandecappelle wrote:
>
>
> On 17/06/2023 00:13, Andreas Dannenberg via buildroot wrote:
> > Hi François,
> >
> > On Fri, Jun 16, 2023 at 06:40:35PM +0200, François Perrad wrote:
> > > Le ven. 16 juin 2023 à 14:05, Andreas Dannenberg <dannenberg@ti.com> a
> > > écrit :
> > >
> > > > Hi François,
> > > >
> > > > On Fri, Jun 16, 2023 at 01:15:04PM +0200, François Perrad wrote:
> [snip]
> > > > >
> > > > > core-secdev-k3 could be a host package and an optional dependency of
> > > > uboot
> > > > > or atf
> > > >
> > > > Good suggestion, I thought about same but wasn't quite sure how to set
> > > > this up, but I'll look into this based on your below starting point. It
> > > > would cover HS-FS device variants ("High Security - Field Securable"),
> > > > which is 90% of the use case, and 100% of the initial use case (somebody
> > > > getting a board, evaluating), all when the custom keys were not yet
> > > > programmed into the SOC (which is what turns the device into a HS-SE
> > > > device, at which time custom signing keys will need to be provided as
> > > > part of core-secdev-k3).
> > > >
> > > > Can a host package easily export/share and ENV variable
> > > > (TI_SECURE_DEV_PKG)?
> > > >
> > > >
> > > yes (we are in a Makefile fragment):
> > > export
> > > TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > >
> > > when a package needed it, just add :
> > > FOO_DEPENDENCIES += host-ti-core-secdev-k3
> > >
> > > François
> >
> > Good point, using the make construct for 'export' should work, and in
> > fact it does. Just tried it out. Was able to largely carry over what you
> > came up with (thanks again!!). One change I had to made was to add a
> > 'host-' prefix to the line exporting the ti-core-secdev-k3 package
> > location. Below is my Makefile fragment. Will make this part of PATCH
> > v9 series I intent to send out next week (want to give it a few more days
> > to allow folks to add feedback).
> >
> >
> > --- /dev/null
> > +++ b/package/ti-core-secdev-k3/ti-core-secdev-k3.mk
> > @@ -0,0 +1,21 @@
> > +################################################################################
> > +#
> > +## ti-core-secdev-k3
> > +#
> > +#################################################################################
> > +
> > +TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > +TI_CORE_SECDEV_K3_SITE = https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > +TI_CORE_SECDEV_K3_LICENSE = TI TSPA License
> > +TI_CORE_SECDEV_K3_LICENSE_FILES = manifest/k3-secdev-0.2-manifest.html
> > +TI_CORE_SECDEV_K3_SOURCE = core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > +
> > +# To allow the image signing process for various firmware artifacts to work the
> > +# build process for TI K3 platform HS-FS and HS-SE device variants is using the
> > +# 'core-secdev-k3' tool provided by TI. Its location must be made available to
> > +# the build process by exporting it through the use of an environmental
> > +# variable. From there on, other packages like ti-k3-r5-loader will pick up the
> > +# signing tools and keys that are provided in this package.
> > +export TI_SECURE_DEV_PKG = $(BUILD_DIR)/host-ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
>
> I didn't follow the entire discussion; however, be aware that this export
> applies globally, i.e. _all_ packages will have TI_SECURE_DEV_PKG in their
> environment. IIUC, this is exactly what you want because you want the
> environment variable to be available to e.g. ti-k3-r5-loader. But it's also
> going to be in the environment of busybox, libcurl, and all completely
> unrelated packages. Worse, it's going to be in the environment even if
> you're not using ti-core-secdev-k3 at all!
>
> Therefore, I'm not in favour of this export. I think it's better to just
> set the variable here, without exporting, and then in every package that
> actually needs it, include it explicitly in the build commands. E.g.
>
> define TI_K3_R5_LOADER_BUILD_CMDS
> $(TARGET_CONFIGURE_OPTS) TI_SECURE_DEV_PKG=$(TI_SECURE_DEV_PKG) \
> $(TI_K3_R5_LOADER_MAKE) -C $(@D) $(TI_K3_R5_LOADER_MAKE_OPTS)
> endef
Ok, makes sense to minimize polluting the global environment. Will
update this accordingly. It'll also better allow to find 'users' of this
in the Buildroot source tree by grepping for that variable, which is
always a nice thing to be able to do to understand how things work together.
> Note that you'll already need the explicit dependency in the packages using
> ti-core-secdev-k3, so I don't think it's a problem to add the environment
> variable explicitly as well.
Actually there is no unconditional hard dependency of anything on
ti-core-secdev-k3, as the use of this package is optional in some cases,
such as when building for General Purpose ("GP") device variants which
always have secure boot disabled. Or in case of High Security -
Security Enforcing ("HS-SE") devices the user must provide their _own_
package containing _their_ private keys for signing purposes, probably
not something to be done by storing them in a package. I'll see that I
can set it up such that the ti-core-secdev-k3 Buildroot package is used
if enabled, but the user can override this by providing their own
TI_SECURE_DEV_PKG env variable through their shell environment, in which
case their "private" tool is used from their build system (instead of
what the Buildroot package contributes).
I'll see I can model this appropriately and explain in more detail as
part of PATCH v9. I'll probably also make the SoC type selection
(BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE, see "[PATCH v8 02/10]
boot/ti-k3-image-gen: new package") via multiple-choice Kconfig options
(as it was suggested earlier actually).
Thanks!
--
Andreas Dannenberg
Texas Instruments Inc
>
> Regards,
> Arnout
>
> > +
> > +$(eval $(host-generic-package))
> >
> >
> > --
> > Andreas Dannenberg
> > Texas Instruments Inc
> >
> >
> >
> > >
> > > > This will be needed not only by ti-k3-image-gen but also by uboot and
> > > > potentially other packages in the future.
> > > >
> > > > Regards, Andreas
> > > >
> > > > >
> > > > >
> > > > ################################################################################
> > > > > #
> > > > > # ti-core-secdev-k3
> > > > > #
> > > > >
> > > > ################################################################################
> > > > >
> > > > > TI_CORE_SECDEV_K3_VERSION = 08.06.00.007
> > > > > TI_CORE_SECDEV_K3_SITE =
> > > > >
> > > > https://git.ti.com/cgit/security-development-tools/core-secdev-k3/snapshot
> > > > > TI_CORE_SECDEV_K3_SOURCE =
> > > > > core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION).tar.gz
> > > > >
> > > > >
> > > > TI_SECURE_DEV_PKG=$(BUILD_DIR)/ti-core-secdev-k3-$(TI_CORE_SECDEV_K3_VERSION)
> > > > >
> > > > > $(eval $(host-generic-package))
> > > > >
> > > > > François
> > > > >
> > > > >
> > > > >
> > > > > > +
> > > > > > Build:
> > > > > > $ make
> > > > > >
> > > > > > diff --git a/board/ti/am64x_sk/readme.txt
> > > > b/board/ti/am64x_sk/readme.txt
> > > > > > index fe83c675f5..51d0312726 100644
> > > > > > --- a/board/ti/am64x_sk/readme.txt
> > > > > > +++ b/board/ti/am64x_sk/readme.txt
> > > > > > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > > > > > Optional: modify the configuration:
> > > > > > $ make menuconfig
> > > > > >
> > > > > > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > > > > > +
> > > > > > +To allow the image signing process for various firmware artifacts to
> > > > > > +work the build process for HS-FS and HS-SE device variants is using
> > > > > > +an external 'core-secdev-k3' package which can be obtained from
> > > > > > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > > > > > +To prepare building for those device variants create a local copy of
> > > > > > +the 'core-secdev-k3' and export its location through the
> > > > > > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > > > > > +HS-FS device variants such as populated on the SK-AM64B board, or
> > > > > > +customize this package with your private signing keys when using a
> > > > > > +HS-SE device variant.
> > > > > > +
> > > > > > +$ git clone
> > > > > > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > > > > > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > > > > > +
> > > > > > Build:
> > > > > > $ make
> > > > > >
> > > > > > diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> > > > > > index 2d05ddd96b..033101b735 100644
> > > > > > --- a/configs/am62x_sk_defconfig
> > > > > > +++ b/configs/am62x_sk_defconfig
> > > > > > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > > diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> > > > > > index a26e38a043..096dd77f6a 100644
> > > > > > --- a/configs/am64x_sk_defconfig
> > > > > > +++ b/configs/am64x_sk_defconfig
> > > > > > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > > > > > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > > > > > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > > > > > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > > > > > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > > > > > BR2_TARGET_TI_K3_R5_LOADER=y
> > > > > > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > > > > > --
> > > > > > 2.34.1
> > > > > >
> > > > > > _______________________________________________
> > > > > > buildroot mailing list
> > > > > > buildroot@buildroot.org
> > > > > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > > > > >
> > > >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
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-19 17:39 ` Julien Olivain
2023-06-21 15:32 ` Andreas Dannenberg via buildroot
1 sibling, 1 reply; 32+ messages in thread
From: Julien Olivain @ 2023-06-19 17:39 UTC (permalink / raw)
To: Andreas Dannenberg; +Cc: Andreas Dannenberg, buildroot
Hi Andreas,
Thanks for the update!
I successfully booted this am64x_sk_defconfig on SK-AM64B board, with
this patch series on top of branch master at commit b91524f.
On 16/06/2023 02:23, Andreas Dannenberg via buildroot wrote:
> Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> (called SK-AM64B, see [2]) both contain High Security - Field Securable
> (HS-FS) device variants, and those are really the recommended
> production
> device variants and boards TI will provide moving forward. Hence,
> switch
> the defconfigs for those boards over to accommodate those now-shipping
> device variants and boards.
>
> [1] https://www.ti.com/tool/SK-AM62B
> [2] https://www.ti.com/tool/SK-AM64B
>
Tested-by: Julien Olivain <ju.o@free.fr>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> configs/am62x_sk_defconfig | 2 +-
> configs/am64x_sk_defconfig | 4 ++--
> 4 files changed, 35 insertions(+), 3 deletions(-)
>
> diff --git a/board/ti/am62x_sk/readme.txt
> b/board/ti/am62x_sk/readme.txt
> index ccbb24896b..9c7c8818af 100644
> --- a/board/ti/am62x_sk/readme.txt
> +++ b/board/ti/am62x_sk/readme.txt
> @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> Optional: modify the configuration:
> $ make menuconfig
>
> +Required setup step for High Security HS-FS and HS-SE SoC variants:
> +
> +To allow the image signing process for various firmware artifacts to
> +work the build process for HS-FS and HS-SE device variants is using
> +an external 'core-secdev-k3' package which can be obtained from
> +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> +To prepare building for those device variants create a local copy of
> +the 'core-secdev-k3' and export its location through the
> +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> +HS-FS device variants such as populated on the SK-AM64B board, or
> +customize this package with your private signing keys when using a
> +HS-SE device variant.
> +
> +$ git clone
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> +
> Build:
> $ make
>
> diff --git a/board/ti/am64x_sk/readme.txt
> b/board/ti/am64x_sk/readme.txt
> index fe83c675f5..51d0312726 100644
> --- a/board/ti/am64x_sk/readme.txt
> +++ b/board/ti/am64x_sk/readme.txt
> @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> Optional: modify the configuration:
> $ make menuconfig
>
> +Required setup step for High Security HS-FS and HS-SE SoC variants:
> +
> +To allow the image signing process for various firmware artifacts to
> +work the build process for HS-FS and HS-SE device variants is using
> +an external 'core-secdev-k3' package which can be obtained from
> +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> +To prepare building for those device variants create a local copy of
> +the 'core-secdev-k3' and export its location through the
> +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> +HS-FS device variants such as populated on the SK-AM64B board, or
> +customize this package with your private signing keys when using a
> +HS-SE device variant.
> +
> +$ git clone
> https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> +
> Build:
> $ make
>
> diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> index 2d05ddd96b..033101b735 100644
> --- a/configs/am62x_sk_defconfig
> +++ b/configs/am62x_sk_defconfig
> @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> BR2_TARGET_TI_K3_IMAGE_GEN=y
> BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> BR2_TARGET_TI_K3_R5_LOADER=y
> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> index a26e38a043..096dd77f6a 100644
> --- a/configs/am64x_sk_defconfig
> +++ b/configs/am64x_sk_defconfig
> @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> BR2_TARGET_TI_K3_IMAGE_GEN=y
> BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> BR2_TARGET_TI_K3_R5_LOADER=y
> BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
Please note that this patch series introduce 18 check-package warnings.
I understand from the current review comments that a v9 series will
be needed. Please run a "utils/docker-run make check-package" and
include the appropriate changes.
See:
https://nightly.buildroot.org/manual.html#_preparing_a_patch_series
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 07/10] board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
2023-06-19 17:39 ` Julien Olivain
@ 2023-06-21 15:32 ` Andreas Dannenberg via buildroot
0 siblings, 0 replies; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-21 15:32 UTC (permalink / raw)
To: Julien Olivain; +Cc: buildroot
Hi Julien,
On Mon, Jun 19, 2023 at 07:39:58PM +0200, Julien Olivain wrote:
> Hi Andreas,
>
> Thanks for the update!
>
> I successfully booted this am64x_sk_defconfig on SK-AM64B board, with
> this patch series on top of branch master at commit b91524f.
Thanks for spending the time doing this. Added your Tested-by: tag to my
PATCH v9 currently work-in-progress. Will re-post soon with a few
additional improvements discussed here in this series. Especially the
integration of the secure signing/key package will make things really
"Buildroot-easy".
--
Andreas Dannenberg
Texas Instruments Inc
>
>
> On 16/06/2023 02:23, Andreas Dannenberg via buildroot wrote:
> > Current starter kits for AM62x (called SK-AM62B, see [1]) and AM64x
> > (called SK-AM64B, see [2]) both contain High Security - Field Securable
> > (HS-FS) device variants, and those are really the recommended production
> > device variants and boards TI will provide moving forward. Hence, switch
> > the defconfigs for those boards over to accommodate those now-shipping
> > device variants and boards.
> >
> > [1] https://www.ti.com/tool/SK-AM62B
> > [2] https://www.ti.com/tool/SK-AM64B
> >
>
> Tested-by: Julien Olivain <ju.o@free.fr>
>
> > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > ---
> > board/ti/am62x_sk/readme.txt | 16 ++++++++++++++++
> > board/ti/am64x_sk/readme.txt | 16 ++++++++++++++++
> > configs/am62x_sk_defconfig | 2 +-
> > configs/am64x_sk_defconfig | 4 ++--
> > 4 files changed, 35 insertions(+), 3 deletions(-)
> >
> > diff --git a/board/ti/am62x_sk/readme.txt b/board/ti/am62x_sk/readme.txt
> > index ccbb24896b..9c7c8818af 100644
> > --- a/board/ti/am62x_sk/readme.txt
> > +++ b/board/ti/am62x_sk/readme.txt
> > @@ -12,6 +12,22 @@ $ make am62x_sk_defconfig
> > Optional: modify the configuration:
> > $ make menuconfig
> >
> > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > +
> > +To allow the image signing process for various firmware artifacts to
> > +work the build process for HS-FS and HS-SE device variants is using
> > +an external 'core-secdev-k3' package which can be obtained from
> > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > +To prepare building for those device variants create a local copy of
> > +the 'core-secdev-k3' and export its location through the
> > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > +HS-FS device variants such as populated on the SK-AM64B board, or
> > +customize this package with your private signing keys when using a
> > +HS-SE device variant.
> > +
> > +$ git clone
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > +
> > Build:
> > $ make
> >
> > diff --git a/board/ti/am64x_sk/readme.txt b/board/ti/am64x_sk/readme.txt
> > index fe83c675f5..51d0312726 100644
> > --- a/board/ti/am64x_sk/readme.txt
> > +++ b/board/ti/am64x_sk/readme.txt
> > @@ -12,6 +12,22 @@ $ make am64x_sk_defconfig
> > Optional: modify the configuration:
> > $ make menuconfig
> >
> > +Required setup step for High Security HS-FS and HS-SE SoC variants:
> > +
> > +To allow the image signing process for various firmware artifacts to
> > +work the build process for HS-FS and HS-SE device variants is using
> > +an external 'core-secdev-k3' package which can be obtained from
> > +https://git.ti.com/cgit/security-development-tools/core-secdev-k3.
> > +To prepare building for those device variants create a local copy of
> > +the 'core-secdev-k3' and export its location through the
> > +TI_SECURE_DEV_PKG environmental variable. Use the package as-is for
> > +HS-FS device variants such as populated on the SK-AM64B board, or
> > +customize this package with your private signing keys when using a
> > +HS-SE device variant.
> > +
> > +$ git clone
> > https://git.ti.com/git/security-development-tools/core-secdev-k3.git
> > +$ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3
> > +
> > Build:
> > $ make
> >
> > diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig
> > index 2d05ddd96b..033101b735 100644
> > --- a/configs/am62x_sk_defconfig
> > +++ b/configs/am62x_sk_defconfig
> > @@ -28,7 +28,7 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am62x"
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > BR2_TARGET_TI_K3_R5_LOADER=y
> > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
> > diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> > index a26e38a043..096dd77f6a 100644
> > --- a/configs/am64x_sk_defconfig
> > +++ b/configs/am64x_sk_defconfig
> > @@ -28,8 +28,8 @@ BR2_TARGET_OPTEE_OS_NEEDS_PYTHON_CRYPTOGRAPHY=y
> > BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> > BR2_TARGET_TI_K3_IMAGE_GEN=y
> > BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI=y
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x"
> > -BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="gp"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC="am64x_sr2"
> > +BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE="hs-fs"
> > BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG="evm"
> > BR2_TARGET_TI_K3_R5_LOADER=y
> > BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL=y
>
> Please note that this patch series introduce 18 check-package warnings.
> I understand from the current review comments that a v9 series will
> be needed. Please run a "utils/docker-run make check-package" and
> include the appropriate changes.
>
> See:
> https://nightly.buildroot.org/manual.html#_preparing_a_patch_series
>
> Best regards,
>
> Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
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
0 siblings, 1 reply; 32+ messages in thread
From: Andreas Dannenberg via buildroot @ 2023-06-21 15:42 UTC (permalink / raw)
To: Patrick Oppenlander, buildroot
Hi Patrick,
On Thu, Jun 15, 2023 at 09:25:37PM -0500, Andreas Dannenberg via buildroot wrote:
> Hi Patrick,
>
> On Fri, Jun 16, 2023 at 11:39:05AM +1000, Patrick Oppenlander wrote:
> > On Fri, Jun 16, 2023 at 10:25 AM Andreas Dannenberg via buildroot
> > <buildroot@buildroot.org> wrote:
> > >
> > > The TI K3 R5 loader package essentially is a wrapper to build a special
> > > version of U-boot SPL used as part of a multi-stage boot flow on TI K3
> > > devices, and as such needs full flexibility as to specifying the U-Boot
> > > sources used for the build. To accomodate this, add the same options as
> > > already available in the regular U-Boot package. For most use cases, the
> > > same source settings (repo URL, versions, etc.) should be used for both
> > > ti-k3-r5-loader and uboot packages.
> > >
> > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > ---
> > > boot/ti-k3-r5-loader/Config.in | 65 +++++++++++++++++++++++--
> > > boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 28 ++++++++++-
> > > 2 files changed, 89 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
> > > index 10602c8df3..2419babe70 100644
> > > --- a/boot/ti-k3-r5-loader/Config.in
> > > +++ b/boot/ti-k3-r5-loader/Config.in
> > > @@ -1,14 +1,73 @@
> > > config BR2_TARGET_TI_K3_R5_LOADER
> > > - bool "ti-k3-r5-loader"
> > > + bool "TI K3 R5 Loader"
> > > depends on BR2_aarch64
> > > help
> > > - Separate U-Boot build for R5 cores on TI's k3 boards.
> > > + Separate U-Boot SPL build for R5 core on TI's K3 processors.
> > > Usually used to build tiboot3.bin with k3-image-gen.
> > >
> > > if BR2_TARGET_TI_K3_R5_LOADER
> > >
> > > choice
> > > - prompt "Configuration"
> > > + prompt "U-Boot Version"
> > > + help
> > > + Select the specific U-Boot version you want to use to build the
> > > + initial SPL running on the R5 core. Note that for most use cases
> > > + you'd want to use the exact same configuration here as it is used
> > > + to build the main U-Boot package.
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > > + bool "2022.10"
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > + bool "Custom version"
> > > + help
> > > + This option allows to use a specific official versions
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > + bool "Custom tarball"
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT
> > > + bool "Custom Git repository"
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG
> > > + bool "Custom Mercurial repository"
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > + bool "Custom Subversion repository"
> > > +
> > > +endchoice
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE
> > > + string "U-Boot version"
> > > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION
> > > + string "URL of custom U-Boot tarball"
> > > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > +
> > > +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL
> > > + string "URL of custom repository"
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION
> > > + string "Custom repository version"
> > > + help
> > > + Revision to use in the typical format used by
> > > + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
> > > +
> > > +endif
> > > +
> > > +config BR2_TARGET_TI_K3_R5_LOADER_VERSION
> > > + string
> > > + default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \
> > > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \
> > > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > +choice
> > > + prompt "U-Boot Configuration"
> > > default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> > >
> > > config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> > > diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > index afa309aa98..fe403a5c44 100644
> > > --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > @@ -2,11 +2,37 @@
> > > #
> > > # ti-k3-r5-loader
> > > #
> > > +# The ti-k3-r5 loader package should really be built from the same U-Boot
> > > +# sources as the uboot package itself, so for most users so all LOADER_SITE /
> > > +# LOADER_SOURCE type definitions should be set the same for both packages.
> > > +# However it still makes sense to keep the ti-k3-r5-loader package somewhat
> > > +# separated and independent from the uboot package to allow for special use
> > > +# cases such as Falcon boot (which would skip the uboot package completely).
> > > +#
> > > ################################################################################
> > >
> > > -TI_K3_R5_LOADER_VERSION = 2022.10
> > > +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
> > > +
> > > +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
> > > +# Handle custom U-Boot tarballs as specified by the configuration
> > > +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
> > > +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
> > > +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
> > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
> > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > +TI_K3_R5_LOADER_SITE_METHOD = git
> >
> > I think this may also need:
> > BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
> > in the git case, otherwise buildroot will look for a hash for the
> > archive generated from the git version.
> >
> > I'm not a buildroot expert, so there may be a better way to do this.
>
> Honestly I just "borrowed" this section from the boot/uboot package, as
> ti-k3-r5-loader is actually largely the same thing to 95%. But looking
> at it closer you are probably right, it looks like it'd need that in
> case of BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION, which is the
> ti-k3-r5-loader equivalent of BR2_TARGET_UBOOT_LATEST_VERSION, as per
>
> https://git.busybox.net/buildroot/tree/boot/uboot/uboot.mk#n43
I looked at this closer and debugged some more, and yes the change
needed here is adding a construct similar to how it is in the current
U-Boot (and Kernel, ATF, and other) packages already...
+ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y)
+BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
+endif
...which is to disable hash checks only for the *_LATEST_VERSION (in
addition to the other SCM-related source methods explicitly defined in
package/pkg-generic.mk).
--
Andreas Dannenberg
Texas Instruments Inc
>
> Regards, Andreas
>
> > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
> > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > +TI_K3_R5_LOADER_SITE_METHOD = hg
> > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
> > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > +TI_K3_R5_LOADER_SITE_METHOD = svn
> > > +else
> > > +# Handle stable official U-Boot versions
> > > TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
> > > TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
> > > +endif
> > > +
> > > TI_K3_R5_LOADER_LICENSE = GPL-2.0+
> > > TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
> > > TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
> > > --
> > > 2.34.1
> > >
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot@buildroot.org
> > > https://lists.buildroot.org/mailman/listinfo/buildroot
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
2023-06-21 15:42 ` Andreas Dannenberg via buildroot
@ 2023-06-21 23:35 ` Patrick Oppenlander
0 siblings, 0 replies; 32+ messages in thread
From: Patrick Oppenlander @ 2023-06-21 23:35 UTC (permalink / raw)
To: Andreas Dannenberg; +Cc: buildroot
On Thu, Jun 22, 2023 at 1:43 AM Andreas Dannenberg <dannenberg@ti.com> wrote:
>
> Hi Patrick,
>
> On Thu, Jun 15, 2023 at 09:25:37PM -0500, Andreas Dannenberg via buildroot wrote:
> > Hi Patrick,
> >
> > On Fri, Jun 16, 2023 at 11:39:05AM +1000, Patrick Oppenlander wrote:
> > > On Fri, Jun 16, 2023 at 10:25 AM Andreas Dannenberg via buildroot
> > > <buildroot@buildroot.org> wrote:
> > > >
> > > > The TI K3 R5 loader package essentially is a wrapper to build a special
> > > > version of U-boot SPL used as part of a multi-stage boot flow on TI K3
> > > > devices, and as such needs full flexibility as to specifying the U-Boot
> > > > sources used for the build. To accomodate this, add the same options as
> > > > already available in the regular U-Boot package. For most use cases, the
> > > > same source settings (repo URL, versions, etc.) should be used for both
> > > > ti-k3-r5-loader and uboot packages.
> > > >
> > > > Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> > > > ---
> > > > boot/ti-k3-r5-loader/Config.in | 65 +++++++++++++++++++++++--
> > > > boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 28 ++++++++++-
> > > > 2 files changed, 89 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
> > > > index 10602c8df3..2419babe70 100644
> > > > --- a/boot/ti-k3-r5-loader/Config.in
> > > > +++ b/boot/ti-k3-r5-loader/Config.in
> > > > @@ -1,14 +1,73 @@
> > > > config BR2_TARGET_TI_K3_R5_LOADER
> > > > - bool "ti-k3-r5-loader"
> > > > + bool "TI K3 R5 Loader"
> > > > depends on BR2_aarch64
> > > > help
> > > > - Separate U-Boot build for R5 cores on TI's k3 boards.
> > > > + Separate U-Boot SPL build for R5 core on TI's K3 processors.
> > > > Usually used to build tiboot3.bin with k3-image-gen.
> > > >
> > > > if BR2_TARGET_TI_K3_R5_LOADER
> > > >
> > > > choice
> > > > - prompt "Configuration"
> > > > + prompt "U-Boot Version"
> > > > + help
> > > > + Select the specific U-Boot version you want to use to build the
> > > > + initial SPL running on the R5 core. Note that for most use cases
> > > > + you'd want to use the exact same configuration here as it is used
> > > > + to build the main U-Boot package.
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > > > + bool "2022.10"
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > > + bool "Custom version"
> > > > + help
> > > > + This option allows to use a specific official versions
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > > + bool "Custom tarball"
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT
> > > > + bool "Custom Git repository"
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG
> > > > + bool "Custom Mercurial repository"
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > > + bool "Custom Subversion repository"
> > > > +
> > > > +endchoice
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE
> > > > + string "U-Boot version"
> > > > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION
> > > > + string "URL of custom U-Boot tarball"
> > > > + depends on BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > > +
> > > > +if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL
> > > > + string "URL of custom repository"
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION
> > > > + string "Custom repository version"
> > > > + help
> > > > + Revision to use in the typical format used by
> > > > + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..
> > > > +
> > > > +endif
> > > > +
> > > > +config BR2_TARGET_TI_K3_R5_LOADER_VERSION
> > > > + string
> > > > + default "2022.10" if BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION
> > > > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION_VALUE \
> > > > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_VERSION
> > > > + default "custom" if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL
> > > > + default BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_VERSION \
> > > > + if BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG || BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN
> > > > +choice
> > > > + prompt "U-Boot Configuration"
> > > > default BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> > > >
> > > > config BR2_TARGET_TI_K3_R5_LOADER_USE_DEFCONFIG
> > > > diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > > index afa309aa98..fe403a5c44 100644
> > > > --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > > +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> > > > @@ -2,11 +2,37 @@
> > > > #
> > > > # ti-k3-r5-loader
> > > > #
> > > > +# The ti-k3-r5 loader package should really be built from the same U-Boot
> > > > +# sources as the uboot package itself, so for most users so all LOADER_SITE /
> > > > +# LOADER_SOURCE type definitions should be set the same for both packages.
> > > > +# However it still makes sense to keep the ti-k3-r5-loader package somewhat
> > > > +# separated and independent from the uboot package to allow for special use
> > > > +# cases such as Falcon boot (which would skip the uboot package completely).
> > > > +#
> > > > ################################################################################
> > > >
> > > > -TI_K3_R5_LOADER_VERSION = 2022.10
> > > > +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
> > > > +
> > > > +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
> > > > +# Handle custom U-Boot tarballs as specified by the configuration
> > > > +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
> > > > +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
> > > > +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
> > > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
> > > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > > +TI_K3_R5_LOADER_SITE_METHOD = git
> > >
> > > I think this may also need:
> > > BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
> > > in the git case, otherwise buildroot will look for a hash for the
> > > archive generated from the git version.
> > >
> > > I'm not a buildroot expert, so there may be a better way to do this.
> >
> > Honestly I just "borrowed" this section from the boot/uboot package, as
> > ti-k3-r5-loader is actually largely the same thing to 95%. But looking
> > at it closer you are probably right, it looks like it'd need that in
> > case of BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION, which is the
> > ti-k3-r5-loader equivalent of BR2_TARGET_UBOOT_LATEST_VERSION, as per
> >
> > https://git.busybox.net/buildroot/tree/boot/uboot/uboot.mk#n43
>
> I looked at this closer and debugged some more, and yes the change
> needed here is adding a construct similar to how it is in the current
> U-Boot (and Kernel, ATF, and other) packages already...
>
> +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y)
> +BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
> +endif
>
> ...which is to disable hash checks only for the *_LATEST_VERSION (in
> addition to the other SCM-related source methods explicitly defined in
> package/pkg-generic.mk).
>
Thanks!
I can verify this when you post the v9 series.
Patrick
> --
> Andreas Dannenberg
> Texas Instruments Inc
>
>
>
>
> >
> > Regards, Andreas
> >
> > > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
> > > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > > +TI_K3_R5_LOADER_SITE_METHOD = hg
> > > > +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
> > > > +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> > > > +TI_K3_R5_LOADER_SITE_METHOD = svn
> > > > +else
> > > > +# Handle stable official U-Boot versions
> > > > TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
> > > > TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
> > > > +endif
> > > > +
> > > > TI_K3_R5_LOADER_LICENSE = GPL-2.0+
> > > > TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt
> > > > TI_K3_R5_LOADER_CPE_ID_VENDOR = denx
> > > > --
> > > > 2.34.1
> > > >
> > > > _______________________________________________
> > > > buildroot mailing list
> > > > buildroot@buildroot.org
> > > > https://lists.buildroot.org/mailman/listinfo/buildroot
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 01/10] boot/ti-k3-r5-loader: allow for full build source customization
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-08-22 10:16 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 32+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-22 10:16 UTC (permalink / raw)
To: Andreas Dannenberg via buildroot; +Cc: Andreas Dannenberg
Hello Andreas,
On Thu, 15 Jun 2023 19:23:50 -0500
Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> The TI K3 R5 loader package essentially is a wrapper to build a special
> version of U-boot SPL used as part of a multi-stage boot flow on TI K3
> devices, and as such needs full flexibility as to specifying the U-Boot
> sources used for the build. To accomodate this, add the same options as
> already available in the regular U-Boot package. For most use cases, the
> same source settings (repo URL, versions, etc.) should be used for both
> ti-k3-r5-loader and uboot packages.
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
I have applied this patch to our next branch, with some changes. See
below.
> diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in
> index 10602c8df3..2419babe70 100644
> --- a/boot/ti-k3-r5-loader/Config.in
> +++ b/boot/ti-k3-r5-loader/Config.in
> @@ -1,14 +1,73 @@
> config BR2_TARGET_TI_K3_R5_LOADER
> - bool "ti-k3-r5-loader"
> + bool "TI K3 R5 Loader"
Change reverted, as we want to keep it as it is.
> diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> index afa309aa98..fe403a5c44 100644
> --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk
> @@ -2,11 +2,37 @@
> #
> # ti-k3-r5-loader
> #
> +# The ti-k3-r5 loader package should really be built from the same U-Boot
> +# sources as the uboot package itself, so for most users so all LOADER_SITE /
> +# LOADER_SOURCE type definitions should be set the same for both packages.
> +# However it still makes sense to keep the ti-k3-r5-loader package somewhat
> +# separated and independent from the uboot package to allow for special use
> +# cases such as Falcon boot (which would skip the uboot package completely).
Dropped all those changes, we don't want to have additional comments in
the top header of the .mk file.
> +#
> ################################################################################
>
> -TI_K3_R5_LOADER_VERSION = 2022.10
> +TI_K3_R5_LOADER_VERSION = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_VERSION))
> +
> +ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL),y)
> +# Handle custom U-Boot tarballs as specified by the configuration
> +TI_K3_R5_LOADER_TARBALL = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_TARBALL_LOCATION))
> +TI_K3_R5_LOADER_SITE = $(patsubst %/,%,$(dir $(TI_K3_R5_LOADER_TARBALL)))
> +TI_K3_R5_LOADER_SOURCE = $(notdir $(TI_K3_R5_LOADER_TARBALL))
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_GIT),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = git
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_HG),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = hg
> +else ifeq ($(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_SVN),y)
> +TI_K3_R5_LOADER_SITE = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_REPO_URL))
> +TI_K3_R5_LOADER_SITE_METHOD = svn
> +else
> +# Handle stable official U-Boot versions
> TI_K3_R5_LOADER_SITE = https://ftp.denx.de/pub/u-boot
> TI_K3_R5_LOADER_SOURCE = u-boot-$(TI_K3_R5_LOADER_VERSION).tar.bz2
> +endif
Here I've added some proper logic to ignore the hash when it cannot be
verified:
+ifeq ($(BR2_TARGET_TI_K3_R5_LOADER)$(BR2_TARGET_TI_K3_R5_LOADER_LATEST_VERSION),y)
+BR_NO_CHECK_HASH_FOR += $(TI_K3_R5_LOADER_SOURCE)
+endif
As was requested, I think an option "same version as U-Boot" would be
useful.
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package
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
0 siblings, 1 reply; 32+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-22 10:29 UTC (permalink / raw)
To: Andreas Dannenberg via buildroot
Cc: Bryan Brattlof, Andrew Davis, Julien Olivain, Xuanhao Shi,
Giulio Benetti, Anand Gadiyar, Romain Naour, Andreas Dannenberg
Hello Andreas,
On Thu, 15 Jun 2023 19:23:51 -0500
Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> From: Xuanhao Shi <x-shi@ti.com>
>
> This is the image generator that builds the initial boot binary,
> tiboot3.bin, for the R5 core on TI's K3 family of devices.
> This requires the R5 SPL output from the ti-k3-r5-loader package.
>
> https://git.ti.com/cgit/k3-image-gen/k3-image-gen
>
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Acked-by: Andrew Davis <afd@ti.com>
> Tested-by: Bryan Brattlof <bb@ti.com>
> Cc: Romain Naour <romain.naour@gmail.com>
> Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
> Reviewed-by: Julien Olivain <ju.o@free.fr>
I have applied this, but after doing a lot of changes.
The first major change is that I have created a
boot/ti-k3-boot-firmware/ package that is responsible for downloading
the ti-sysfw and ti-dm firmware files, and installing them in
$(BINARIES_DIR). Indeed your solution of downloading them directly from
ti-k3-image-gen (for ti-sysfw) and from uboot (for ti-dm) really wasn't
very clean, and it didn't allow to associate those firmware files to
their license, which is quite important considering they are
closed-source binary blobs.
In boot/ti-k3-boot-firmware/, I hesitated a long time between
downloading only the firmware files themselves directly, or downloading
the whole repository. In the end, I opted for downloading the whole
repository. Indeed, the firmware files themselves don't have a version
number in their file name, so once they land in the download directory,
we cannot have multiple versions of the firmware files sitting side by
side. Yes, the hash would detect that a firmware file is no longer
correct and needs to be re-downloaded. But if you alternate between
Buildroot versions that use different firmware versions, it would
constantly get an invalid and redownload, which I found not very nice.
So, this package download the monster 200+ MB .tar.gz, only to extra a
few hundreds of KBs of firmware files.
> diff --git a/boot/ti-k3-image-gen/Config.in b/boot/ti-k3-image-gen/Config.in
> new file mode 100644
> index 0000000000..97cb470119
> --- /dev/null
> +++ b/boot/ti-k3-image-gen/Config.in
> @@ -0,0 +1,55 @@
> +config BR2_TARGET_TI_K3_IMAGE_GEN
> + bool "ti-k3-image-gen"
> + depends on BR2_TARGET_TI_K3_R5_LOADER
Changed to:
+ depends on BR2_TARGET_TI_K3_R5_LOADER
+ select BR2_TARGET_TI_K3_BOOT_FIRMWARE
+ # We need FIT support in uboot-tools, which is why we select a
+ # host package
+ select BR2_PACKAGE_HOST_UBOOT_TOOLS
+ select BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT
> + help
> + Use TI's k3-image-gen to build a separate bare metal
> + boot binary from a separate SPL that is running on
> + the R5 core. Currently supports version 08.06.00.007
> + as default.
Remove the reference to the version. We don't want to update the
Config.in help text when we update the package version.
> +if BR2_TARGET_TI_K3_IMAGE_GEN
> +choice
> + prompt "SoC firmware type for image gen"
> + default BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
> + bool "Firmware type TIFS"
> + help
> + Use firmware type TIFS for SoCs like AM62x and
> + AM62Ax.
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI
> + bool "Firmware type TISCI"
> + help
> + Use firmware type TISCI for SoCs like AM64x and
> + AM65x.
> +
> +endchoice
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC
> + string "SoC"
> + help
> + The target SoC option for image gen.
> + For example, "am64x" for AM64x boards.
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE
> + string "security type"
> + help
> + The target SoC security type option for image gen.
> + Valid options are "gp" for General Purpose devices,
> + "hs-fs" for High Security - Field Securable devices, or
> + "hs" for High Security - Security Enforcing devices.
> + Note for all High Security device variants the
> + TI_SECURE_DEV_PKG environmental variable must be defined
> + at build time pointing to a valid core-secdev-k3 folder
> + location, otherwise the build will fail, see
> + https://git.ti.com/cgit/security-development-tools/core-secdev-k3
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG
> + string "config type"
> + help
> + The board config option for image gen.
> + Usually "sk" or "evm".
> +endif
I've changed this whole thing to use choices for the SoC and security
type. For the "config type", it was always "evm" for now, and the
firmware files only exist for "evm", so I dropped this option and
simply hardcoded "evm" in the package. It can always be revisited later
on. So it looks like this:
+if BR2_TARGET_TI_K3_IMAGE_GEN
+choice
+ prompt "SoC family"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
+ bool "am62ax"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
+ bool "am62x"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
+ bool "am64x"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
+ bool "am65x"
+
+endchoice
+
+choice
+ prompt "Security type"
+ help
+ The target SoC security type option for image gen. Valid
+ options are "gp" for General Purpose devices, "hs-fs" for
+ High Security - Field Securable devices, or "hs" for High
+ Security - Security Enforcing devices. Note for all High
+ Security device variants the TI_SECURE_DEV_PKG environmental
+ variable must be defined at build time pointing to a valid
+ core-secdev-k3 folder location, otherwise the build will
+ fail, see
+ https://git.ti.com/cgit/security-development-tools/core-secdev-k3
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP
+ bool "gp"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS
+ bool "hs-fs"
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS
+ bool "hs"
+
+endchoice
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SOC
+ string
+ default "am62ax" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
+ default "am62x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
+ default "am64x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
+ default "am65x" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE
+ string
+ default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
+ default "ti-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
+ default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
+ default "ti-sci" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
+
+config BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE
+ string
+ default "gp" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_GP
+ default "hs-fs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS_FS
+ default "hs" if BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE_HS
> diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.hash b/boot/ti-k3-image-gen/ti-k3-image-gen.hash
> new file mode 100644
> index 0000000000..6fb8c4c1eb
> --- /dev/null
> +++ b/boot/ti-k3-image-gen/ti-k3-image-gen.hash
> @@ -0,0 +1,23 @@
> +# Locally calculated
> +sha256 f89ea4b1f5c992455b1a682fde48359221b53f3294135df4bf20feea6aea90e4 k3-image-gen-08.06.00.007.tar.gz
> +sha256 f012e8d000d711d0539e5b4c812fc1d3a59c10fc1e3d6ea155556f5b78286845 LICENSE
> +
> +sha256 eca3d0dca65ceabdf17c7efa6b0eb651d365c6056730aa1c67700b7fea2e8bd2 ti-fs-firmware-am62x-gp.bin
> +sha256 9ed6089ca7d59e9e5919b0da92effe788138edef41682e0bf7eaea25a896a4f1 ti-fs-firmware-am62x-hs-cert.bin
> +sha256 655b5ded62b63f26c17b3ae2f23ac3565ae91fbd7fba1b7b0a4cb7807467523b ti-fs-firmware-am62x-hs-enc.bin
> +sha256 5efa229acd122685fa928170a3f2e39597cce0231fca10b03d9b4d519db2259f ti-fs-firmware-am62x-hs-fs-cert.bin
> +sha256 0f49da5e616a95dc8573531799d20fa7697a000f88084d09f3f6f5a665d85680 ti-fs-firmware-am62x-hs-fs-enc.bin
> +
> +sha256 c5c91d005b228a926fdc518f1e4365d2f693248a63f2432fccfbde10e5717499 ti-fs-firmware-am62ax-gp.bin
> +sha256 6de6d6a249217b15dd78dfb2b0ca99bda95aa15b7e4867a2cbe0d5a169422522 ti-fs-firmware-am62ax-hs-cert.bin
> +sha256 b1b3b25409013174fa5969b5bfaa572c0a79eee9e8b7445b3ac7867646eaf402 ti-fs-firmware-am62ax-hs-enc.bin
> +sha256 652b1369bed586cc294a65ee690056763a12034e4c9f0d05ea3838dd60ec8aba ti-fs-firmware-am62ax-hs-fs-cert.bin
> +sha256 b37f82dad0998921672b36b6aeb1473197ab2720f612c2409292a81561ddc602 ti-fs-firmware-am62ax-hs-fs-enc.bin
> +
> +sha256 958fdb0613a1dc3a5cb90edf35b84981b94bd70de6255cdf5f220bce2a4b10ef ti-sci-firmware-am64x-gp.bin
> +sha256 cfee8679183577392b513b317a4d9a6af47cde9a59ecbad758704e4bec38196c ti-sci-firmware-am64x-hs-cert.bin
> +sha256 8760b70cc18cd5921d634ce226122aed5a28d64857d90f6ede40f2383dabd169 ti-sci-firmware-am64x-hs-enc.bin
> +sha256 1e78b106a8c7acd1641863ef86946e0d7272ad9b2d0e7ce451936d36a14e70e7 ti-sci-firmware-am64x_sr2-hs-cert.bin
> +sha256 c626bacd4abfbe4de1133b72568394a2e20dbe9a1623a3e77bae9f000e743bb4 ti-sci-firmware-am64x_sr2-hs-enc.bin
> +sha256 1d48d758d9ed940fe4072bd5b024ec502c72782ce2ca1c085f043f104a62ca70 ti-sci-firmware-am64x_sr2-hs-fs-cert.bin
> +sha256 1b22ba9ab5b94a9942e1f9c203b81733030c8bf4543a0aefffd200876a0c66eb ti-sci-firmware-am64x_sr2-hs-fs-enc.bin
I dropped all of those hashes for .bin files, now that these firmware
files are downloaded and installed by ti-k3-boot-firmware.
> diff --git a/boot/ti-k3-image-gen/ti-k3-image-gen.mk b/boot/ti-k3-image-gen/ti-k3-image-gen.mk
> new file mode 100644
> index 0000000000..cdeac13cfa
> --- /dev/null
> +++ b/boot/ti-k3-image-gen/ti-k3-image-gen.mk
> @@ -0,0 +1,71 @@
> +################################################################################
> +#
> +# ti-k3-image-gen
> +#
> +################################################################################
> +
> +TI_K3_IMAGE_GEN_VERSION = 08.06.00.007
> +TI_K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot
> +TI_K3_IMAGE_GEN_SOURCE = k3-image-gen-$(TI_K3_IMAGE_GEN_VERSION).tar.gz
> +TI_K3_IMAGE_GEN_LICENSE = BSD-3-Clause
> +TI_K3_IMAGE_GEN_LICENSE_FILES = LICENSE
> +TI_K3_IMAGE_GEN_INSTALL_IMAGES = YES
> +
> +# ti-k3-image-gen is used to build tiboot3.bin, using the r5-u-boot-spl.bin file
> +# from the ti-k3-r5-loader package. Hence the dependency on ti-k3-r5-loader.
> +TI_K3_IMAGE_GEN_DEPENDENCIES = host-arm-gnu-toolchain ti-k3-r5-loader
Changed to:
+# - ti-k3-image-gen is used to build tiboot3.bin, using the
+# r5-u-boot-spl.bin file from the ti-k3-r5-loader package. Hence the
+# dependency on ti-k3-r5-loader.
+# - the ti-k3-image-gen makefiles seem to need some feature from Make
+# v4.0, similar to u-boot.
+TI_K3_IMAGE_GEN_DEPENDENCIES = \
+ host-arm-gnu-toolchain \
+ host-python3 \
+ host-openssl \
+ host-uboot-tools \
+ ti-k3-r5-loader \
+ ti-k3-boot-firmware \
+ $(BR2_MAKE_HOST_DEPENDENCY)
We need host-python3 because ti-k3-image-gen contains Python scripts
executed on the host. We need host-openssl because the Makefile of
ti-k3-image-gen generates some SSL certificates using the openssl tool.
We need host-uboot-tools because the Makefile of ti-k3-image-gen
invokes mkimage. We need ti-k3-boot-firmware to have the ti-sysfw
firmware files installed. And we need $(BR2_MAKE_HOST_DEPENDENCY)
otherwise using $(BR2_MAKE) is not correct.
> +ifeq ($(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS),y)
> +TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,"ti-fs")
> +else ifeq ($(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI),y)
> +TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,"ti-sci")
> +else
> +$(error No TI K3 Image Gen firmware type set)
> +endif
Dropped, this is now done in Config.in based on the selected SoC.
> +TI_K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC))
> +TI_K3_IMAGE_GEN_SOC_TYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE))
> +TI_K3_IMAGE_GEN_CONFIG = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG))
I now have:
+TI_K3_IMAGE_GEN_FW_TYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE))
+TI_K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SOC))
+TI_K3_IMAGE_GEN_SECTYPE = $(call qstrip,$(BR2_TARGET_TI_K3_IMAGE_GEN_SECTYPE))
+
+TI_K3_IMAGE_GEN_SYSFW = $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SECTYPE).bin
> +# This hash comes from the Makefile in ti-k3-image-gen and corresponds to
> +# FW from Git tag 08.06.00.006
> +TI_K3_SYSFW_VERSION = 340194800a581baf976360386dfc7b5acab8d948
> +TI_K3_SYSFW_SITE = https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(TI_K3_SYSFW_VERSION)/ti-sysfw
> +ifeq ($(TI_K3_IMAGE_GEN_SOC_TYPE),gp)
> +TI_K3_SYSFW_SOURCE = \
> + $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE).bin
> +else
> +TI_K3_SYSFW_SOURCE = \
> + $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE)-cert.bin \
> + $(TI_K3_IMAGE_GEN_FW_TYPE)-firmware-$(TI_K3_IMAGE_GEN_SOC)-$(TI_K3_IMAGE_GEN_SOC_TYPE)-enc.bin
> +endif
> +TI_K3_IMAGE_GEN_EXTRA_DOWNLOADS = $(patsubst %,$(TI_K3_SYSFW_SITE)/%,$(TI_K3_SYSFW_SOURCE))
This has entirely been dropped, as it is done by the separate
ti-k3-boot-firmware package.
> +define TI_K3_SYSFW_COPY
> + $(foreach f,$(TI_K3_SYSFW_SOURCE), \
> + cp $(TI_K3_IMAGE_GEN_DL_DIR)/$(f) $(@D)$(sep))
> +endef
> +TI_K3_IMAGE_GEN_POST_EXTRACT_HOOKS += TI_K3_SYSFW_COPY
I've instead added a:
+define TI_K3_IMAGE_GEN_CONFIGURE_CMDS
+ cp $(BINARIES_DIR)/ti-sysfw/$(TI_K3_IMAGE_GEN_SYSFW) $(@D)
+endef
It needs to be a configure command and not a post-extract as the
firmware files are now built/installed by ti-k3-boot-firmware, and
build dependencies are only guaranteed to be ready before our configure
step.
> +
> +# The ti-k3-image-gen makefiles seem to need some feature from Make v4.0,
> +# similar to u-boot. Explicitly use $(BR2_MAKE) here, as the build
> +# otherwise fails with some misleading error message.
> +TI_K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
> +TI_K3_IMAGE_GEN_MAKE_OPTS = \
> + SOC=$(TI_K3_IMAGE_GEN_SOC) \
> + SOC_TYPE=$(TI_K3_IMAGE_GEN_SOC_TYPE) \
> + CONFIG=$(TI_K3_IMAGE_GEN_CONFIG) \
> + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
> + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
> + O=$(@D)/tmp \
> + BIN_DIR=$(@D)
> +
> +define TI_K3_IMAGE_GEN_BUILD_CMDS
> + $(TI_K3_IMAGE_GEN_MAKE) -C $(@D) $(TI_K3_IMAGE_GEN_MAKE_OPTS)
> +endef
The intermediate variables were not really useful, so changed to:
+define TI_K3_IMAGE_GEN_BUILD_CMDS
+ $(TARGET_MAKE_ENV) \
+ $(BR2_MAKE) -C $(@D) \
+ SOC=$(TI_K3_IMAGE_GEN_SOC) \
+ SOC_TYPE=$(TI_K3_IMAGE_GEN_SECTYPE) \
+ CONFIG=evm \
+ CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
+ SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
+ O=$(@D)/tmp \
+ BIN_DIR=$(@D)
+endef
The $(TARGET_MAKE_ENV) was also important as it allowed the build logic
to find our host tools in $(HOST_DIR)/bin, especially python3, mkimage
and openssl.
See the final commits of:
- ti-k3-boot-firmware:
https://gitlab.com/buildroot.org/buildroot/-/commit/2389c76a95725b91ba538b56fb7da70877c7d3ad
- ti-k3-image-gen:
https://gitlab.com/buildroot.org/buildroot/-/commit/6134872d2878f46f8f2800c81baf917281bc79b0
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 03/10] boot/uboot: add support for building the TI K3 DM into U-Boot
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
0 siblings, 0 replies; 32+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-22 10:31 UTC (permalink / raw)
To: Andreas Dannenberg via buildroot; +Cc: Andreas Dannenberg
Hello Andreas,
On Thu, 15 Jun 2023 19:23:52 -0500
Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> Certain TI K3 devices such as AM62x and AM62Ax require a Device Manager
> (DM) firmnware to be made available to the U-Boot build, which will get
> packaged into the "tispl.bin" image tree blob during A53 SPL build.
> Without that DM firmware U-Boot will not be functional. To support this,
> add a config option called BR2_TARGET_UBOOT_NEEDS_TI_K3_DM to enable
> this feature, and another option BR2_TARGET_UBOOT_TI_K3_DM_SOC to allow
> setting the name of the SOC which needs to match the corresponding
> folder name in the ti-linux-firmware Git repository.
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
I've also applied this patch to our next branch, with some changes. The
main one being that the U-Boot package is no longer responsible for
downloading the ti-dm firmware, it is now done by the separate
ti-k3-boot-firmware package.
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 085397d03d..7e1dd44196 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -240,6 +240,23 @@ config BR2_TARGET_UBOOT_NEEDS_OPTEE_TEE
> U-Boot, and that the TEE variable pointing to OPTEE's
> tee.elf, is passed during the Buildroot build.
>
> +config BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
> + bool "U-Boot needs TI K3 Device Manager (DM)"
> + help
> + Some TI K3 devices need the Device Manager (DM) firmware
> + to be available for the U-Boot build. Currently supports FW
> + from Git tag 08.06.00.006 by default.
> +
> + https://git.ti.com/cgit/processor-firmware/ti-linux-firmware/tree/ti-dm?h=ti-linux-firmware
> +
> +config BR2_TARGET_UBOOT_TI_K3_DM_SOC
> + string "TI K3 Device Manager (DM) SOC Type"
> + depends on BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
> + help
> + Name of the TI K3 Device Manager (DM) SOC. This needs to
> + match one of the SOC-specific folders in within the ti-dm
> + folder of the ti-linux-firmware Git repository.
Changed to:
+config BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
+ bool "U-Boot needs TI K3 Device Manager (DM)"
+ # We use the SoC selection defined for the ti-k3-image-gen
+ # package
+ depends on BR2_TARGET_TI_K3_IMAGE_GEN
+ depends on BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX || BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
+ help
+ Some TI K3 devices need the Device Manager (DM) firmware to
+ be available for the U-Boot build.
+
+if BR2_TARGET_UBOOT_NEEDS_TI_K3_DM
+
+config BR2_TARGET_UBOOT_TI_K3_DM_SOCNAME
+ string
+ default "am62axx" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
+ default "am62xx" if BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
+
+endif
Basically my idea here is to avoid replicating the selection of SoC,
which we have already defined in the ti-k3-image-gen configuration. So
we piggy-back on the options of this package to determine the SoC we're
working with.
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index 4eae8e95c3..48af69bd26 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -184,6 +184,22 @@ UBOOT_DEPENDENCIES += optee-os
> UBOOT_MAKE_OPTS += TEE=$(BINARIES_DIR)/tee.elf
> endif
>
> +ifeq ($(BR2_TARGET_UBOOT_NEEDS_TI_K3_DM),y)
> +# Currently supports the FW from Git tag 08.06.00.006 by default
> +TI_K3_DM_VERSION = 340194800a581baf976360386dfc7b5acab8d948
> +TI_K3_DM_SITE = https://git.ti.com/processor-firmware/ti-linux-firmware/blobs/raw/$(TI_K3_DM_VERSION)/ti-dm/$(BR2_TARGET_UBOOT_TI_K3_DM_SOC)
> +TI_K3_DM_SOURCE = ipc_echo_testb_mcu1_0_release_strip.xer5f
> +# This is not really nice but disable the hash check for the DM FW file. Main
> +# reason is all those DM FW files for different SoCs have the same(!) name in
> +# the Git repository they reside in, so it would be more difficult to distinguish
> +# between them for hash checking purposes. To work around this let's just
> +# rely and trust the official Git repo at ti.com is known-good which is also
> +# accessed through a secure transport.
> +BR_NO_CHECK_HASH_FOR += $(TI_K3_DM_SOURCE)
> +UBOOT_EXTRA_DOWNLOADS = $(TI_K3_DM_SITE)/$(TI_K3_DM_SOURCE)
> +UBOOT_MAKE_OPTS += DM=$(UBOOT_DL_DIR)/$(TI_K3_DM_SOURCE)
> +endif
Simplified to:
+ifeq ($(BR2_TARGET_UBOOT_NEEDS_TI_K3_DM),y)
+UBOOT_TI_K3_DM_SOCNAME = $(call qstrip,$(BR2_TARGET_UBOOT_TI_K3_DM_SOCNAME))
+UBOOT_DEPENDENCIES += ti-k3-boot-firmware
+UBOOT_MAKE_OPTS += DM=$(BINARIES_DIR)/ti-dm/$(UBOOT_TI_K3_DM_SOCNAME)/ipc_echo_testb_mcu1_0_release_strip.xer5f
+endif
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 04/10] board/ti/am64x_sk: add new board
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
0 siblings, 0 replies; 32+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-22 10:32 UTC (permalink / raw)
To: Andreas Dannenberg via buildroot
Cc: Bryan Brattlof, Andrew Davis, Julien Olivain, Xuanhao Shi,
Giulio Benetti, Anand Gadiyar, Romain Naour, Andreas Dannenberg
On Thu, 15 Jun 2023 19:23:53 -0500
Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> From: Xuanhao Shi <x-shi@ti.com>
>
> Adds support for TI's SK-AM64 board by introducing the
> am64x_sk_defconfig file and related support files.
>
> More information about the board can be found at:
> https://www.ti.com/tool/SK-AM64
>
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Acked-by: Andrew Davis <afd@ti.com>
> Tested-by: Bryan Brattlof <bb@ti.com>
> Cc: Romain Naour <romain.naour@gmail.com>
> Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
> Reviewed-by: Julien Olivain <ju.o@free.fr>
Thanks, I've applied to our next branch, with some minor changes:
- Defconfig renamed to ti_am64k_sk_defconfig
- Directory board/ti/am64k_sk renamed to board/ti/am64k-sk
- Defconfig updated to take into account the changes made in the
previous patches in terms of config options
- Minor formatting improvement in the readme.txt
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 05/10] board/ti/am62x_sk: add new board
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
0 siblings, 0 replies; 32+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-22 10:32 UTC (permalink / raw)
To: Andreas Dannenberg via buildroot; +Cc: Xuanhao Shi, Andreas Dannenberg
On Thu, 15 Jun 2023 19:23:54 -0500
Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> From: Xuanhao Shi <x-shi@ti.com>
>
> Adds support for TI's SK-AM62 board by introducing the
> am62x_sk_defconfig file and related support files.
>
> More information about the board can be found at:
> https://www.ti.com/tool/SK-AM62
>
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> DEVELOPERS | 4 +++
> board/ti/am62x_sk/genimage.cfg | 27 ++++++++++++++++++++
> board/ti/am62x_sk/readme.txt | 26 ++++++++++++++++++++
> configs/am62x_sk_defconfig | 45 ++++++++++++++++++++++++++++++++++
> 4 files changed, 102 insertions(+)
> create mode 100644 board/ti/am62x_sk/genimage.cfg
> create mode 100644 board/ti/am62x_sk/readme.txt
> create mode 100644 configs/am62x_sk_defconfig
Thanks, I've applied to our next branch, with some minor changes:
- Defconfig renamed to ti_am62k_sk_defconfig
- Directory board/ti/am62k_sk renamed to board/ti/am62k-sk
- Defconfig updated to take into account the changes made in the
previous patches in terms of config options
- Minor formatting improvement in the readme.txt
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package
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
0 siblings, 1 reply; 32+ messages in thread
From: Romain Naour @ 2023-12-12 13:14 UTC (permalink / raw)
To: Thomas Petazzoni, Andreas Dannenberg via buildroot
Cc: Bryan Brattlof, Andrew Davis, Julien Olivain, Xuanhao Shi,
Giulio Benetti, Andreas Dannenberg, Romain Naour, Anand Gadiyar
Hello,
Le 22/08/2023 à 12:29, Thomas Petazzoni via buildroot a écrit :
> Hello Andreas,
>
> On Thu, 15 Jun 2023 19:23:51 -0500
> Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
>
>> From: Xuanhao Shi <x-shi@ti.com>
>>
>> This is the image generator that builds the initial boot binary,
>> tiboot3.bin, for the R5 core on TI's K3 family of devices.
>> This requires the R5 SPL output from the ti-k3-r5-loader package.
>>
>> https://git.ti.com/cgit/k3-image-gen/k3-image-gen
>>
>> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
>> Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
>> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
>> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> Acked-by: Andrew Davis <afd@ti.com>
>> Tested-by: Bryan Brattlof <bb@ti.com>
>> Cc: Romain Naour <romain.naour@gmail.com>
>> Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
>> Reviewed-by: Julien Olivain <ju.o@free.fr>
>
> I have applied this, but after doing a lot of changes.
Indeed, TI k3 is really complex to follow.
I have on remark below.
>
> The first major change is that I have created a
> boot/ti-k3-boot-firmware/ package that is responsible for downloading
> the ti-sysfw and ti-dm firmware files, and installing them in
> $(BINARIES_DIR). Indeed your solution of downloading them directly from
> ti-k3-image-gen (for ti-sysfw) and from uboot (for ti-dm) really wasn't
> very clean, and it didn't allow to associate those firmware files to
> their license, which is quite important considering they are
> closed-source binary blobs.
>
> In boot/ti-k3-boot-firmware/, I hesitated a long time between
> downloading only the firmware files themselves directly, or downloading
> the whole repository. In the end, I opted for downloading the whole
> repository. Indeed, the firmware files themselves don't have a version
> number in their file name, so once they land in the download directory,
> we cannot have multiple versions of the firmware files sitting side by
> side. Yes, the hash would detect that a firmware file is no longer
> correct and needs to be re-downloaded. But if you alternate between
> Buildroot versions that use different firmware versions, it would
> constantly get an invalid and redownload, which I found not very nice.
> So, this package download the monster 200+ MB .tar.gz, only to extra a
> few hundreds of KBs of firmware files.
>
>
>> diff --git a/boot/ti-k3-image-gen/Config.in b/boot/ti-k3-image-gen/Config.in
>> new file mode 100644
>> index 0000000000..97cb470119
>> --- /dev/null
>> +++ b/boot/ti-k3-image-gen/Config.in
>> @@ -0,0 +1,55 @@
>> +config BR2_TARGET_TI_K3_IMAGE_GEN
>> + bool "ti-k3-image-gen"
>> + depends on BR2_TARGET_TI_K3_R5_LOADER
>
> Changed to:
>
> + depends on BR2_TARGET_TI_K3_R5_LOADER
> + select BR2_TARGET_TI_K3_BOOT_FIRMWARE
> + # We need FIT support in uboot-tools, which is why we select a
> + # host package
> + select BR2_PACKAGE_HOST_UBOOT_TOOLS
> + select BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT
>
>> + help
>> + Use TI's k3-image-gen to build a separate bare metal
>> + boot binary from a separate SPL that is running on
>> + the R5 core. Currently supports version 08.06.00.007
>> + as default.
>
> Remove the reference to the version. We don't want to update the
> Config.in help text when we update the package version.
>
>
>> +if BR2_TARGET_TI_K3_IMAGE_GEN
>> +choice
>> + prompt "SoC firmware type for image gen"
>> + default BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
>> +
>> +config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TIFS
>> + bool "Firmware type TIFS"
>> + help
>> + Use firmware type TIFS for SoCs like AM62x and
>> + AM62Ax.
>> +
>> +config BR2_TARGET_TI_K3_IMAGE_GEN_FW_TYPE_TISCI
>> + bool "Firmware type TISCI"
>> + help
>> + Use firmware type TISCI for SoCs like AM64x and
>> + AM65x.
>> +
>> +endchoice
>> +
>> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC
>> + string "SoC"
>> + help
>> + The target SoC option for image gen.
>> + For example, "am64x" for AM64x boards.
>> +
>> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_TYPE
>> + string "security type"
>> + help
>> + The target SoC security type option for image gen.
>> + Valid options are "gp" for General Purpose devices,
>> + "hs-fs" for High Security - Field Securable devices, or
>> + "hs" for High Security - Security Enforcing devices.
>> + Note for all High Security device variants the
>> + TI_SECURE_DEV_PKG environmental variable must be defined
>> + at build time pointing to a valid core-secdev-k3 folder
>> + location, otherwise the build will fail, see
>> + https://git.ti.com/cgit/security-development-tools/core-secdev-k3
>> +
>> +config BR2_TARGET_TI_K3_IMAGE_GEN_CONFIG
>> + string "config type"
>> + help
>> + The board config option for image gen.
>> + Usually "sk" or "evm".
>> +endif
>
> I've changed this whole thing to use choices for the SoC and security
> type. For the "config type", it was always "evm" for now, and the
> firmware files only exist for "evm", so I dropped this option and
> simply hardcoded "evm" in the package. It can always be revisited later
> on. So it looks like this:
>
> +if BR2_TARGET_TI_K3_IMAGE_GEN
> +choice
> + prompt "SoC family"
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
> + bool "am62ax"
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
> + bool "am62x"
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
> + bool "am64x"
> +
> +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
> + bool "am65x"
I don't think AM65x can build here due to a ti-k3-image-gen check [1]
Indeed AM65X SoC doesn't support "combined boot image" so it requires to not
define SBL image.
I beleive we need an option to explicitely support "combined boot flow only SoC"
or "combined boot flow not supported at all by the SoC" or "combined or
non-combined boot flow supported by the SoC"
[1]
https://git.ti.com/cgit/k3-image-gen/k3-image-gen/tree/Makefile?h=09.00.00.001#n164
> +
> +endchoice
> +
[...]
>
>> +
>> +# The ti-k3-image-gen makefiles seem to need some feature from Make v4.0,
>> +# similar to u-boot. Explicitly use $(BR2_MAKE) here, as the build
>> +# otherwise fails with some misleading error message.
>> +TI_K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
>> +TI_K3_IMAGE_GEN_MAKE_OPTS = \
>> + SOC=$(TI_K3_IMAGE_GEN_SOC) \
>> + SOC_TYPE=$(TI_K3_IMAGE_GEN_SOC_TYPE) \
>> + CONFIG=$(TI_K3_IMAGE_GEN_CONFIG) \
>> + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
>> + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
>> + O=$(@D)/tmp \
>> + BIN_DIR=$(@D)
>> +
>> +define TI_K3_IMAGE_GEN_BUILD_CMDS
>> + $(TI_K3_IMAGE_GEN_MAKE) -C $(@D) $(TI_K3_IMAGE_GEN_MAKE_OPTS)
>> +endef
>
> The intermediate variables were not really useful, so changed to:
>
> +define TI_K3_IMAGE_GEN_BUILD_CMDS
> + $(TARGET_MAKE_ENV) \
> + $(BR2_MAKE) -C $(@D) \
> + SOC=$(TI_K3_IMAGE_GEN_SOC) \
> + SOC_TYPE=$(TI_K3_IMAGE_GEN_SECTYPE) \
> + CONFIG=evm \
> + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
> + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \SBL image is defined here, so it can't work for an AM65X SoC (like for j721e
SoC) because the SoC cannot build combined boot image (SBL must not be defined).
I have a SK-TDA4VM board (j721e SoC) and I'd like to rework theses ti-k3
packages for this SoC but it fail before reaching u-boot on A72 core.
I hope to have some spare time to take a look at the issue.
Best regards,
Romain
> + O=$(@D)/tmp \
> + BIN_DIR=$(@D)
> +endef
>
> The $(TARGET_MAKE_ENV) was also important as it allowed the build logic
> to find our host tools in $(HOST_DIR)/bin, especially python3, mkimage
> and openssl.
>
> See the final commits of:
>
> - ti-k3-boot-firmware:
> https://gitlab.com/buildroot.org/buildroot/-/commit/2389c76a95725b91ba538b56fb7da70877c7d3ad
>
> - ti-k3-image-gen:
> https://gitlab.com/buildroot.org/buildroot/-/commit/6134872d2878f46f8f2800c81baf917281bc79b0
>
> Best regards,
>
> Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [Buildroot] [PATCH v8 02/10] boot/ti-k3-image-gen: new package
2023-12-12 13:14 ` Romain Naour
@ 2023-12-13 4:31 ` Bryan Brattlof via buildroot
0 siblings, 0 replies; 32+ messages in thread
From: Bryan Brattlof via buildroot @ 2023-12-13 4:31 UTC (permalink / raw)
To: Romain Naour
Cc: Andrew Davis, Julien Olivain, Xuanhao Shi, Thomas Petazzoni,
Andreas Dannenberg via buildroot, Giulio Benetti,
Andreas Dannenberg, Romain Naour, Anand Gadiyar
On December 12, 2023 thus sayeth Romain Naour:
> Hello,
>
> Le 22/08/2023 à 12:29, Thomas Petazzoni via buildroot a écrit :
> > Hello Andreas,
> >
> > On Thu, 15 Jun 2023 19:23:51 -0500
> > Andreas Dannenberg via buildroot <buildroot@buildroot.org> wrote:
> >
> >> From: Xuanhao Shi <x-shi@ti.com>
> >>
> >> This is the image generator that builds the initial boot binary,
> >> tiboot3.bin, for the R5 core on TI's K3 family of devices.
> >> This requires the R5 SPL output from the ti-k3-r5-loader package.
> >>
> >> https://git.ti.com/cgit/k3-image-gen/k3-image-gen
> >>
> >> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> >> Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
> >> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> >> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> >> Acked-by: Andrew Davis <afd@ti.com>
> >> Tested-by: Bryan Brattlof <bb@ti.com>
> >> Cc: Romain Naour <romain.naour@gmail.com>
> >> Reviewed-by: Francois Perrad <francois.perrad@gadz.org>
> >> Reviewed-by: Julien Olivain <ju.o@free.fr>
> >
> > I have applied this, but after doing a lot of changes.
>
> Indeed, TI k3 is really complex to follow.
> I have on remark below.
>
...
> >
> > I've changed this whole thing to use choices for the SoC and security
> > type. For the "config type", it was always "evm" for now, and the
> > firmware files only exist for "evm", so I dropped this option and
> > simply hardcoded "evm" in the package. It can always be revisited later
> > on. So it looks like this:
> >
> > +if BR2_TARGET_TI_K3_IMAGE_GEN
> > +choice
> > + prompt "SoC family"
> > +
> > +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62AX
> > + bool "am62ax"
> > +
> > +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM62X
> > + bool "am62x"
> > +
> > +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM64X
> > + bool "am64x"
> > +
> > +config BR2_TARGET_TI_K3_IMAGE_GEN_SOC_AM65X
> > + bool "am65x"
>
> I don't think AM65x can build here due to a ti-k3-image-gen check [1]
>
> Indeed AM65X SoC doesn't support "combined boot image" so it requires to not
> define SBL image.
>
> I beleive we need an option to explicitely support "combined boot flow only SoC"
> or "combined boot flow not supported at all by the SoC" or "combined or
> non-combined boot flow supported by the SoC"
>
> [1]
> https://git.ti.com/cgit/k3-image-gen/k3-image-gen/tree/Makefile?h=09.00.00.001#n164
>
One of the cooler things from U-Boot is the binman system[0] that a few
Ti'ers have been porting most of this scripting over to utilize. More
modern releases of U-Boot (i think 2023.04 iirc) shouldn't need
k3-image-gen anymore.
But yeah the J721e (BeagleBone AI64) will have this issue as well.
> > +
> > +endchoice
> > +
>
> [...]
>
> >
> >> +
> >> +# The ti-k3-image-gen makefiles seem to need some feature from Make v4.0,
> >> +# similar to u-boot. Explicitly use $(BR2_MAKE) here, as the build
> >> +# otherwise fails with some misleading error message.
> >> +TI_K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
> >> +TI_K3_IMAGE_GEN_MAKE_OPTS = \
> >> + SOC=$(TI_K3_IMAGE_GEN_SOC) \
> >> + SOC_TYPE=$(TI_K3_IMAGE_GEN_SOC_TYPE) \
> >> + CONFIG=$(TI_K3_IMAGE_GEN_CONFIG) \
> >> + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
> >> + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \
> >> + O=$(@D)/tmp \
> >> + BIN_DIR=$(@D)
> >> +
> >> +define TI_K3_IMAGE_GEN_BUILD_CMDS
> >> + $(TI_K3_IMAGE_GEN_MAKE) -C $(@D) $(TI_K3_IMAGE_GEN_MAKE_OPTS)
> >> +endef
> >
> > The intermediate variables were not really useful, so changed to:
> >
> > +define TI_K3_IMAGE_GEN_BUILD_CMDS
> > + $(TARGET_MAKE_ENV) \
> > + $(BR2_MAKE) -C $(@D) \
> > + SOC=$(TI_K3_IMAGE_GEN_SOC) \
> > + SOC_TYPE=$(TI_K3_IMAGE_GEN_SECTYPE) \
> > + CONFIG=evm \
> > + CROSS_COMPILE=$(HOST_DIR)/bin/arm-none-eabi- \
> > + SBL=$(BINARIES_DIR)/r5-u-boot-spl.bin \SBL image is defined here, so it can't work for an AM65X SoC (like for j721e
> SoC) because the SoC cannot build combined boot image (SBL must not be defined).
>
> I have a SK-TDA4VM board (j721e SoC) and I'd like to rework theses ti-k3
> packages for this SoC but it fail before reaching u-boot on A72 core.
(What I get for responding while I read) Yeah we will crash when we
can't load the firmware in the sysfw.itb binary. The am65x and j721e are
the only 2 K3 generation SoCs to load firmware this way, making them
kinda and edge case.
>
> I hope to have some spare time to take a look at the issue.
>
Whenever I find some idle cycles I wanted to start reworking the U-Boot
and the ti-k3-r5-loader to take advantage of binman.
I have a _very_ rough idea of how to do this as an BR2_EXTERNAL tree
here[1] if you need something now but my hope is to get my garbage
cleaned up and merged rather than ppl start using what I have ;)
[0]https://docs.u-boot.org/en/latest/develop/package/binman.html#using-binman
[1]https://git.sr.ht/~bryanb/ti-buildroot
~Bryan
_______________________________________________
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