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

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

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

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

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

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

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

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

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

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

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

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

-- 
2.17.1

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

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

* [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection
  2022-07-26 16:50 [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs Xuanhao Shi via buildroot
@ 2022-07-26 16:50 ` Xuanhao Shi via buildroot
  2022-07-26 17:37   ` Thomas Petazzoni via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 2/4] package/k3-image-gen: new package Xuanhao Shi via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 16:50 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Suniel Mahesh

Adds a way to select a custom toolchain link and
source instead of always using verion 11.2 due
to bugs in the newest version.

Signed-off-by: Xuanhao Shi <x-shi@ti.com>
---
 package/Config.in.host                        |  1 +
 package/arm-gnu-toolchain/Config.in.host      | 38 +++++++++++++++++++
 .../arm-gnu-toolchain/arm-gnu-toolchain.mk    |  7 ++++
 3 files changed, 46 insertions(+)
 create mode 100644 package/arm-gnu-toolchain/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index 8078a8304d..ef04cba755 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -3,6 +3,7 @@ menu "Host utilities"
 	source "package/abootimg/Config.in.host"
 	source "package/aespipe/Config.in.host"
 	source "package/android-tools/Config.in.host"
+	source "package/arm-gnu-toolchain/Config.in.host"
 	source "package/asn1c/Config.in.host"
 	source "package/babeltrace2/Config.in.host"
 	source "package/bmap-tools/Config.in.host"
diff --git a/package/arm-gnu-toolchain/Config.in.host b/package/arm-gnu-toolchain/Config.in.host
new file mode 100644
index 0000000000..25d0af1d04
--- /dev/null
+++ b/package/arm-gnu-toolchain/Config.in.host
@@ -0,0 +1,38 @@
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
+	bool "host arm-gnu-toolchain"
+	help
+	  Separate ARM32 cross-compilation toolchain 
+	  for some AArch64 platforms.
+
+menu "host arm-gnu-toolchain version"
+	depends on BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
+
+choice
+	bool "host arm-gnu-toolchain version"
+
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_DEFAULT
+	bool "Version 11.2-2022.02"
+	help
+	  Use version 11.2.
+
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM
+	bool "Custom archived sources"
+	help
+	  Specify custom archive for the toolchain.
+
+endchoice
+
+if BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM
+
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SITE
+	string "Site of the toolchain"
+
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SOURCE
+	string "Source of the toolchain"
+
+config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_LICENSE
+	string "License of the toolchain"
+
+endif
+
+endmenu
diff --git a/package/arm-gnu-toolchain/arm-gnu-toolchain.mk b/package/arm-gnu-toolchain/arm-gnu-toolchain.mk
index 3bfd516751..d9454f70cc 100644
--- a/package/arm-gnu-toolchain/arm-gnu-toolchain.mk
+++ b/package/arm-gnu-toolchain/arm-gnu-toolchain.mk
@@ -4,10 +4,17 @@
 #
 ################################################################################
 
+ifeq ($(BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM),y)
+ARM_GNU_TOOLCHAIN_SITE = $(call qstrip,$(BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SITE))
+ARM_GNU_TOOLCHAIN_SOURCE = $(call qstrip,$(BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SOURCE))
+ARM_GNU_TOOLCHAIN_LICENSE = $(call qstrip,$(BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_LICENSE))
+BR_NO_CHECK_HASH_FOR += $(ARM_GNU_TOOLCHAIN_SOURCE)
+else
 ARM_GNU_TOOLCHAIN_VERSION = 11.2-2022.02
 ARM_GNU_TOOLCHAIN_SITE = https://developer.arm.com/-/media/Files/downloads/gnu/$(ARM_GNU_TOOLCHAIN_VERSION)/binrel/
 ARM_GNU_TOOLCHAIN_SOURCE = gcc-arm-$(ARM_GNU_TOOLCHAIN_VERSION)-x86_64-arm-none-eabi.tar.xz
 ARM_GNU_TOOLCHAIN_LICENSE = GPL-3.0+
+endif
 
 HOST_ARM_GNU_TOOLCHAIN_INSTALL_DIR = $(HOST_DIR)/opt/gcc-arm-none-eabi
 
-- 
2.17.1

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

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

* [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 16:50 [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs Xuanhao Shi via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection Xuanhao Shi via buildroot
@ 2022-07-26 16:50 ` Xuanhao Shi via buildroot
  2022-07-26 18:55   ` Thomas Petazzoni via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 3/4] board/am6x: add new board support Xuanhao Shi via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig Xuanhao Shi via buildroot
  3 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 16:50 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Suniel Mahesh

k3-image-gen is a package that helps support TI's k3 SoCs
by building a separate boot binary, tiboot3.bin, on the R core.

https://git.ti.com/cgit/k3-image-gen/k3-image-gen/about/
Signed-off-by: Xuanhao Shi <x-shi@ti.com>
---
 package/Config.in                      |  1 +
 package/k3-image-gen/Config.in         | 37 ++++++++++++++++++++++
 package/k3-image-gen/k3-image-gen.hash |  2 ++
 package/k3-image-gen/k3-image-gen.mk   | 43 ++++++++++++++++++++++++++
 4 files changed, 83 insertions(+)
 create mode 100644 package/k3-image-gen/Config.in
 create mode 100644 package/k3-image-gen/k3-image-gen.hash
 create mode 100644 package/k3-image-gen/k3-image-gen.mk

diff --git a/package/Config.in b/package/Config.in
index d264449b30..c8a3967f55 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -509,6 +509,7 @@ endmenu
 	source "package/ipmiutil/Config.in"
 	source "package/irda-utils/Config.in"
 	source "package/iucode-tool/Config.in"
+	source "package/k3-image-gen/Config.in"
 	source "package/kbd/Config.in"
 	source "package/lcdproc/Config.in"
 	source "package/libiec61850/Config.in"
diff --git a/package/k3-image-gen/Config.in b/package/k3-image-gen/Config.in
new file mode 100644
index 0000000000..3522382677
--- /dev/null
+++ b/package/k3-image-gen/Config.in
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_K3_IMAGE_GEN
+	bool "k3-image-gen"
+	help
+	  Using TI's k3-image-gen to build a separate bare metal
+	  boot binary from a separate spl. Currently supports
+	  version 08.04.00.004 as default.
+
+	  https://git.ti.com/cgit/k3-image-gen/k3-image-gen/
+
+menu "U-Boot SPL Build Options"
+	depends on BR2_PACKAGE_K3_IMAGE_GEN
+
+config BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG
+	string "U-Boot SPL defconfig for image gen"
+	help
+	  This is the defconfig without the suffix for the separate SPL.
+	  For example, "am64x_evm_r5" for AM64X boards.
+
+endmenu
+
+menu "k3-image-gen Build Options"
+	depends on BR2_PACKAGE_K3_IMAGE_GEN
+
+config BR2_PACKAGE_K3_IMAGE_GEN_SOC
+	string "SOC type for image gen"
+	help
+	  The target board option for image gen.
+	  For example, "am64x" for AM64X boards.
+
+config BR2_PACKAGE_K3_IMAGE_GEN_CONFIG
+	string "CONFIG type for image gen"
+	help
+	  The board config option for image gen.
+	  Usually "sk" or "evm".
+
+endmenu
+
diff --git a/package/k3-image-gen/k3-image-gen.hash b/package/k3-image-gen/k3-image-gen.hash
new file mode 100644
index 0000000000..393c7726cd
--- /dev/null
+++ b/package/k3-image-gen/k3-image-gen.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 8446d4f169b894304593f0c325028f25e401d0b793d6fd3aa9efa3da937222d2  k3-image-gen-08.04.00.004.tar.gz
diff --git a/package/k3-image-gen/k3-image-gen.mk b/package/k3-image-gen/k3-image-gen.mk
new file mode 100644
index 0000000000..5449a2d0a5
--- /dev/null
+++ b/package/k3-image-gen/k3-image-gen.mk
@@ -0,0 +1,43 @@
+################################################################################
+#
+#k3-image-gen
+#
+################################################################################
+
+K3_IMAGE_GEN_VERSION = 08.04.00.004
+K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot
+K3_IMAGE_GEN_SOURCE = k3-image-gen-$(K3_IMAGE_GEN_VERSION).tar.gz
+K3_IMAGE_GEN_LICENSE = GPL-2.0+
+
+K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
+
+K3_IMAGE_GEN_UBOOT_SPL_ARCH = arm
+K3_IMAGE_GEN_UBOOT_SPL_CROSS = \
+$(HOST_ARM_GNU_TOOLCHAIN_INSTALL_DIR)/bin/arm-none-eabi-
+K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG = \
+$(call qstrip, $(BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG))_defconfig
+
+K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_PACKAGE_K3_IMAGE_GEN_SOC))
+K3_IMAGE_GEN_CONFIG = $(call qstrip,$(BR2_PACKAGE_K3_IMAGE_GEN_CONFIG))
+
+K3_IMAGE_GEN_DEPENDENCIES += host-arm-gnu-toolchain uboot
+
+K3_IMAGE_GEN_MAKE_OPTS += \
+	SOC=$(K3_IMAGE_GEN_SOC) \
+	CONFIG=$(K3_IMAGE_GEN_CONFIG) \
+	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS) \
+	SBL=$(BINARIES_DIR)/u-boot-spl.bin \
+	O=$(BINARIES_DIR) \
+	BIN_DIR=$(BINARIES_DIR) 
+
+define K3_IMAGE_GEN_BUILD_CMDS
+	$(UBOOT_MAKE) -C $(BUILD_DIR)/uboot* ARCH=$(K3_IMAGE_GEN_UBOOT_SPL_ARCH) \
+	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS) $(K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG)
+	$(UBOOT_MAKE) -C $(BUILD_DIR)/uboot* ARCH=$(K3_IMAGE_GEN_UBOOT_SPL_ARCH) \
+	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS)
+	cp $(BUILD_DIR)/uboot*/spl/u-boot-spl.bin $(BINARIES_DIR)
+	$(K3_IMAGE_GEN_MAKE) -C $(@D) $(K3_IMAGE_GEN_MAKE_OPTS)
+	cp $(@D)/tiboot3.bin $(BINARIES_DIR)
+endef
+
+$(eval $(generic-package))
-- 
2.17.1

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

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

* [Buildroot] [PATCH 3/4] board/am6x: add new board support
  2022-07-26 16:50 [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs Xuanhao Shi via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection Xuanhao Shi via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 2/4] package/k3-image-gen: new package Xuanhao Shi via buildroot
@ 2022-07-26 16:50 ` Xuanhao Shi via buildroot
  2022-07-26 18:58   ` Thomas Petazzoni via buildroot
  2022-07-26 16:50 ` [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig Xuanhao Shi via buildroot
  3 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 16:50 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Suniel Mahesh

Adds the board support for TI's AM6X SoCs after patch,
Currently just AM64X to start.

Signed-off-by: Xuanhao Shi <x-shi@ti.com>
---
 .../linux/ti_sdk_arm64_release_defconfig      | 1983 +++++++++++++++++
 board/am6x/genimage.cfg                       |   27 +
 board/am6x/readme.txt                         |   41 +
 3 files changed, 2051 insertions(+)
 create mode 100644 board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
 create mode 100644 board/am6x/genimage.cfg
 create mode 100644 board/am6x/readme.txt

diff --git a/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
new file mode 100644
index 0000000000..7000ee1170
--- /dev/null
+++ b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
@@ -0,0 +1,1983 @@
+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_V3=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_CGROUP_HUGETLB=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_ARM_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE=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_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_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_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_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_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_SDR_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_DVB_NET is not set
+CONFIG_VIDEO_RCAR_CSI2=m
+CONFIG_VIDEO_RCAR_VIN=m
+CONFIG_VIDEO_SUN6I_CSI=m
+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_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_SND_HDA_TEGRA=m
+CONFIG_SND_HDA_CODEC_HDMI=m
+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_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WM8904=m
+CONFIG_SND_SOC_WSA881X=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_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_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_ARCH_K3_AM6_SOC=y
+CONFIG_ARCH_K3_J721E_SOC=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_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_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_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
+
+CONFIG_DEBUG_INFO=n
+##################################################
+# TI Baseport Config Options
+##################################################
+
+# Serial
+CONFIG_SERIAL_8250_OMAP=y
+CONFIG_SERIAL_8250_NR_UARTS=10
+CONFIG_SERIAL_8250_RUNTIME_UARTS=10
+
+# K3 Power config options
+CONFIG_PM=y
+CONFIG_TI_MESSAGE_MANAGER=y
+CONFIG_TI_SCI_PROTOCOL=y
+CONFIG_TI_SCI_PM_DOMAINS=y
+CONFIG_TI_SCI_CLK=y
+
+# Enable Reset Controllers
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_TI_SYSCON=y
+CONFIG_RESET_TI_SCI=y
+
+# Enable Interrupt Controllers
+CONFIG_TI_SCI_INTR_IRQCHIP=y
+CONFIG_TI_SCI_INTA_IRQCHIP=y
+
+# Enable options for NAVSS (DMA support)
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+
+# OPTEE Driver
+CONFIG_TEE=y
+CONFIG_OPTEE=y
+
+#-----
+# Generic Kernel Options
+#-----
+
+# Enable process accounting
+CONFIG_BSD_PROCESS_ACCT=y
+
+# Enable support for perf
+CONFIG_PERF_EVENTS=y
+
+# Have some way to pick up kernel config later on
+# Always useful to look at /proc/config.gz
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+
+# Add Bin2c
+CONFIG_BUILD_BIN2C=y
+
+# Add base Cgroups functions
+CONFIG_CGROUP_DEBUG=n
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_PAGE_COUNTER=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_MEMCG_SWAP_ENABLED=y
+CONFIG_DEBUG_BLK_CGROUP=n
+CONFIG_CGROUP_WRITEBACK=y
+
+# Choose CONFIG_EMBEDDED
+CONFIG_EMBEDDED=y
+CONFIG_EXPERT=y
+
+# Enable all kernel symbols please
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+
+# How do we want kernel Modules to work?
+CONFIG_BASE_FULL=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_MODULE_SIG=n
+CONFIG_MODULE_COMPRESS=n
+CONFIG_MODULES_TREE_LOOKUP=y
+
+# Boot options
+CONFIG_CMDLINE=""
+CONFIG_CMDLINE_FORCE=n
+CONFIG_CRASH_DUMP=n
+CONFIG_AUTO_ZRELADDR=y
+
+# Mem allocator
+CONFIG_SLAB=n
+CONFIG_SLUB=y
+CONFIG_SLUB_DEBUG=n
+
+# Enable EFI
+# Sane configurations are enabled via CONFIG_EFI on ARM64
+CONFIG_EFI=y
+
+# Pinctrl
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_SINGLE=y
+
+# GPIO
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_DAVINCI=y
+
+# Crypto SA2UL
+CONFIG_CRYPTO_DEV_SA2UL=m
+
+# Enable options to facilitate testing
+CONFIG_CRYPTO_TEST=m
+
+# Pseudo filesystems
+
+# 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
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+
+# Watchdog support
+CONFIG_K3_RTI_WATCHDOG=m
+
+# RTC Drivers
+CONFIG_RTC_DRV_TI_K3=y
+
+# 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
+##################################################
+# 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_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_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
+#Disable unused SPI controllers
+CONFIG_SPI_BITBANG=n
+CONFIG_SPI_CADENCE=n
+CONFIG_SPI_ROCKCHIP=n
+CONFIG_SPI_XILINX=n
+CONFIG_SPI_SPIDEV=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
+
+# 1-wire Bus Masters
+CONFIG_W1=m
+CONFIG_HDQ_MASTER_OMAP=m
+
+# Matrix keypad
+CONFIG_KEYBOARD_MATRIX=m
+
+#Touchscreen/ADC
+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
+##################################################
+# TI Audio/Display config options
+##################################################
+
+CONFIG_CMA=y
+CONFIG_DMA_CMA=y
+CONFIG_CMA_SIZE_MBYTES=144
+
+# 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
+
+# drm
+
+CONFIG_DRM=y
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+CONFIG_DRM_SII902X=y
+CONFIG_DRM_TI_TFP410=y
+CONFIG_DRM_TI_TPD12S015=y
+CONFIG_DRM_LVDS_CODEC=y
+CONFIG_DRM_TOSHIBA_TC358767=y
+CONFIG_DRM_TOSHIBA_TC358768=y
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
+# Firmware loading only works if built as module
+CONFIG_DRM_CDNS_MHDP8546=m
+CONFIG_DRM_CDNS_DSI=n
+
+CONFIG_PHY_J721E_WIZ=y
+CONFIG_PHY_CADENCE_TORRENT=y
+
+# SGX driver needs legacy support
+CONFIG_DRM_LEGACY=y
+CONFIG_DRM_VM=y
+
+# tilcdc
+
+CONFIG_DRM_I2C_NXP_TDA998X=y
+CONFIG_DRM_TILCDC=y
+
+# omapdrm
+
+CONFIG_DRM_OMAP=y
+CONFIG_DRM_OMAP_WB=y
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_DSS_DEBUGFS=y
+CONFIG_OMAP2_DSS_DPI=y
+CONFIG_OMAP2_DSS_VENC=n
+CONFIG_OMAP4_DSS_HDMI=y
+CONFIG_OMAP5_DSS_HDMI=y
+CONFIG_OMAP2_DSS_SDI=n
+CONFIG_OMAP2_DSS_DSI=n
+
+# tidss
+CONFIG_DRM_TIDSS=y
+CONFIG_DRM_TIDSS_WB=y
+CONFIG_DRM_TIDSS_DSS6=y
+CONFIG_DRM_TIDSS_DSS7=y
+
+# Disable unneeded features
+
+CONFIG_VGA_ARB=n
+CONFIG_DRM_I2C_ADV7511=n
+CONFIG_DRM_NOUVEAU=n
+CONFIG_DRM_EXYNOS=n
+CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=n
+CONFIG_DRM_NXP_PTN3460=n
+CONFIG_DRM_PARADE_PS8622=n
+CONFIG_DRM_STI=n
+CONFIG_DRM_PANEL_SAMSUNG_LD9040=n
+CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=n
+CONFIG_DRM_DUMB_VGA_DAC=n
+CONFIG_LCD_CLASS_DEVICE=n
+CONFIG_FB_EFI=n
+CONFIG_FB_SIMPLE=n
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=n
+CONFIG_DRM_HISI_KIRIN=n
+CONFIG_FB_ARMCLCD=n
+CONFIG_XEN_FBDEV_FRONTEND=n
+CONFIG_DRM_RCAR_LVDS=n
+CONFIG_DRM_FSL_DCU=n
+CONFIG_DRM_SII9234=n
+CONFIG_DRM_MXSFB=n
+CONFIG_DRM_HISI_HIBMC=n
+CONFIG_DRM_ATMEL_HLCDC=n
+CONFIG_DRM_STM=n
+CONFIG_DRM_PANEL_ORISETECH_OTM8009A=n
+CONFIG_DRM_PANEL_RAYDIUM_RM68200=n
+CONFIG_DRM_TOSHIBA_TC358764=n
+CONFIG_DRM_ETNAVIV=n
+CONFIG_DRM_PL111=n
+CONFIG_DRM_LIMA=n
+CONFIG_DRM_PANFROST=n
+
+# Touchscreen
+
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_GOODIX=m
+
+CONFIG_HID_MULTITOUCH=m
+
+# V4L2
+
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VIDEO_AM437X_VPFE=m
+CONFIG_VIDEO_TI_CAL=m
+CONFIG_VIDEO_TI_VIP=m
+
+CONFIG_VIDEO_CADENCE=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
+CONFIG_PHY_CADENCE_DPHY=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
+
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_TI_VPE=m
+
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=n
+CONFIG_VIDEO_OV2659=m
+CONFIG_VIDEO_OV1063X=m
+CONFIG_VIDEO_MT9T11X=m
+CONFIG_VIDEO_OV490=m
+CONFIG_VIDEO_OV5640=m
+CONFIG_VIDEO_IMX390=m
+
+CONFIG_VIDEO_DS90UB960=m
+CONFIG_VIDEO_DS90UB953=m
+
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=n
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=n
+CONFIG_RC_CORE=n
+
+# sound - START
+CONFIG_SND_ARM=n
+CONFIG_SND_SPI=n
+CONFIG_SND_ATMEL_SOC=n
+CONFIG_SND_SOC_FSL_SAI=n
+CONFIG_SND_SOC_AK4642=n
+CONFIG_SND_SOC_CPCAP=n
+CONFIG_SND_SOC_SGTL5000=n
+CONFIG_SND_SOC_STI_SAS=n
+CONFIG_SND_SOC_WM8978=n
+CONFIG_SND_SOC_AK4613=n
+CONFIG_SND_SOC_ES7134=n
+CONFIG_SND_SOC_ES7241=n
+CONFIG_SND_SOC_TAS571X=n
+
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_SIMPLE_SCU_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+CONFIG_SND_AUDIO_GRAPH_SCU_CARD=m
+
+CONFIG_SND_SOC_DAVINCI_MCASP=y
+CONFIG_SND_SOC_OMAP_HDMI=m
+CONFIG_SND_SOC_J721E_EVM=m
+
+CONFIG_SND_SOC_TLV320AIC3X=m
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_PCM3168A_I2C=m
+CONFIG_SND_SOC_HDMI_CODEC=m
+# sound - END
+
+# 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
+
+##################################################
+# TI Base K3 SoCs
+##################################################
+##############################################
+#
+# 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/am6x/genimage.cfg b/board/am6x/genimage.cfg
new file mode 100644
index 0000000000..26304fe98f
--- /dev/null
+++ b/board/am6x/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/am6x/readme.txt b/board/am6x/readme.txt
new file mode 100644
index 0000000000..b08c385146
--- /dev/null
+++ b/board/am6x/readme.txt
@@ -0,0 +1,41 @@
+Texas Instuments AM6X Evaluation Modules
+
+Description
+===========
+
+These configurations will build a complete image and 
+device tree blobs for the the TI AM6X boards.
+
+How to build it
+===============
+
+Select the default configuration for the target, for example:
+$ make am64x_sk_defconfig
+
+Optional: modify the configuration:
+$ make menuconfig
+
+Build:
+$ make
+
+Result of the build, for example:
+===================
+output/images/
++-- bl31.bin
++-- boot.vfat
++-- Image
++-- k3-am642-sk.dtb
++-- rootfs.ext2
++-- rootfs.ext4
++-- rootfs.tar
++-- sdcard.img
++-- tee-pager_v2.bin
++-- tiboot3.bin
++-- tispl.bin
++-- u-boot.img
++-- u-boot-spl.bin
+
+To copy the image file to the sdcard use dd:
+$ dd if=output/images/sdcard.img of=/dev/XXX
+
+
-- 
2.17.1


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


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

* [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig
  2022-07-26 16:50 [Buildroot] [PATCH 0/4] add support for TI's AM6X SoCs Xuanhao Shi via buildroot
                   ` (2 preceding siblings ...)
  2022-07-26 16:50 ` [Buildroot] [PATCH 3/4] board/am6x: add new board support Xuanhao Shi via buildroot
@ 2022-07-26 16:50 ` Xuanhao Shi via buildroot
  2022-07-26 19:00   ` Thomas Petazzoni via buildroot
  3 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 16:50 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Suniel Mahesh

Adds the new defconfig for TI's AM64X_SK board after patch.

Signed-off-by: Xuanhao Shi <x-shi@ti.com>
---
 configs/am64x_sk_defconfig | 44 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 configs/am64x_sk_defconfig

diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
new file mode 100644
index 0000000000..629bff6519
--- /dev/null
+++ b/configs/am64x_sk_defconfig
@@ -0,0 +1,44 @@
+BR2_aarch64=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_INIT_SYSTEMD=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/am6x/genimage.cfg"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(TOPDIR)/board/am6x/am64x/linux/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
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y
+BR2_PACKAGE_K3_IMAGE_GEN=y
+BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG="am64x_evm_r5"
+BR2_PACKAGE_K3_IMAGE_GEN_SOC="am64x"
+BR2_PACKAGE_K3_IMAGE_GEN_CONFIG="evm"
+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_PLATFORM="k3"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD="lite"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="SPD=opteed"
+BR2_TARGET_OPTEE_OS=y
+BR2_TARGET_OPTEE_OS_PLATFORM="k3"
+BR2_TARGET_OPTEE_OS_CORE_IMAGES="tee-pager_v2.bin"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
+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_ARM_GNU_TOOLCHAIN=y
+BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM=y
+BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SITE="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10"
+BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SOURCE="gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
+BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_LICENSE="GPL-3.0+"
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
-- 
2.17.1

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

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

* Re: [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection
  2022-07-26 16:50 ` [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection Xuanhao Shi via buildroot
@ 2022-07-26 17:37   ` Thomas Petazzoni via buildroot
  2022-07-26 19:32     ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 17:37 UTC (permalink / raw)
  To: Xuanhao Shi via buildroot; +Cc: Xuanhao Shi, Suniel Mahesh

Hello,

On Tue, 26 Jul 2022 11:50:38 -0500
Xuanhao Shi via buildroot <buildroot@buildroot.org> wrote:

> Adds a way to select a custom toolchain link and
> source instead of always using verion 11.2 due

version -> version

> to bugs in the newest version.

Could you give some details on the "bugs" ?

> diff --git a/package/arm-gnu-toolchain/Config.in.host b/package/arm-gnu-toolchain/Config.in.host
> new file mode 100644
> index 0000000000..25d0af1d04
> --- /dev/null
> +++ b/package/arm-gnu-toolchain/Config.in.host
> @@ -0,0 +1,38 @@
> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
> +	bool "host arm-gnu-toolchain"
> +	help
> +	  Separate ARM32 cross-compilation toolchain 
> +	  for some AArch64 platforms.
> +
> +menu "host arm-gnu-toolchain version"
> +	depends on BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN

The menu is not needed.

Use:

if BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN

...

endif

to enclose the options of this package.

> +choice
> +	bool "host arm-gnu-toolchain version"

Just "version"

> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_DEFAULT
> +	bool "Version 11.2-2022.02"
> +	help
> +	  Use version 11.2.
> +
> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM
> +	bool "Custom archived sources"
> +	help
> +	  Specify custom archive for the toolchain.

Seeing what you end up needing in your defconfig, I think I would
prefer explicit options for 11.x and 10.x, rather than all this
"custom" mess.

So just:

config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_VERSION_11_X
	...
config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_VERSION_10_X
	...

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 16:50 ` [Buildroot] [PATCH 2/4] package/k3-image-gen: new package Xuanhao Shi via buildroot
@ 2022-07-26 18:55   ` Thomas Petazzoni via buildroot
  2022-07-26 20:56     ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 18:55 UTC (permalink / raw)
  To: Xuanhao Shi; +Cc: Suniel Mahesh, buildroot

Hello,

Thanks for your contribution. However, as you will see below from my
review, this will require significant rework, the approach you're
taking is really not good.

On Tue, 26 Jul 2022 11:50:39 -0500
Xuanhao Shi <x-shi@ti.com> wrote:

> k3-image-gen is a package that helps support TI's k3 SoCs
> by building a separate boot binary, tiboot3.bin, on the R core.
> 
> https://git.ti.com/cgit/k3-image-gen/k3-image-gen/about/
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> ---
>  package/Config.in                      |  1 +
>  package/k3-image-gen/Config.in         | 37 ++++++++++++++++++++++
>  package/k3-image-gen/k3-image-gen.hash |  2 ++
>  package/k3-image-gen/k3-image-gen.mk   | 43 ++++++++++++++++++++++++++
>  4 files changed, 83 insertions(+)

A new package needs an entry in the DEVELOPERS file.

Also, I think this package should probably go in boot/ instead of
package/.

> diff --git a/package/k3-image-gen/Config.in b/package/k3-image-gen/Config.in
> new file mode 100644
> index 0000000000..3522382677
> --- /dev/null
> +++ b/package/k3-image-gen/Config.in
> @@ -0,0 +1,37 @@
> +config BR2_PACKAGE_K3_IMAGE_GEN
> +	bool "k3-image-gen"
> +	help
> +	  Using TI's k3-image-gen to build a separate bare metal
> +	  boot binary from a separate spl. Currently supports
> +	  version 08.04.00.004 as default.
> +
> +	  https://git.ti.com/cgit/k3-image-gen/k3-image-gen/
> +
> +menu "U-Boot SPL Build Options"
> +	depends on BR2_PACKAGE_K3_IMAGE_GEN
> +
> +config BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG
> +	string "U-Boot SPL defconfig for image gen"
> +	help
> +	  This is the defconfig without the suffix for the separate SPL.
> +	  For example, "am64x_evm_r5" for AM64X boards.

Do you need two U-Boot builds, one for the main U-Boot running on the
Cortex-A cores and one U-Boot running on the Cortex-R5 core ?


> diff --git a/package/k3-image-gen/k3-image-gen.hash b/package/k3-image-gen/k3-image-gen.hash
> new file mode 100644
> index 0000000000..393c7726cd
> --- /dev/null
> +++ b/package/k3-image-gen/k3-image-gen.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 8446d4f169b894304593f0c325028f25e401d0b793d6fd3aa9efa3da937222d2  k3-image-gen-08.04.00.004.tar.gz
> diff --git a/package/k3-image-gen/k3-image-gen.mk b/package/k3-image-gen/k3-image-gen.mk
> new file mode 100644
> index 0000000000..5449a2d0a5
> --- /dev/null
> +++ b/package/k3-image-gen/k3-image-gen.mk
> @@ -0,0 +1,43 @@
> +################################################################################
> +#
> +#k3-image-gen
> +#
> +################################################################################
> +
> +K3_IMAGE_GEN_VERSION = 08.04.00.004
> +K3_IMAGE_GEN_SITE = https://git.ti.com/cgit/k3-image-gen/k3-image-gen/snapshot
> +K3_IMAGE_GEN_SOURCE = k3-image-gen-$(K3_IMAGE_GEN_VERSION).tar.gz
> +K3_IMAGE_GEN_LICENSE = GPL-2.0+

Do you have a license file ?

> +K3_IMAGE_GEN_MAKE = $(BR2_MAKE)
> +
> +K3_IMAGE_GEN_UBOOT_SPL_ARCH = arm
> +K3_IMAGE_GEN_UBOOT_SPL_CROSS = \
> +$(HOST_ARM_GNU_TOOLCHAIN_INSTALL_DIR)/bin/arm-none-eabi-
> +K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG = \
> +$(call qstrip, $(BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG))_defconfig
> +
> +K3_IMAGE_GEN_SOC = $(call qstrip,$(BR2_PACKAGE_K3_IMAGE_GEN_SOC))
> +K3_IMAGE_GEN_CONFIG = $(call qstrip,$(BR2_PACKAGE_K3_IMAGE_GEN_CONFIG))
> +
> +K3_IMAGE_GEN_DEPENDENCIES += host-arm-gnu-toolchain uboot
> +
> +K3_IMAGE_GEN_MAKE_OPTS += \
> +	SOC=$(K3_IMAGE_GEN_SOC) \
> +	CONFIG=$(K3_IMAGE_GEN_CONFIG) \
> +	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS) \
> +	SBL=$(BINARIES_DIR)/u-boot-spl.bin \
> +	O=$(BINARIES_DIR) \
> +	BIN_DIR=$(BINARIES_DIR) 
> +
> +define K3_IMAGE_GEN_BUILD_CMDS
> +	$(UBOOT_MAKE) -C $(BUILD_DIR)/uboot* ARCH=$(K3_IMAGE_GEN_UBOOT_SPL_ARCH) \
> +	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS) $(K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG)
> +	$(UBOOT_MAKE) -C $(BUILD_DIR)/uboot* ARCH=$(K3_IMAGE_GEN_UBOOT_SPL_ARCH) \
> +	CROSS_COMPILE=$(K3_IMAGE_GEN_UBOOT_SPL_CROSS)

This clearly is not acceptable. You can from k3-image-gen mess up with
the build directory of U-Boot. $(BUILD_DIR)/uboot* can point to
something else than U-Boot, and even in principle doing the build of
one package in another is wrong.

Could you explain what you are trying to do? Is it because you need to
build two different U-Boot configurations?

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 3/4] board/am6x: add new board support
  2022-07-26 16:50 ` [Buildroot] [PATCH 3/4] board/am6x: add new board support Xuanhao Shi via buildroot
@ 2022-07-26 18:58   ` Thomas Petazzoni via buildroot
  2022-07-26 21:08     ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 18:58 UTC (permalink / raw)
  To: Xuanhao Shi; +Cc: Suniel Mahesh, buildroot

Hello,

On Tue, 26 Jul 2022 11:50:40 -0500
Xuanhao Shi <x-shi@ti.com> wrote:

> Adds the board support for TI's AM6X SoCs after patch,
> Currently just AM64X to start.
> 
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> ---
>  .../linux/ti_sdk_arm64_release_defconfig      | 1983 +++++++++++++++++
>  board/am6x/genimage.cfg                       |   27 +
>  board/am6x/readme.txt                         |   41 +
>  3 files changed, 2051 insertions(+)
>  create mode 100644 board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
>  create mode 100644 board/am6x/genimage.cfg
>  create mode 100644 board/am6x/readme.txt
> 
> diff --git a/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
> new file mode 100644
> index 0000000000..7000ee1170
> --- /dev/null
> +++ b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig

Just board/am6x/am64x/linux.config

Does your board have an actual name? Because am64x is just the name of
the SoC, no?

> @@ -0,0 +1,1983 @@
> +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

[...]

This is a huge config file, with obviously stuff that isn't needed for
your platform. Could you review it and strip it down to some reasonable
level? It enables zillions of drivers that make absolutely no sense for
a TI platform.


> +##################################################
> +# TI Baseport Config Options
> +##################################################

Please do not manually edit the kernel configuration file.


> diff --git a/board/am6x/readme.txt b/board/am6x/readme.txt
> new file mode 100644
> index 0000000000..b08c385146
> --- /dev/null
> +++ b/board/am6x/readme.txt
> @@ -0,0 +1,41 @@
> +Texas Instuments AM6X Evaluation Modules
> +
> +Description
> +===========
> +
> +These configurations will build a complete image and 
> +device tree blobs for the the TI AM6X boards.

Which "boards" ? Normally, we have one readme.txt per board, as the
details are board-specific, such as where is the UART connector, how to
flash, etc.

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig
  2022-07-26 16:50 ` [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig Xuanhao Shi via buildroot
@ 2022-07-26 19:00   ` Thomas Petazzoni via buildroot
  2022-07-26 21:11     ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 19:00 UTC (permalink / raw)
  To: Xuanhao Shi; +Cc: Suniel Mahesh, buildroot

Hello,

On Tue, 26 Jul 2022 11:50:41 -0500
Xuanhao Shi <x-shi@ti.com> wrote:

> Adds the new defconfig for TI's AM64X_SK board after patch.
> 
> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
> ---
>  configs/am64x_sk_defconfig | 44 ++++++++++++++++++++++++++++++++++++++

This should be squashed into the previous commit.

Also, please add entries in the DEVELOPERS file for the board/
directory and this new defconfig.

>  1 file changed, 44 insertions(+)
>  create mode 100644 configs/am64x_sk_defconfig
> 
> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
> new file mode 100644
> index 0000000000..629bff6519
> --- /dev/null
> +++ b/configs/am64x_sk_defconfig
> @@ -0,0 +1,44 @@
> +BR2_aarch64=y
> +BR2_TOOLCHAIN_EXTERNAL=y
> +BR2_INIT_SYSTEMD=y

We want our defconfigs to be minimal, so keep the default toolchain and
default init system.

> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/am6x/genimage.cfg"
> +BR2_LINUX_KERNEL=y

You must specify an explicit kernel version so that the build is
reproducible.

> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(TOPDIR)/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig"

Drop $(TOPDIR)/, it is not needed.

> +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_PACKAGE_K3_IMAGE_GEN=y
> +BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG="am64x_evm_r5"
> +BR2_PACKAGE_K3_IMAGE_GEN_SOC="am64x"
> +BR2_PACKAGE_K3_IMAGE_GEN_CONFIG="evm"
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y

You must specify an explicit TF-A version so that the build is
reproducible.

> +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_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="SPD=opteed"
> +BR2_TARGET_OPTEE_OS=y

You must specify an explicit OP-TEE version so that the build is
reproducible.

> +BR2_TARGET_OPTEE_OS_PLATFORM="k3"
> +BR2_TARGET_OPTEE_OS_CORE_IMAGES="tee-pager_v2.bin"
> +BR2_TARGET_UBOOT=y

You must specify an explicit U-Boot version so that the build is
reproducible.

> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
> +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_ARM_GNU_TOOLCHAIN=y
> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM=y
> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SITE="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10"
> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SOURCE="gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_LICENSE="GPL-3.0+"
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection
  2022-07-26 17:37   ` Thomas Petazzoni via buildroot
@ 2022-07-26 19:32     ` Xuanhao Shi via buildroot
  2022-07-26 20:07       ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 19:32 UTC (permalink / raw)
  To: Thomas Petazzoni, Xuanhao Shi via buildroot; +Cc: Suniel Mahesh

On 7/26/22 12:37, Thomas Petazzoni wrote:

Hello, thank you very much for your input!

>> to bugs in the newest version.
> 
> Could you give some details on the "bugs" ?
> 

I have experienced bugs very similar to this while building with version 
11 for k3-image-gen:
https://bugs.launchpad.net/gcc-arm-embedded/+bug/1969997
I think the problem is that when the pre-packaged GCC was built, it 
could be targeting a newer x86_64 architecture than the processor being 
used, but I am not that sure.
They are confirming that they will fix this in the next release:
https://bugs.linaro.org/show_bug.cgi?id=5825#c19
In the meantime, since this bug did not appear on version 10, I decided 
to add the option to use version 10 at the moment.

>> diff --git a/package/arm-gnu-toolchain/Config.in.host b/package/arm-gnu-toolchain/Config.in.host
>> new file mode 100644
>> index 0000000000..25d0af1d04
>> --- /dev/null
>> +++ b/package/arm-gnu-toolchain/Config.in.host
>> @@ -0,0 +1,38 @@
>> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
>> +	bool "host arm-gnu-toolchain"
>> +	help
>> +	  Separate ARM32 cross-compilation toolchain
>> +	  for some AArch64 platforms.
>> +
>> +menu "host arm-gnu-toolchain version"
>> +	depends on BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
> 
> The menu is not needed.
> 
> Use:
> 
> if BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN
> 
> ...
> 
> endif
> 
> to enclose the options of this package.
> 
>> +choice
>> +	bool "host arm-gnu-toolchain version"
> 
> Just "version"
> 
>> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_DEFAULT
>> +	bool "Version 11.2-2022.02"
>> +	help
>> +	  Use version 11.2.
>> +
>> +config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM
>> +	bool "Custom archived sources"
>> +	help
>> +	  Specify custom archive for the toolchain.
> 
> Seeing what you end up needing in your defconfig, I think I would
> prefer explicit options for 11.x and 10.x, rather than all this
> "custom" mess.
> 
> So just:
> 
> config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_VERSION_11_X
> 	...
> config BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_VERSION_10_X
> 	...
> 
> Thanks!
> 
> Thomas

Ok. I'll rework this patch accordingly.

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

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

* Re: [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection
  2022-07-26 19:32     ` Xuanhao Shi via buildroot
@ 2022-07-26 20:07       ` Thomas Petazzoni via buildroot
  2022-07-26 21:29         ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 20:07 UTC (permalink / raw)
  To: Xuanhao Shi; +Cc: Suniel Mahesh, Xuanhao Shi via buildroot

Hello,

On Tue, 26 Jul 2022 14:32:07 -0500
Xuanhao Shi <x-shi@ti.com> wrote:

> I have experienced bugs very similar to this while building with version 
> 11 for k3-image-gen:
> https://bugs.launchpad.net/gcc-arm-embedded/+bug/1969997
> I think the problem is that when the pre-packaged GCC was built, it 
> could be targeting a newer x86_64 architecture than the processor being 
> used, but I am not that sure.
> They are confirming that they will fix this in the next release:
> https://bugs.linaro.org/show_bug.cgi?id=5825#c19
> In the meantime, since this bug did not appear on version 10, I decided 
> to add the option to use version 10 at the moment.

Aah, thanks, that's a very good explanation. Then based on this, I
think we should not add a version choice, and simply revert back to the
10.x version in package/arm-gnu-toolchain.

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 18:55   ` Thomas Petazzoni via buildroot
@ 2022-07-26 20:56     ` Xuanhao Shi via buildroot
  2022-07-26 21:07       ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 20:56 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Suniel Mahesh, buildroot

On 7/26/22 13:55, Thomas Petazzoni wrote:
> Hello,
> 
> Thanks for your contribution. However, as you will see below from my
> review, this will require significant rework, the approach you're
> taking is really not good.
> 

Alright, I see. Thanks for all your input. I'll rework this patch 
accordingly.

> 
> A new package needs an entry in the DEVELOPERS file.
> 
> Also, I think this package should probably go in boot/ instead of
> package/.
> 

Ok.

> Do you need two U-Boot builds, one for the main U-Boot running on the
> Cortex-A cores and one U-Boot running on the Cortex-R5 core ?
> 

Yes. I can get the 64-bit A53 U-Boot outputs from what Buildroot has 
right now, but k3-image-gen requires a separate u-boot-spl.bin from 
building U-Boot with a 32-bit bare metal cross compiler and the R5's 
defconfig. So I was trying to see if there is a way to build U-Boot a 
second time.

> 
> Do you have a license file ?
> 

Oh, yes, sorry, this was supposed to be a BSD-3-Clause license, which I 
can add that in.


> 
> This clearly is not acceptable. You can from k3-image-gen mess up with
> the build directory of U-Boot. $(BUILD_DIR)/uboot* can point to
> something else than U-Boot, and even in principle doing the build of
> one package in another is wrong.
> 
> Could you explain what you are trying to do? Is it because you need to
> build two different U-Boot configurations?
> 

Yes, the R5 core requires a different U-Boot build than the A53 core. I 
mentioned a bit about it above.

I understood that this patch currently does not achieve that in a proper 
way. Would you mind recommending a proper way to do this? Should I find 
a way to patch U-Boot directly so it has an option for a separate build?

Since you mentioned earlier that k3-image-gen should be a package in 
boot/, should the patch modify boot/uboot/ for the separate U-Boot build 
instead?

Thank you very much!

Xuanhao

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

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

* Re: [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 20:56     ` Xuanhao Shi via buildroot
@ 2022-07-26 21:07       ` Thomas Petazzoni via buildroot
  2022-07-26 21:31         ` Xuanhao Shi via buildroot
  0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-26 21:07 UTC (permalink / raw)
  To: Xuanhao Shi; +Cc: Suniel Mahesh, buildroot

Hello,

On Tue, 26 Jul 2022 15:56:31 -0500
Xuanhao Shi <x-shi@ti.com> wrote:

> > Could you explain what you are trying to do? Is it because you need to
> > build two different U-Boot configurations?
> 
> Yes, the R5 core requires a different U-Boot build than the A53 core. I 
> mentioned a bit about it above.
> 
> I understood that this patch currently does not achieve that in a proper 
> way. Would you mind recommending a proper way to do this? Should I find 
> a way to patch U-Boot directly so it has an option for a separate build?
> 
> Since you mentioned earlier that k3-image-gen should be a package in 
> boot/, should the patch modify boot/uboot/ for the separate U-Boot build 
> instead?

One option that I see, which isn't very nice, is to do like Barebox in
boot/barebox/, where boot/barebox/barebox.mk contains most of the code,
but in fact two barebox packages exist, boot/barebox/barebox/ and
boot/barebox/barebox-aux/.

Another option, much simpler, is to do something that is more TI
specific, such as a ti-am64x-r5-loader package that would download your
U-Boot for R5 and build it, but without relying on the boot/uboot/
package. Exactly like if you had a custom bootloader/firmware for the
R5. I think this is the best option.

What do you think?

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] 19+ messages in thread

* Re: [Buildroot] [PATCH 3/4] board/am6x: add new board support
  2022-07-26 18:58   ` Thomas Petazzoni via buildroot
@ 2022-07-26 21:08     ` Xuanhao Shi via buildroot
  2022-07-27  8:32       ` Arnout Vandecappelle
  0 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 21:08 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Suniel Mahesh, buildroot

On 7/26/22 13:58, Thomas Petazzoni wrote:

>>
>> diff --git a/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
>> new file mode 100644
>> index 0000000000..7000ee1170
>> --- /dev/null
>> +++ b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
> 
> Just board/am6x/am64x/linux.config
> 
> Does your board have an actual name? Because am64x is just the name of
> the SoC, no?
> 

Yes. The SoC is am64x, and the board's name is am64x_sk.


> 
> [...]
> 
> This is a huge config file, with obviously stuff that isn't needed for
> your platform. Could you review it and strip it down to some reasonable
> level? It enables zillions of drivers that make absolutely no sense for
> a TI platform.
> 
> 
>> +##################################################
>> +# TI Baseport Config Options
>> +##################################################
> 
> Please do not manually edit the kernel configuration file.
> 
> 

Noted. We'll review the kernel config file.


>> +Description
>> +===========
>> +
>> +These configurations will build a complete image and
>> +device tree blobs for the the TI AM6X boards.
> 
> Which "boards" ? Normally, we have one readme.txt per board, as the
> details are board-specific, such as where is the UART connector, how to
> flash, etc.

I see. We are planning to add more k3 boards here in the future, so I 
think I will make sub-directories in here for each board (for example, 
am64_sk, am62_sk, etc.), and I will add more specific readme files for 
each of them.

Thanks!

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

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

* Re: [Buildroot] [PATCH 4/4] configs/am64x_sk_defconfig: add new defconfig
  2022-07-26 19:00   ` Thomas Petazzoni via buildroot
@ 2022-07-26 21:11     ` Xuanhao Shi via buildroot
  0 siblings, 0 replies; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 21:11 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Suniel Mahesh, buildroot

On 7/26/22 14:00, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 26 Jul 2022 11:50:41 -0500
> Xuanhao Shi <x-shi@ti.com> wrote:
> 
>> Adds the new defconfig for TI's AM64X_SK board after patch.
>>
>> Signed-off-by: Xuanhao Shi <x-shi@ti.com>
>> ---
>>   configs/am64x_sk_defconfig | 44 ++++++++++++++++++++++++++++++++++++++
> 
> This should be squashed into the previous commit.
> 
> Also, please add entries in the DEVELOPERS file for the board/
> directory and this new defconfig.
> 
>>   1 file changed, 44 insertions(+)
>>   create mode 100644 configs/am64x_sk_defconfig
>>
>> diff --git a/configs/am64x_sk_defconfig b/configs/am64x_sk_defconfig
>> new file mode 100644
>> index 0000000000..629bff6519
>> --- /dev/null
>> +++ b/configs/am64x_sk_defconfig
>> @@ -0,0 +1,44 @@
>> +BR2_aarch64=y
>> +BR2_TOOLCHAIN_EXTERNAL=y
>> +BR2_INIT_SYSTEMD=y
> 
> We want our defconfigs to be minimal, so keep the default toolchain and
> default init system.
> 
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
>> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/am6x/genimage.cfg"
>> +BR2_LINUX_KERNEL=y
> 
> You must specify an explicit kernel version so that the build is
> reproducible.
> 
>> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(TOPDIR)/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig"
> 
> Drop $(TOPDIR)/, it is not needed.
> 
>> +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_PACKAGE_K3_IMAGE_GEN=y
>> +BR2_PACKAGE_K3_IMAGE_GEN_UBOOT_SPL_DEFCONFIG="am64x_evm_r5"
>> +BR2_PACKAGE_K3_IMAGE_GEN_SOC="am64x"
>> +BR2_PACKAGE_K3_IMAGE_GEN_CONFIG="evm"
>> +BR2_TARGET_ROOTFS_EXT2=y
>> +BR2_TARGET_ROOTFS_EXT2_4=y
>> +BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
>> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> 
> You must specify an explicit TF-A version so that the build is
> reproducible.
> 
>> +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_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="SPD=opteed"
>> +BR2_TARGET_OPTEE_OS=y
> 
> You must specify an explicit OP-TEE version so that the build is
> reproducible.
> 
>> +BR2_TARGET_OPTEE_OS_PLATFORM="k3"
>> +BR2_TARGET_OPTEE_OS_CORE_IMAGES="tee-pager_v2.bin"
>> +BR2_TARGET_UBOOT=y
> 
> You must specify an explicit U-Boot version so that the build is
> reproducible.
> 
>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am64x_evm_a53"
>> +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_ARM_GNU_TOOLCHAIN=y
>> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM=y
>> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SITE="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10"
>> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_SOURCE="gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2"
>> +BR2_PACKAGE_HOST_ARM_GNU_TOOLCHAIN_CUSTOM_LICENSE="GPL-3.0+"
>> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
>> +BR2_PACKAGE_HOST_GENIMAGE=y
>> +BR2_PACKAGE_HOST_MTOOLS=y
> 
> Thanks!
> 
> Thomas

Noted. I'll rework this patch and squash it with the previous one.

Thanks!

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

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

* Re: [Buildroot] [PATCH 1/4] package/arm-gnu-toolchain: add version selection
  2022-07-26 20:07       ` Thomas Petazzoni via buildroot
@ 2022-07-26 21:29         ` Xuanhao Shi via buildroot
  0 siblings, 0 replies; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 21:29 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Suniel Mahesh, Xuanhao Shi via buildroot

On 7/26/22 15:07, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 26 Jul 2022 14:32:07 -0500
> Xuanhao Shi <x-shi@ti.com> wrote:
> 
>> I have experienced bugs very similar to this while building with version
>> 11 for k3-image-gen:
>> https://bugs.launchpad.net/gcc-arm-embedded/+bug/1969997
>> I think the problem is that when the pre-packaged GCC was built, it
>> could be targeting a newer x86_64 architecture than the processor being
>> used, but I am not that sure.
>> They are confirming that they will fix this in the next release:
>> https://bugs.linaro.org/show_bug.cgi?id=5825#c19
>> In the meantime, since this bug did not appear on version 10, I decided
>> to add the option to use version 10 at the moment.
> 
> Aah, thanks, that's a very good explanation. Then based on this, I
> think we should not add a version choice, and simply revert back to the
> 10.x version in package/arm-gnu-toolchain.
> 
> Thanks!
> 
> Thomas

Ok. I'll do that and send it with the reworked patch afterward then.

Thanks!

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

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

* Re: [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 21:07       ` Thomas Petazzoni via buildroot
@ 2022-07-26 21:31         ` Xuanhao Shi via buildroot
  2022-07-27  8:22           ` Arnout Vandecappelle
  0 siblings, 1 reply; 19+ messages in thread
From: Xuanhao Shi via buildroot @ 2022-07-26 21:31 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Suniel Mahesh, buildroot

On 7/26/22 16:07, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 26 Jul 2022 15:56:31 -0500
> Xuanhao Shi <x-shi@ti.com> wrote:
> 
>>> Could you explain what you are trying to do? Is it because you need to
>>> build two different U-Boot configurations?
>>
>> Yes, the R5 core requires a different U-Boot build than the A53 core. I
>> mentioned a bit about it above.
>>
>> I understood that this patch currently does not achieve that in a proper
>> way. Would you mind recommending a proper way to do this? Should I find
>> a way to patch U-Boot directly so it has an option for a separate build?
>>
>> Since you mentioned earlier that k3-image-gen should be a package in
>> boot/, should the patch modify boot/uboot/ for the separate U-Boot build
>> instead?
> 
> One option that I see, which isn't very nice, is to do like Barebox in
> boot/barebox/, where boot/barebox/barebox.mk contains most of the code,
> but in fact two barebox packages exist, boot/barebox/barebox/ and
> boot/barebox/barebox-aux/.
> 
> Another option, much simpler, is to do something that is more TI
> specific, such as a ti-am64x-r5-loader package that would download your
> U-Boot for R5 and build it, but without relying on the boot/uboot/
> package. Exactly like if you had a custom bootloader/firmware for the
> R5. I think this is the best option.
> 
> What do you think?
> 
> Thomas

Thanks a lot for the input.

I think we will take the second option to just add a separate TI U-Boot
package to build the R5 in this case.

Should this package also be in boot/ just like the k3-image-gen package?

Thanks!

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

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

* Re: [Buildroot] [PATCH 2/4] package/k3-image-gen: new package
  2022-07-26 21:31         ` Xuanhao Shi via buildroot
@ 2022-07-27  8:22           ` Arnout Vandecappelle
  0 siblings, 0 replies; 19+ messages in thread
From: Arnout Vandecappelle @ 2022-07-27  8:22 UTC (permalink / raw)
  To: Xuanhao Shi, Thomas Petazzoni; +Cc: buildroot, Suniel Mahesh



On 26/07/2022 23:31, Xuanhao Shi via buildroot wrote:
> On 7/26/22 16:07, Thomas Petazzoni wrote:
>> Hello,
>>
>> On Tue, 26 Jul 2022 15:56:31 -0500
>> Xuanhao Shi <x-shi@ti.com> wrote:
>>
>>>> Could you explain what you are trying to do? Is it because you need to
>>>> build two different U-Boot configurations?
>>>
>>> Yes, the R5 core requires a different U-Boot build than the A53 core. I
>>> mentioned a bit about it above.
>>>
>>> I understood that this patch currently does not achieve that in a proper
>>> way. Would you mind recommending a proper way to do this? Should I find
>>> a way to patch U-Boot directly so it has an option for a separate build?
>>>
>>> Since you mentioned earlier that k3-image-gen should be a package in
>>> boot/, should the patch modify boot/uboot/ for the separate U-Boot build
>>> instead?
>>
>> One option that I see, which isn't very nice, is to do like Barebox in
>> boot/barebox/, where boot/barebox/barebox.mk contains most of the code,
>> but in fact two barebox packages exist, boot/barebox/barebox/ and
>> boot/barebox/barebox-aux/.
>>
>> Another option, much simpler, is to do something that is more TI
>> specific, such as a ti-am64x-r5-loader package that would download your
>> U-Boot for R5 and build it, but without relying on the boot/uboot/
>> package. Exactly like if you had a custom bootloader/firmware for the
>> R5. I think this is the best option.
>>
>> What do you think?
>>
>> Thomas
> 
> Thanks a lot for the input.
> 
> I think we will take the second option to just add a separate TI U-Boot
> package to build the R5 in this case.
> 
> Should this package also be in boot/ just like the k3-image-gen package?

  Yes please. It's convenient to have everything that is special (i.e. not 
userspace) outside of packages/

  Regards,
  Arnout

> 
> Thanks!
> 
> Xuanhao
> _______________________________________________
> 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] 19+ messages in thread

* Re: [Buildroot] [PATCH 3/4] board/am6x: add new board support
  2022-07-26 21:08     ` Xuanhao Shi via buildroot
@ 2022-07-27  8:32       ` Arnout Vandecappelle
  0 siblings, 0 replies; 19+ messages in thread
From: Arnout Vandecappelle @ 2022-07-27  8:32 UTC (permalink / raw)
  To: Xuanhao Shi, Thomas Petazzoni; +Cc: buildroot, Suniel Mahesh



On 26/07/2022 23:08, Xuanhao Shi via buildroot wrote:
> On 7/26/22 13:58, Thomas Petazzoni wrote:
> 
>>>
>>> diff --git a/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig 
>>> b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
>>> new file mode 100644
>>> index 0000000000..7000ee1170
>>> --- /dev/null
>>> +++ b/board/am6x/am64x/linux/ti_sdk_arm64_release_defconfig
>>
>> Just board/am6x/am64x/linux.config
>>
>> Does your board have an actual name? Because am64x is just the name of
>> the SoC, no?
>>
> 
> Yes. The SoC is am64x, and the board's name is am64x_sk.
> 
> 
>>
>> [...]
>>
>> This is a huge config file, with obviously stuff that isn't needed for
>> your platform. Could you review it and strip it down to some reasonable
>> level? It enables zillions of drivers that make absolutely no sense for
>> a TI platform.
>>
>>
>>> +##################################################
>>> +# TI Baseport Config Options
>>> +##################################################
>>
>> Please do not manually edit the kernel configuration file.
>>
>>
> 
> Noted. We'll review the kernel config file.
> 
> 
>>> +Description
>>> +===========
>>> +
>>> +These configurations will build a complete image and
>>> +device tree blobs for the the TI AM6X boards.
>>
>> Which "boards" ? Normally, we have one readme.txt per board, as the
>> details are board-specific, such as where is the UART connector, how to
>> flash, etc.
> 
> I see. We are planning to add more k3 boards here in the future, so I think I 
> will make sub-directories in here for each board (for example, am64_sk, am62_sk, 
> etc.), and I will add more specific readme files for each of them.

  These are evaluation kits developed by TI itself, right? I think it's more 
appropriate to put them under board/ti, so board/ti/am64x_sk etc.

  (BTW, here you write am64_sk, above it's am64x_sk...)

  Regards,
  Arnout

> 
> Thanks!
> 
> Xuanhao
> _______________________________________________
> 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] 19+ messages in thread

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

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.