All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/9] package/nxp: new package directory
@ 2019-11-27  7:17 Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

The "nxp" directory is intended to contain all NXP
QorIQ (including PowerPC and LayerScape serial) related packages,
together with their download site and version info.

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
---
changes since v2:
1. change the sub-direcotry to "nxp".
2. add helper.mk macro to extract compressed file.

changes since v1:
no changes.
---
 package/Config.in     |  1 +
 package/nxp/Config.in |  4 ++++
 package/nxp/helper.mk | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+)
 create mode 100644 package/nxp/Config.in
 create mode 100644 package/nxp/helper.mk

diff --git a/package/Config.in b/package/Config.in
index 37861387e8..c697962ac0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -494,6 +494,7 @@ endmenu
 	source "package/nvidia-driver/Config.in"
 	source "package/nvidia-tegra23/Config.in"
 	source "package/nvme/Config.in"
+	source "package/nxp/Config.in"
 	source "package/ofono/Config.in"
 	source "package/on2-8170-modules/Config.in"
 	source "package/open2300/Config.in"
diff --git a/package/nxp/Config.in b/package/nxp/Config.in
new file mode 100644
index 0000000000..575542c7ab
--- /dev/null
+++ b/package/nxp/Config.in
@@ -0,0 +1,4 @@
+menu "NXP QorIQ libraries"
+	depends on BR2_aarch64 || BR2_arm || BR2_powerpc64 || BR2_powerpc
+
+endmenu
diff --git a/package/nxp/helper.mk b/package/nxp/helper.mk
new file mode 100644
index 0000000000..79e4236249
--- /dev/null
+++ b/package/nxp/helper.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# helper
+#
+################################################################################
+
+# Helper for self-extracting binaries distributed by NXP.
+#
+# The --force option makes sure it doesn't fail if the source
+# directory already exists. The --auto-accept skips the license check,
+# as it is not needed in Buildroot because we have legal-info. Since
+# there's a EULA in the binary file, we extract it in this macro, and
+# it should therefore be added to the LICENSE_FILES variable of
+# packages using this macro. Also, remember to set REDISTRIBUTE to
+# "NO". Indeed, this is a legal minefield: the EULA specifies that the
+# Board Support Package includes software and hardware (sic!) for
+# which a separate license is needed...
+#
+# $(1): full path to the archive file
+#
+define NXP_EXTRACT_HELPER
+	awk 'BEGIN      { start = 0; } \
+	     /^EOEULA/  { start = 0; } \
+	                { if (start) print; } \
+	     /<<EOEULA/ { start = 1; }' \
+	    $(1) > $(@D)/EULA
+	cd $(@D) && sh $(1) --force --auto-accept
+	find $(@D)/$(basename $(notdir $(1))) -mindepth 1 -maxdepth 1 -exec mv {} $(@D) \;
+	rmdir $(@D)/$(basename $(notdir $(1)))
+endef
+
+include $(sort $(wildcard package/nxp/*/*.mk))
-- 
2.17.1

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

* [Buildroot] [PATCH v3 2/9] package/qoriq-rcw: move rcw into nxp and rename it
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

Move package/rcw into package/nxp,
and rename it to qoriq-rcw.

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes since v2:
1. change the package name to qoriq-rcw to keep consistent with imx-xxx.
2. add the handing in Config.in.legacy

changes since v1:
1. new patch.
2. move rcw to sub-directory freescale-qoriq.
3. rename to fsl-qoriq-rcw.
---
 Config.in.legacy                              |  8 +++
 DEVELOPERS                                    |  2 +-
 package/Config.in.host                        |  2 +-
 package/{rcw => nxp/qoriq-rcw}/Config.in.host |  6 +--
 .../rcw.hash => nxp/qoriq-rcw/qoriq-rcw.hash} |  2 +-
 package/nxp/qoriq-rcw/qoriq-rcw.mk            | 50 +++++++++++++++++++
 package/rcw/rcw.mk                            | 50 -------------------
 7 files changed, 64 insertions(+), 56 deletions(-)
 rename package/{rcw => nxp/qoriq-rcw}/Config.in.host (88%)
 rename package/{rcw/rcw.hash => nxp/qoriq-rcw/qoriq-rcw.hash} (82%)
 create mode 100644 package/nxp/qoriq-rcw/qoriq-rcw.mk
 delete mode 100644 package/rcw/rcw.mk

diff --git a/Config.in.legacy b/Config.in.legacy
index 7167b1d60c..515332e22c 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,14 @@ endif
 
 comment "Legacy options removed in 2019.11"
 
+config BR2_PACKAGE_HOST_RCW
+	bool "rcw package was removed"
+	select BR2_LEGACY
+	help
+	  Because rcw package has been renamed to qoriq-rcw and moved
+	  to "nxp", option BR2_PACKAGE_HOST_RCW is removed, the option
+	  BR2_PACKAGE_HOST_QORIQ_RCW can be used for QorIQ platforms.
+
 config BR2_PACKAGE_RPI_USERLAND_START_VCFILED
 	bool "rpi-userland start vcfiled was removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 78387c0468..887ab7ad95 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1590,6 +1590,7 @@ F:	package/mrouted/
 F:	package/mtd/
 F:	package/mtools/
 F:	package/nginx-upload/
+F:	package/nxp/qoriq-rcw/
 F:	package/omniorb/
 F:	package/openresolv/
 F:	package/paxtest/
@@ -1610,7 +1611,6 @@ F:	package/python-pyrex/
 F:	package/python-tinyrpc/
 F:	package/python-txdbus/
 F:	package/raptor/
-F:	package/rcw/
 F:	package/rng-tools/
 F:	package/rsyslog/
 F:	package/setools/
diff --git a/package/Config.in.host b/package/Config.in.host
index 758c268e00..2b2069b88d 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -45,6 +45,7 @@ menu "Host utilities"
 	source "package/mtd/Config.in.host"
 	source "package/mtools/Config.in.host"
 	source "package/mxsldr/Config.in.host"
+	source "package/nxp/qoriq-rcw/Config.in.host"
 	source "package/omap-u-boot-utils/Config.in.host"
 	source "package/openocd/Config.in.host"
 	source "package/opkg-utils/Config.in.host"
@@ -62,7 +63,6 @@ menu "Host utilities"
 	source "package/qemu/Config.in.host"
 	source "package/raspberrypi-usbboot/Config.in.host"
 	source "package/rauc/Config.in.host"
-	source "package/rcw/Config.in.host"
 	source "package/rustc/Config.in.host"
 	source "package/s6-rc/Config.in.host"
 	source "package/sam-ba/Config.in.host"
diff --git a/package/rcw/Config.in.host b/package/nxp/qoriq-rcw/Config.in.host
similarity index 88%
rename from package/rcw/Config.in.host
rename to package/nxp/qoriq-rcw/Config.in.host
index a9253958d9..8f78a40908 100644
--- a/package/rcw/Config.in.host
+++ b/package/nxp/qoriq-rcw/Config.in.host
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_HOST_RCW
+config BR2_PACKAGE_HOST_QORIQ_RCW
 	bool "host rcw"
 	help
 	  This package provides an reset configuration word(RCW)
@@ -11,9 +11,9 @@ config BR2_PACKAGE_HOST_RCW
 
 	  https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/
 
-if BR2_PACKAGE_HOST_RCW
+if BR2_PACKAGE_HOST_QORIQ_RCW
 
-config BR2_PACKAGE_HOST_RCW_CUSTOM_PATH
+config BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
 	string "RCW Source file paths"
 	help
 	  Space-separated list of .rcw and .rcwi files, that will be
diff --git a/package/rcw/rcw.hash b/package/nxp/qoriq-rcw/qoriq-rcw.hash
similarity index 82%
rename from package/rcw/rcw.hash
rename to package/nxp/qoriq-rcw/qoriq-rcw.hash
index 7de1ec659a..e9708d960d 100644
--- a/package/rcw/rcw.hash
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 1421ada9fec10b12ff21cd9ad82f0a835b191cb2dde80f03547764574b1346c3 rcw-LSDK-18.12.tar.gz
+sha256 1421ada9fec10b12ff21cd9ad82f0a835b191cb2dde80f03547764574b1346c3 qoriq-rcw-LSDK-18.12.tar.gz
 sha256 a531b3146425e592db17a51ff39c4801cb01fb4055ffdaada0572decc0655bcd LICENSE
diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.mk b/package/nxp/qoriq-rcw/qoriq-rcw.mk
new file mode 100644
index 0000000000..3308f20192
--- /dev/null
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.mk
@@ -0,0 +1,50 @@
+################################################################################
+#
+# qoriq-rcw
+#
+################################################################################
+
+QORIQ_RCW_VERSION = LSDK-18.12
+QORIQ_RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
+QORIQ_RCW_SITE_METHOD = git
+QORIQ_RCW_LICENSE = BSD-3-Clause
+QORIQ_RCW_LICENSE_FILES = LICENSE
+
+QORIQ_RCW_FILES = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH))
+
+ifneq ($(QORIQ_RCW_FILES),)
+# Get the name of the custom rcw file from the custom list
+QORIQ_RCW_PROJECT = $(notdir $(filter %.rcw,$(QORIQ_RCW_FILES)))
+
+# Error if there are no or more than one .rcw file
+ifeq ($(BR_BUILDING),y)
+ifneq ($(words $(QORIQ_RCW_PROJECT)),1)
+$(error BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH must have exactly one .rcw file)
+endif
+endif
+
+define HOST_QORIQ_RCW_ADD_CUSTOM_RCW_FILES
+	mkdir -p $(@D)/custom_board/rcw
+	cp -f $(filter-out %.rcw,$(QORIQ_RCW_FILES)) $(@D)/custom_board
+	cp -f $(filter %.rcw,$(QORIQ_RCW_FILES)) $(@D)/custom_board/rcw
+endef
+HOST_QORIQ_RCW_POST_PATCH_HOOKS += HOST_QORIQ_RCW_ADD_CUSTOM_RCW_FILES
+
+define HOST_QORIQ_RCW_BUILD_CMDS
+	python $(@D)/rcw.py -i $(@D)/custom_board/rcw/$(QORIQ_RCW_PROJECT) -I $(@D)/custom_board -o $(@D)/PBL.bin
+endef
+
+define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
+	$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin
+endef
+endif
+
+# Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer
+# could use a post image or SDK to build/install PBL files.
+define HOST_QORIQ_RCW_INSTALL_CMDS
+	mkdir -p  $(HOST_DIR)/share/rcw
+	cp -a $(@D)/* $(HOST_DIR)/share/rcw
+	$(HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE)
+endef
+
+$(eval $(host-generic-package))
diff --git a/package/rcw/rcw.mk b/package/rcw/rcw.mk
deleted file mode 100644
index 36d2da61b5..0000000000
--- a/package/rcw/rcw.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-################################################################################
-#
-# rcw
-#
-################################################################################
-
-RCW_VERSION = LSDK-18.12
-RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
-RCW_SITE_METHOD = git
-RCW_LICENSE = BSD-3-Clause
-RCW_LICENSE_FILES = LICENSE
-
-RCW_FILES = $(call qstrip,$(BR2_PACKAGE_HOST_RCW_CUSTOM_PATH))
-
-ifneq ($(RCW_FILES),)
-# Get the name of the custom rcw file from the custom list
-RCW_PROJECT = $(notdir $(filter %.rcw,$(RCW_FILES)))
-
-# Error if there are no or more than one .rcw file
-ifeq ($(BR_BUILDING),y)
-ifneq ($(words $(RCW_PROJECT)),1)
-$(error BR2_PACKAGE_HOST_RCW_CUSTOM_PATH must have exactly one .rcw file)
-endif
-endif
-
-define HOST_RCW_ADD_CUSTOM_RCW_FILES
-	mkdir -p $(@D)/custom_board/rcw
-	cp -f $(filter-out %.rcw,$(RCW_FILES)) $(@D)/custom_board
-	cp -f $(filter %.rcw,$(RCW_FILES)) $(@D)/custom_board/rcw
-endef
-HOST_RCW_POST_PATCH_HOOKS += HOST_RCW_ADD_CUSTOM_RCW_FILES
-
-define HOST_RCW_BUILD_CMDS
-	python $(@D)/rcw.py -i $(@D)/custom_board/rcw/$(RCW_PROJECT) -I $(@D)/custom_board -o $(@D)/PBL.bin
-endef
-
-define HOST_RCW_INSTALL_DELIVERY_FILE
-	$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin
-endef
-endif
-
-# Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer
-# could use a post image or SDK to build/install PBL files.
-define HOST_RCW_INSTALL_CMDS
-	mkdir -p  $(HOST_DIR)/share/rcw
-	cp -a $(@D)/* $(HOST_DIR)/share/rcw
-	$(HOST_RCW_INSTALL_DELIVERY_FILE)
-endef
-
-$(eval $(host-generic-package))
-- 
2.17.1

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

* [Buildroot] [PATCH v3 3/9] package/qoriq-rcw: bump to version LSDK-19.09
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

Change the RCW version to LSDK-19.09.

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes since v2:
1. change the hash value.

changes since v1:
1. add-back license hash.
---
 package/nxp/qoriq-rcw/qoriq-rcw.hash | 2 +-
 package/nxp/qoriq-rcw/qoriq-rcw.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.hash b/package/nxp/qoriq-rcw/qoriq-rcw.hash
index e9708d960d..88460716f9 100644
--- a/package/nxp/qoriq-rcw/qoriq-rcw.hash
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.hash
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 1421ada9fec10b12ff21cd9ad82f0a835b191cb2dde80f03547764574b1346c3 qoriq-rcw-LSDK-18.12.tar.gz
+sha256 4a9ce5bb1733239bf1b740b705df20f90802b16114e24f3fd56c08a7ba4b56c2 qoriq-rcw-LSDK-19.09.tar.gz
 sha256 a531b3146425e592db17a51ff39c4801cb01fb4055ffdaada0572decc0655bcd LICENSE
diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.mk b/package/nxp/qoriq-rcw/qoriq-rcw.mk
index 3308f20192..7a0494adc6 100644
--- a/package/nxp/qoriq-rcw/qoriq-rcw.mk
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-QORIQ_RCW_VERSION = LSDK-18.12
+QORIQ_RCW_VERSION = LSDK-19.09
 QORIQ_RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw
 QORIQ_RCW_SITE_METHOD = git
 QORIQ_RCW_LICENSE = BSD-3-Clause
-- 
2.17.1

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

* [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:21   ` Jerry Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

For NXP QorIQ (PowerPC and Layerscape) platform,
we need to specify the RCW file and build it to binary.

Introduce BR2_PACKAGE_HOST_RCW_BIN to specify the RCW binary file.

Introduce BR2_PACKAGE_HOST_RCW_BOOT_MODE to define the boot mode.
Because the RCW binary can be stored in different media, for example:
SD card - RCW locate in SD card, boot the board from SD card
eMMC    - RCW locate in eMMC chip, boot the board from eMMC chip
flexSPI - RCW locate in flexSPI, boot the board from flexSPI Nor/Nand flash
QSPI    - RCW locate in QSPI flash, boot the board from QSPI flash

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes since v2:
1. modify the patch descrition
2. more detail for BR2_PACKAGE_HOST_QORIQ_RCW_BIN
3. remove two options not used in this patch
4. add the condition detection in makefile for QorIQ RCW 

changes since v1:
1. add option BR2_PACKAGE_HOST_RCW_ATF for ATF.
---
 package/nxp/qoriq-rcw/Config.in.host | 12 ++++++++++++
 package/nxp/qoriq-rcw/qoriq-rcw.mk   | 15 +++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/package/nxp/qoriq-rcw/Config.in.host b/package/nxp/qoriq-rcw/Config.in.host
index 8f78a40908..9bf55894e8 100644
--- a/package/nxp/qoriq-rcw/Config.in.host
+++ b/package/nxp/qoriq-rcw/Config.in.host
@@ -25,4 +25,16 @@ config BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
 	  included for use in the SDK or with post scripts but no
 	  RCW binary will not be generated.
 
+config BR2_PACKAGE_HOST_QORIQ_RCW_BIN
+	string "Custom RCW"
+	depends on !BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
+	help
+	  This option is used to specify the RCW binary file for board.
+	  which is composed with platform/serdes_value/rcw_file, platform
+	  is the platform name, serdes_value is the setting of the Serdes,
+	  rcw_file is the file name of RCW, for example:
+	  "ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin"
+
+	  If this option is empty, no rcw file is used.
+
 endif
diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.mk b/package/nxp/qoriq-rcw/qoriq-rcw.mk
index 7a0494adc6..bbd085f277 100644
--- a/package/nxp/qoriq-rcw/qoriq-rcw.mk
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.mk
@@ -37,6 +37,21 @@ endef
 define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
 	$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin
 endef
+else
+QORIQ_RCW_PATH_FILE_BIN = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_BIN))
+
+ifneq ($(QORIQ_RCW_PATH_FILE_BIN),)
+QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_PATH_FILE_BIN)))
+QORIQ_RCW_FILE_BIN = $(lastword $(subst /, ,$(QORIQ_RCW_PATH_FILE_BIN)))
+
+define HOST_QORIQ_RCW_BUILD_CMDS
+	$(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM)
+endef
+
+define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
+	$(INSTALL) -D -m 0644 $(@D)/$(QORIQ_RCW_PATH_FILE_BIN) $(BINARIES_DIR)/$(QORIQ_RCW_FILE_BIN)
+endef
+endif
 endif
 
 # Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer
-- 
2.17.1

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

* [Buildroot] [PATCH v3 5/9] boot/arm-trusted-firmware: introduce two new options
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
                   ` (2 preceding siblings ...)
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

two new options for arm-trusted-firmware:
1. BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
	- for additional targets, E.G. "pbl".
2. BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES
	- for additional dependencies, E.G. "host-qoriq-rcw"

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
changes since v2:
1. introduce option BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS.
2. introduce option BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES.
3. rewrite the makefile with these two options

changes since v1:
1. Use option BR2_PACKAGE_HOST_RCW_ATF as the condition for RCW used by ATF.
---
 boot/arm-trusted-firmware/Config.in               | 11 +++++++++++
 boot/arm-trusted-firmware/arm-trusted-firmware.mk |  6 ++++++
 2 files changed, 17 insertions(+)

diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in
index 96861c3f4d..635bda2e86 100644
--- a/boot/arm-trusted-firmware/Config.in
+++ b/boot/arm-trusted-firmware/Config.in
@@ -153,4 +153,15 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES
 	  Names of generated image files that are installed in the
 	  output images/ directory.
 
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
+	string "Additional ATF targets options"
+	help
+	  Additional target options for ATF build
+	  E.G. 'pbl'
+
+config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES
+	string "Additional AFT dependencies"
+	help
+	  Additional dependencies for ATF build, E.G. "host-qoriq-rcw"
+
 endif
diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
index 2133d39e6d..2c22d49de5 100644
--- a/boot/arm-trusted-firmware/arm-trusted-firmware.mk
+++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk
@@ -92,6 +92,12 @@ endif
 
 ARM_TRUSTED_FIRMWARE_MAKE_TARGETS = all
 
+ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += \
+	$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS))
+
+ARM_TRUSTED_FIRMWARE_DEPENDENCIES += \
+	$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES))
+
 ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP),y)
 ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += fip
 ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-openssl
-- 
2.17.1

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

* [Buildroot] [PATCH v3 6/9] package/qoriq-cadence-dp-firmware: new package
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
                   ` (3 preceding siblings ...)
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

This package provides the firmware for LS1028ARDB DP (display port).

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes since v2:
1. change the package name to qoriq-cadence-dp-firmware.
2. add the hash of COPYING.
3. modify makefile with new option.
4. update DEVELOPERS with alphabetic ordering

changes since v1:
1. rename the package to fsl-qoriq-cadence-dp-fw.
2. update DEVELOPERS.
3. add the hash of package.
4. modify the context fo config file to package name.
5. re-write the makefile according to rule of buildroot.
6. add the license message in makefile.
---
 DEVELOPERS                                    |  3 +++
 package/nxp/Config.in                         |  2 ++
 package/nxp/helper.mk                         |  2 ++
 .../nxp/qoriq-cadence-dp-firmware/Config.in   |  4 ++++
 .../qoriq-cadence-dp-firmware.hash            |  3 +++
 .../qoriq-cadence-dp-firmware.mk              | 23 +++++++++++++++++++
 6 files changed, 37 insertions(+)
 create mode 100644 package/nxp/qoriq-cadence-dp-firmware/Config.in
 create mode 100644 package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
 create mode 100644 package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 887ab7ad95..70f2671ff8 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -513,6 +513,9 @@ F:	configs/nanopi_m1_plus_defconfig
 F:	configs/olimex_a13_olinuxino_defconfig
 F:	configs/orangepi_plus_defconfig
 
+N:	Changming Huang <jerry.huang@nxp.com>
+F:	package/nxp/qoriq-cadence-dp-firmware/
+
 N:	Chris Packham <judge.packham@gmail.com>
 F:	package/gstreamer1/gst1-shark/
 F:	package/micropython/
diff --git a/package/nxp/Config.in b/package/nxp/Config.in
index 575542c7ab..855d62700b 100644
--- a/package/nxp/Config.in
+++ b/package/nxp/Config.in
@@ -1,4 +1,6 @@
 menu "NXP QorIQ libraries"
 	depends on BR2_aarch64 || BR2_arm || BR2_powerpc64 || BR2_powerpc
 
+source "package/nxp/qoriq-cadence-dp-firmware/Config.in"
+
 endmenu
diff --git a/package/nxp/helper.mk b/package/nxp/helper.mk
index 79e4236249..2eee2227af 100644
--- a/package/nxp/helper.mk
+++ b/package/nxp/helper.mk
@@ -4,6 +4,8 @@
 #
 ################################################################################
 
+NXP_QORIQ_SITE = http://www.nxp.com/lgfiles/sdk/lsdk1909
+
 # Helper for self-extracting binaries distributed by NXP.
 #
 # The --force option makes sure it doesn't fail if the source
diff --git a/package/nxp/qoriq-cadence-dp-firmware/Config.in b/package/nxp/qoriq-cadence-dp-firmware/Config.in
new file mode 100644
index 0000000000..3f494bd3a3
--- /dev/null
+++ b/package/nxp/qoriq-cadence-dp-firmware/Config.in
@@ -0,0 +1,4 @@
+config BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE
+	bool "qoriq-cadence-dp-firmware"
+	help
+	  NXP QorIQ cadence DP firmware, a resident EL3 firmware.
diff --git a/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash b/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
new file mode 100644
index 0000000000..89aaf1d71b
--- /dev/null
+++ b/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 5871c5717be32f14a59624d5699d405e8ce9ae2e9c9ef86fd16e13d264a40e58  firmware-cadence-lsdk1909.bin
+sha256 d55f024af2bfff714b90de596f6d0399124b999e8c18a86b13a3b507bae6f561  COPYING
diff --git a/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk b/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk
new file mode 100644
index 0000000000..239f4b9d75
--- /dev/null
+++ b/package/nxp/qoriq-cadence-dp-firmware/qoriq-cadence-dp-firmware.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# qoriq-cadence-dp-firmware
+#
+################################################################################
+
+QORIQ_CADENCE_DP_FIRMWARE_VERSION = lsdk1909
+QORIQ_CADENCE_DP_FIRMWARE_SITE = $(NXP_QORIQ_SITE)
+QORIQ_CADENCE_DP_FIRMWARE_SOURCE = firmware-cadence-$(QORIQ_CADENCE_DP_FIRMWARE_VERSION).bin
+QORIQ_CADENCE_DP_FIRMWARE_LICENSE = NXP-Binary-EULA
+QORIQ_CADENCE_DP_FIRMWARE_LICENSE_FILES = COPYING
+QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES = YES
+QORIQ_CADENCE_DP_FIRMWARE_INSTALL_TARGET = NO
+
+define QORIQ_CADENCE_DP_FIRMWARE_EXTRACT_CMDS
+	$(call NXP_EXTRACT_HELPER,$(QORIQ_CADENCE_DP_FIRMWARE_DL_DIR)/$(QORIQ_CADENCE_DP_FIRMWARE_SOURCE))
+endef
+
+define QORIQ_CADENCE_DP_FIRMWARE_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/dp/ls1028a-dp-fw.bin $(BINARIES_DIR)/ls1028a-dp-fw.bin
+endef
+
+$(eval $(generic-package))
-- 
2.17.1

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

* [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
                   ` (4 preceding siblings ...)
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-12-06  7:51   ` Jerry Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 8/9] board/nxp/common/ls: Add standard post image script for Layerscape processors Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board Changming Huang
  7 siblings, 1 reply; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

Because GPIO is used as interrupt for eNETC PHY and Micro-bus,
IIC5_PMUX and CLK_OUT_PMUX are enabled for GPIO.

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes sinve v2:
1. no changes.

changes sinve v1:
1. change to unconditional for these two patches.
---
 ...b-Enable-IIC5_PMUX-for-GPIO-function.patch | 42 +++++++++++++++++++
 ...nable-CLK_OUT_PMUX-for-GPIO-function.patch | 40 ++++++++++++++++++
 2 files changed, 82 insertions(+)
 create mode 100644 package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-function.patch
 create mode 100644 package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-function.patch

diff --git a/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-function.patch b/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-function.patch
new file mode 100644
index 0000000000..21c6c84cbd
--- /dev/null
+++ b/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-function.patch
@@ -0,0 +1,42 @@
+From 33b403cee1fa215927bc65dc14baf35a2fdbe7b3 Mon Sep 17 00:00:00 2001
+From: Jerry Huang <jerry.huang@nxp.com>
+Date: Thu, 19 Sep 2019 12:12:20 +0800
+Subject: [PATCH 1/2] ls1028ardb: Enable IIC5_PMUX for GPIO function
+
+Set IIC5_PMUX = 1 to enable GPIO function.
+
+Signed-off-by: Jianchao Wang <jianchao.wang@nxp.com>
+Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
+---
+ ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw | 2 +-
+ ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
+index b46ea2e..5466a63 100644
+--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
+@@ -26,7 +26,7 @@ SYSCLK_FREQ=600
+ IIC2_PMUX=6
+ IIC3_PMUX=2
+ IIC4_PMUX=2
+-IIC5_PMUX=2
++IIC5_PMUX=1
+ IIC6_PMUX=2
+ CLK_OUT_PMUX=2
+ EC1_SAI4_5_PMUX=5
+diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
+index 04e2208..1908d8c 100644
+--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
+@@ -26,7 +26,7 @@ SYSCLK_FREQ=600
+ IIC2_PMUX=6
+ IIC3_PMUX=2
+ IIC4_PMUX=2
+-IIC5_PMUX=2
++IIC5_PMUX=1
+ IIC6_PMUX=3
+ CLK_OUT_PMUX=2
+ EC1_SAI4_5_PMUX=5
+--
+2.17.1
diff --git a/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-function.patch b/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-function.patch
new file mode 100644
index 0000000000..4f00541d69
--- /dev/null
+++ b/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-function.patch
@@ -0,0 +1,40 @@
+From 4a3c9ea5d0c7bf8eec8cb6276d6f4d940f3946db Mon Sep 17 00:00:00 2001
+From: Jerry Huang <jerry.huang@nxp.com>
+Date: Thu, 19 Sep 2019 12:13:48 +0800
+Subject: [PATCH 2/2] ls1028ardb/rcw: Enable CLK_OUT_PMUX for GPIO function
+
+Signed-off-by: Jianchao Wang <jianchao.wang@nxp.com>
+Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
+---
+ ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw | 2 +-
+ ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw   | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
+index 5466a63..a5ed4d4 100644
+--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
+@@ -28,7 +28,7 @@ IIC3_PMUX=2
+ IIC4_PMUX=2
+ IIC5_PMUX=1
+ IIC6_PMUX=2
+-CLK_OUT_PMUX=2
++CLK_OUT_PMUX=1
+ EC1_SAI4_5_PMUX=5
+ EC1_SAI3_6_PMUX=5
+ USB3_CLK_FSEL=39
+diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
+index 1908d8c..c930b83 100644
+--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
+@@ -28,7 +28,7 @@ IIC3_PMUX=2
+ IIC4_PMUX=2
+ IIC5_PMUX=1
+ IIC6_PMUX=3
+-CLK_OUT_PMUX=2
++CLK_OUT_PMUX=1
+ EC1_SAI4_5_PMUX=5
+ EC1_SAI3_6_PMUX=5
+ USB3_CLK_FSEL=39
+--
+2.17.1
-- 
2.17.1

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

* [Buildroot] [PATCH v3 8/9] board/nxp/common/ls: Add standard post image script for Layerscape processors
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
                   ` (5 preceding siblings ...)
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board Changming Huang
  7 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

Add the standard post image script for Layerscape processors (LS1028A
and other processors).

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
---
changes since v2:
1. add option BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode.
2. change the condition for qoriq-cadence-dp-firmware firmware file.

changes since v1:
1. update DEVELOPERS.
2. modify the condition for display firmware.
---
 DEVELOPERS                            |  1 +
 board/nxp/common/ls/busybox.config    |  9 +++
 board/nxp/common/ls/post-image-spi.sh | 64 +++++++++++++++++++
 board/nxp/common/ls/post-image.sh     | 92 +++++++++++++++++++++++++++
 package/nxp/qoriq-rcw/Config.in.host  |  6 ++
 5 files changed, 172 insertions(+)
 create mode 100644 board/nxp/common/ls/busybox.config
 create mode 100755 board/nxp/common/ls/post-image-spi.sh
 create mode 100755 board/nxp/common/ls/post-image.sh

diff --git a/DEVELOPERS b/DEVELOPERS
index 70f2671ff8..6fd8f8ee08 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -514,6 +514,7 @@ F:	configs/olimex_a13_olinuxino_defconfig
 F:	configs/orangepi_plus_defconfig
 
 N:	Changming Huang <jerry.huang@nxp.com>
+F:	board/nxp/common/ls/
 F:	package/nxp/qoriq-cadence-dp-firmware/
 
 N:	Chris Packham <judge.packham@gmail.com>
diff --git a/board/nxp/common/ls/busybox.config b/board/nxp/common/ls/busybox.config
new file mode 100644
index 0000000000..7074c65aa6
--- /dev/null
+++ b/board/nxp/common/ls/busybox.config
@@ -0,0 +1,9 @@
+#
+# Additional Busybox Settings
+#
+CONFIG_TASKSET=y
+CONFIG_FEATURE_TASKSET_FANCY=y
+CONFIG_FEATURE_DF_FANCY=y
+CONFIG_FEATURE_SEAMLESS_GZ=y
+CONFIG_FEATURE_SEAMLESS_BZ2=y
+CONFIG_FEATURE_SEAMLESS_XZ=y
diff --git a/board/nxp/common/ls/post-image-spi.sh b/board/nxp/common/ls/post-image-spi.sh
new file mode 100755
index 0000000000..81e9b96648
--- /dev/null
+++ b/board/nxp/common/ls/post-image-spi.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2 linux building directory
+# $3 buildroot top directory
+# $4 u-boot building directory
+#
+plat_name()
+{
+	if grep -Eq "^BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM=\"ls1028ardb\"$" ${BR2_CONFIG}; then
+		echo "ls1028ardb"
+	fi
+}
+
+# genimage.qspi.cfg.template: Boot from 64MB QSPI flash
+# genimage.xspi.256MB.cfg.template: Boot from 256MB flexSPI_nor flash
+# genimage.xspi.64MB.cfg.template: Boot from 64MB flexSPI_nor flash
+# genimage.cfg.template: Boot from SD and eMMC
+#
+genimage_type()
+{
+        if grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"qspi\"$" ${BR2_CONFIG}; then
+                echo "genimage.qspi.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"flexspi_nor\"$" ${BR2_CONFIG}; then
+		echo "genimage.xspi.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"emmc\"$" ${BR2_CONFIG}; then
+                echo "genimage.emmc.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"sd\"$" ${BR2_CONFIG}; then
+                echo "genimage.sd.cfg.template"
+        fi
+}
+
+main()
+{
+	# build the itb image
+	cp board/nxp/$(plat_name)/kernel.its ${BINARIES_DIR}/kernel.its
+	cd ${BINARIES_DIR}/
+	/usr/bin/mkimage -f kernel.its kernel.itb
+	rm kernel.its
+
+	cd ${3}
+
+	# build the SDcard image
+	local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
+	local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+
+	sed -e "s/%FILES%/${FILES}/" \
+		board/nxp/$(plat_name)/$(genimage_type) > ${GENIMAGE_CFG}
+
+	rm -rf "${GENIMAGE_TMP}"
+
+	genimage \
+		--rootpath "${TARGET_DIR}" \
+		--tmppath "${GENIMAGE_TMP}" \
+		--inputpath "${BINARIES_DIR}" \
+		--outputpath "${BINARIES_DIR}" \
+		--config "${GENIMAGE_CFG}"
+
+	rm -f ${GENIMAGE_CFG}
+
+	exit $?
+}
+
+main $@
diff --git a/board/nxp/common/ls/post-image.sh b/board/nxp/common/ls/post-image.sh
new file mode 100755
index 0000000000..6137379d29
--- /dev/null
+++ b/board/nxp/common/ls/post-image.sh
@@ -0,0 +1,92 @@
+#!/usr/bin/env bash
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2 linux building directory
+# $3 buildroot top directory
+# $4 u-boot building directory
+
+#
+# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
+# in ${BR_CONFIG}, then prints the corresponding list of file names for the
+# genimage configuration file
+#
+dtb_file()
+{
+        local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
+
+        for dt in $DTB_LIST; do
+                echo -n "\"`basename $dt`.dtb\", "
+        done
+}
+
+#
+# For Freescale/NXP Layerscape serial platforms (ARM v8), we use Image for SD/eMMC boot,
+# Image.gz for QSPI/XSPI boot. Then,prints the corresponding file name for the genimage
+# configuration file
+#
+linux_image()
+{
+	if grep -Eq "^BR2_LINUX_KERNEL_IMAGE_TARGET_NAME=\"Image\"$" ${BR2_CONFIG}; then
+		echo "\"Image\""
+	else
+		echo "\"Image.gz\""
+	fi
+}
+
+plat_name()
+{
+	if grep -Eq "^BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM=\"ls1028ardb\"$" ${BR2_CONFIG}; then
+		echo "ls1028ardb"
+	fi
+}
+
+#
+# genimage.qspi.cfg.template: Boot from 64MB QSPI flash
+# genimage.xspi.256MB.cfg.template: Boot from 256MB flexSPI_nor flash
+# genimage.xspi.64MB.cfg.template: Boot from 64MB flexSPI_nor flash
+# genimage.cfg.template: Boot from SD and eMMC
+#
+genimage_type()
+{
+        if grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"qspi\"$" ${BR2_CONFIG}; then
+                echo "genimage.qspi.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"flexspi_nor\"$" ${BR2_CONFIG}; then
+		echo "genimage.xspi.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"emmc\"$" ${BR2_CONFIG}; then
+                echo "genimage.emmc.cfg.template"
+        elif grep -Eq "^BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE=\"sd\"$" ${BR2_CONFIG}; then
+                echo "genimage.sd.cfg.template"
+        fi
+}
+
+dp_fw()
+{
+	if grep -Eq "^BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y$" ${BR2_CONFIG}; then
+		echo "\"ls1028a-dp-fw.bin\", "
+
+	fi
+}
+
+main()
+{
+	local FILES="$(dtb_file) $(dp_fw) $(linux_image)"
+	local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
+	local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+	sed -e "s/%FILES%/${FILES}/" \
+		board/nxp/$(plat_name)/$(genimage_type) > ${GENIMAGE_CFG}
+
+	rm -rf "${GENIMAGE_TMP}"
+
+	genimage \
+		--rootpath "${TARGET_DIR}" \
+		--tmppath "${GENIMAGE_TMP}" \
+		--inputpath "${BINARIES_DIR}" \
+		--outputpath "${BINARIES_DIR}" \
+		--config "${GENIMAGE_CFG}"
+
+	rm -f ${GENIMAGE_CFG}
+
+	exit $?
+}
+
+main $@
diff --git a/package/nxp/qoriq-rcw/Config.in.host b/package/nxp/qoriq-rcw/Config.in.host
index 9bf55894e8..7f5fbb3202 100644
--- a/package/nxp/qoriq-rcw/Config.in.host
+++ b/package/nxp/qoriq-rcw/Config.in.host
@@ -37,4 +37,10 @@ config BR2_PACKAGE_HOST_QORIQ_RCW_BIN
 
 	  If this option is empty, no rcw file is used.
 
+config BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE
+	string "QorIQ RCW Boot mode"
+	depends on !BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
+	help
+	  Specify the boot mode, for example, sd, emmc, flexspi_nor.
+
 endif
-- 
2.17.1

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

* [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
                   ` (6 preceding siblings ...)
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 8/9] board/nxp/common/ls: Add standard post image script for Layerscape processors Changming Huang
@ 2019-11-27  7:17 ` Changming Huang
  2019-12-03  1:48   ` Vladimir Oltean
  2019-12-24 12:47   ` [Buildroot] " Vladimir Oltean
  7 siblings, 2 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:17 UTC (permalink / raw)
  To: buildroot

This is to support Freescale/NXP LS1028ARDB in Buildroot.
The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.

The target will build uboot and RCW binary with arm-trusted-firmware support.

board/nxp/ls1028ardb/: scripts related with ls1028ardb
nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on board
nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on board

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
---
changes since v2:
1. Modify the qoriq-cadence-dp-firmware option in defconfig.
2. rename defconfig to nxp_ls1028*.
3. remove extra packages except busybox in defconfig.
4. modify the description of file genimage.xspi.cfg.template.

changes since v1:
1. add new option in configs/freescale_ls1028ardb-xxxx_defconfig.
---
 .gitlab-ci.yml                                |  3 +
 DEVELOPERS                                    |  2 +
 .../nxp/ls1028ardb/genimage.emmc.cfg.template | 52 ++++++++++++
 board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
 .../nxp/ls1028ardb/genimage.xspi.cfg.template | 55 ++++++++++++
 board/nxp/ls1028ardb/kernel.its               | 59 +++++++++++++
 board/nxp/ls1028ardb/ls1028-10-network.rules  | 16 ++++
 board/nxp/ls1028ardb/post-cfg-udev.sh         | 10 +++
 board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
 .../ls1028ardb/u-boot-environment-emmc.txt    | 22 +++++
 .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 21 +++++
 .../ls1028ardb/u-boot-environment-xspi.txt    | 22 +++++
 configs/nxp_ls1028ardb-64b-emmc_defconfig     | 85 +++++++++++++++++++
 configs/nxp_ls1028ardb-64b-xspi_defconfig     | 85 +++++++++++++++++++
 configs/nxp_ls1028ardb-64b_defconfig          | 85 +++++++++++++++++++
 15 files changed, 630 insertions(+)
 create mode 100644 board/nxp/ls1028ardb/genimage.emmc.cfg.template
 create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
 create mode 100644 board/nxp/ls1028ardb/genimage.xspi.cfg.template
 create mode 100644 board/nxp/ls1028ardb/kernel.its
 create mode 100644 board/nxp/ls1028ardb/ls1028-10-network.rules
 create mode 100755 board/nxp/ls1028ardb/post-cfg-udev.sh
 create mode 100644 board/nxp/ls1028ardb/readme.txt
 create mode 100644 board/nxp/ls1028ardb/u-boot-environment-emmc.txt
 create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
 create mode 100644 board/nxp/ls1028ardb/u-boot-environment-xspi.txt
 create mode 100644 configs/nxp_ls1028ardb-64b-emmc_defconfig
 create mode 100644 configs/nxp_ls1028ardb-64b-xspi_defconfig
 create mode 100644 configs/nxp_ls1028ardb-64b_defconfig

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 22befa0427..08e6360ff7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -223,6 +223,9 @@ nitrogen6sx_defconfig: { extends: .defconfig }
 nitrogen6x_defconfig: { extends: .defconfig }
 nitrogen7_defconfig: { extends: .defconfig }
 nitrogen8m_defconfig: { extends: .defconfig }
+nxp_ls1028ardb-64b-emmc_defconfig: { extends: .defconfig }
+nxp_ls1028ardb-64b_defconfig: { extends: .defconfig }
+nxp_ls1028ardb-64b-xspi_defconfig: { extends: .defconfig }
 odroidxu4_defconfig: { extends: .defconfig }
 olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
 olimex_a13_olinuxino_defconfig: { extends: .defconfig }
diff --git a/DEVELOPERS b/DEVELOPERS
index 6fd8f8ee08..efe4039194 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -515,6 +515,8 @@ F:	configs/orangepi_plus_defconfig
 
 N:	Changming Huang <jerry.huang@nxp.com>
 F:	board/nxp/common/ls/
+F:	board/nxp/ls1028ardb/
+F:	configs/nxp_ls1028ardb*
 F:	package/nxp/qoriq-cadence-dp-firmware/
 
 N:	Chris Packham <judge.packham@gmail.com>
diff --git a/board/nxp/ls1028ardb/genimage.emmc.cfg.template b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
new file mode 100644
index 0000000000..3afbda494e
--- /dev/null
+++ b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
@@ -0,0 +1,52 @@
+# Minimal eMMC boot image for the NXP boards Template
+#
+# eMMC image (sdcard.img) format:
+# * the eMMC must have 4 kB free space at the beginning,
+# * U-Boot is dumped as is,
+# * a FAT partition at offset 64 MB is containing Image and DTB files
+# * a single root filesystem partition is required (ext2, ext3 or ext4)
+#
+
+image boot.vfat {
+  vfat {
+    files = {
+      %FILES%
+    }
+  }
+  size = 256M
+}
+
+image sdcard.img {
+  hdimage {
+  }
+
+  partition rcw {
+    in-partition-table = "no"
+    image = "bl2_emmc.pbl"
+    offset = 4096
+  }
+
+  partition u-boot {
+    in-partition-table = "no"
+    image = "fip.bin"
+    offset = 1M
+  }
+
+  partition u-boot-environment {
+    in-partition-table = "no"
+    image = "uboot-env.bin"
+    offset = 5M
+  }
+
+  partition boot {
+    partition-type = 0xC
+    bootable = "true"
+    image = "boot.vfat"
+    offset = 64M
+  }
+
+  partition rootfs {
+    partition-type = 0x83
+    image = "rootfs.ext2"
+  }
+}
diff --git a/board/nxp/ls1028ardb/genimage.sd.cfg.template b/board/nxp/ls1028ardb/genimage.sd.cfg.template
new file mode 100644
index 0000000000..ab50e103c1
--- /dev/null
+++ b/board/nxp/ls1028ardb/genimage.sd.cfg.template
@@ -0,0 +1,52 @@
+# Minimal SD card image for the NXP boards Template
+#
+# SD card image (sdcard.img) format:
+# * the SD card must have 4 kB free space at the beginning,
+# * U-Boot is dumped as is,
+# * a FAT partition at offset 64 MB is containing Image and DTB files
+# * a single root filesystem partition is required (ext2, ext3 or ext4)
+#
+
+image boot.vfat {
+  vfat {
+    files = {
+      %FILES%
+    }
+  }
+  size = 256M
+}
+
+image sdcard.img {
+  hdimage {
+  }
+
+  partition rcw {
+    in-partition-table = "no"
+    image = "bl2_sd.pbl"
+    offset = 4096
+  }
+
+  partition u-boot {
+    in-partition-table = "no"
+    image = "fip.bin"
+    offset = 1M
+  }
+
+  partition u-boot-environment {
+    in-partition-table = "no"
+    image = "uboot-env.bin"
+    offset = 5M
+  }
+
+  partition boot {
+    partition-type = 0xC
+    bootable = "true"
+    image = "boot.vfat"
+    offset = 64M
+  }
+
+  partition rootfs {
+    partition-type = 0x83
+    image = "rootfs.ext2"
+  }
+}
diff --git a/board/nxp/ls1028ardb/genimage.xspi.cfg.template b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
new file mode 100644
index 0000000000..1bc3a4ec49
--- /dev/null
+++ b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
@@ -0,0 +1,55 @@
+# Minimal XSPI (FlexSPI) image for the NXP boards Template
+#
+# FlexSPI image (xspi.cpio.img) format:
+# * For ls1028ardb, the FlexSPI flash size is 256MB, erase size is 128KB
+# * bl2_flexspi_nor.bpl: the RCW with ATF header
+# * fib.bin: u-boot-dtb.bin binary with ATF header
+# * Kernel.itb:
+# *   offset 16MB, include Kernel, ramdisk file system and DTB file
+#
+flash xspi-256M-128K {
+        pebsize = 128K
+        numpebs = 2048
+        minimum-io-unit-size = 128k
+}
+
+image xspi.cpio.img {
+  flash {
+  }
+  flashtype = "xspi-256M-128K"
+
+  partition rcw {
+    in-partition-table = "no"
+    image = "bl2_flexspi_nor.pbl"
+    offset = 0
+    size = 1M
+  }
+
+  partition u-boot {
+    in-partition-table = "no"
+    image = "fip.bin"
+    offset = 1M
+    size = 4M
+  }
+
+  partition u-boot-environment {
+    in-partition-table = "no"
+    image = "uboot-env.bin"
+    offset = 5M
+    size = 1M
+  }
+
+  partition dp-firmware {
+    in-partition-table = "no"
+    image = "ls1028a-dp-fw.bin"
+    offset = 0x940000
+    size = 256K
+  }
+
+  partition boot {
+    in-partition-table = "no"
+    image = "kernel.itb"
+    offset = 16M
+    size = 48M
+  }
+}
diff --git a/board/nxp/ls1028ardb/kernel.its b/board/nxp/ls1028ardb/kernel.its
new file mode 100644
index 0000000000..08e9700f30
--- /dev/null
+++ b/board/nxp/ls1028ardb/kernel.its
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2019 NXP
+ *
+ * Changming Huang <jerry.huang@nxp.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+/dts-v1/;
+
+/ {
+	description = "Image file for the LS1028A Linux Kernel";
+	#address-cells = <1>;
+
+	images {
+		kernel at 1 {
+			description = "ARM64 Linux kernel";
+			data = /incbin/("./Image.gz");
+			type = "kernel";
+			arch = "arm64";
+			os = "linux";
+			compression = "gzip";
+			load = <0x80080000>;
+			entry = <0x80080000>;
+		};
+		fdt at 1 {
+			description = "Flattened Device Tree blob";
+			data = /incbin/("./fsl-ls1028a-rdb.dtb");
+			type = "flat_dt";
+			arch = "arm64";
+			compression = "none";
+			load = <0x90000000>;
+		};
+		ramdisk at 1 {
+			description = "LS1028 Ramdisk";
+                        data = /incbin/("./rootfs.cpio.gz");
+			type = "ramdisk";
+			arch = "arm64";
+			os = "linux";
+			compression = "gzip";
+		};
+	};
+
+	configurations {
+		default = "config at 1";
+		config at 1 {
+			description = "Boot Linux kernel";
+			kernel = "kernel at 1";
+			fdt = "fdt at 1";
+			ramdisk = "ramdisk at 1";
+		};
+		ls1028ardb {
+			description = "Boot Linux kernel";
+			kernel = "kernel at 1";
+			fdt = "fdt at 1";
+			ramdisk = "ramdisk at 1";
+		};
+	};
+};
diff --git a/board/nxp/ls1028ardb/ls1028-10-network.rules b/board/nxp/ls1028ardb/ls1028-10-network.rules
new file mode 100644
index 0000000000..19f41634bd
--- /dev/null
+++ b/board/nxp/ls1028ardb/ls1028-10-network.rules
@@ -0,0 +1,16 @@
+# ENETC rules
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME:="eno0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME:="eno1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME:="eno2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME:="eno3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
+# LS1028 switch rules
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
+ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
diff --git a/board/nxp/ls1028ardb/post-cfg-udev.sh b/board/nxp/ls1028ardb/post-cfg-udev.sh
new file mode 100755
index 0000000000..311a93aee2
--- /dev/null
+++ b/board/nxp/ls1028ardb/post-cfg-udev.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+main()
+{
+	cp board/nxp/ls1028ardb/ls1028-10-network.rules ${TARGET_DIR}/etc/udev/rules.d/10-network.rules
+
+	exit $?
+}
+
+main $@
diff --git a/board/nxp/ls1028ardb/readme.txt b/board/nxp/ls1028ardb/readme.txt
new file mode 100644
index 0000000000..713babd7c3
--- /dev/null
+++ b/board/nxp/ls1028ardb/readme.txt
@@ -0,0 +1,61 @@
+LS1028ARDB board is one platform based on LS1028A silicon for industry,
+which is supported in LSDK-19.09.
+
+One simple image file is created by buildroot, which includes RCW, uboot,
+Linux kernel, rootfs and other necessary binaries for this board.
+
+To program the image file created by buildroot into the flash.
+There are two way to do it:
+
+1. Program the image file on PC machine for SD card boot
+  $ sudo dd if=./output/images/sdcard.img of=/dev/sdx
+  # or in some other host machine:
+  $ sudo dd if=./output/images/sdcard.img of=/dev/mmcblkx
+
+  # find the right SD Card device name in your host machine and replace the
+  # ?sdx? or ?mmcblkx?.
+
+2. Program the image file on board for eMMC and XSPI boot
+Make sure your board has ipaddr, netmask, and serverip defined to reach your
+tftp server.
+
+  2.1 Program eMMC boot image file to eMMC chip
+    # Make sure output/images/sdcard.img is stored to tftp server
+    # Below command is one example
+    => tftpboot 0xa0000000 sdcard.img
+    => mmc dev 1
+    => mmc erase 0 0x200000
+    => mmc write 0xa0000000 0 0x200000
+
+    # The size "0x200000" will be changed when the image size is different.
+
+  2.2 Program XSPI boot image file to flash
+    # Make sure output/images/xspi.cpio.img is stored to tftp server
+    # Below command is one example
+    => tftpboot 0xa0000000 xspi.cpio.img
+    => sf probe
+    => sf erase 0 $filesize
+    => sf write 0xa0000000 0 $filesize
+
+3. Booting your new system
+Before booting the new system, we should make sure the switch setting is right.
+below switch setting is for each booting mode:
+    +-----------+---------------------+
+    |Boot mode  | Switch setting      |
+    +---------------------------------+
+    |SD boot    | SW2[1~4] = 0b?1000  |
+    +---------------------------------+
+    |eMMC boot  | SW2[1~4] = 0b?1001  |
+    +---------------------------------+
+    |XSPI boot  | SW2[1~4] = 0b?1111  |
+    +-----------+---------------------+
+
+or we use following command to reset the board in uboot prompt:
+  # boot from SD card
+  => qixis_reset sd
+
+  # boot from eMMC chip
+  => qixis_reset emmc
+
+  # boot from XSPI
+  => qixis_reset qspi
diff --git a/board/nxp/ls1028ardb/u-boot-environment-emmc.txt b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
new file mode 100644
index 0000000000..01a97aa89d
--- /dev/null
+++ b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
@@ -0,0 +1,22 @@
+baudrate=115200
+bootcmd=setenv bootargs root=/dev/mmcblk1p2 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60;mmc dev 1;mmcinfo;fatload mmc 1:1 ${dp_load} ${dp_file};hdp load ${dp_load} ${dp_offset};fatload mmc 1:1 ${loadaddr} ${bootfile};fatload mmc 1:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} - ${fdtaddr}
+bootdelay=3
+bootfile=Image
+fdtfile=fsl-ls1028a-rdb.dtb
+eth2addr=00:1F:7B:63:35:E9
+ethact=FM1 at DTSEC3
+ethprime=FM1 at DTSEC3
+fdt_high=0xffffffffffffffff
+fdtcontroladdr=ffc01550
+fman_ucode=ffc12090
+hwconfig=fsl_ddr:bank_intlv=auto
+initrd_high=0xffffffffffffffff
+loadaddr=0xa0000000
+fdtaddr=0xb0000000
+dp_file=ls1028a-dp-fw.bin
+dp_load=0x90000000
+dp_offset=0x2000
+stderr=serial
+stdin=serial
+stdout=serial
+rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 0:1 ${loadaddr} ${bootfile};bootm ${loadaddr}
diff --git a/board/nxp/ls1028ardb/u-boot-environment-sd.txt b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
new file mode 100644
index 0000000000..820989280f
--- /dev/null
+++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
@@ -0,0 +1,21 @@
+baudrate=115200
+bootcmd=setenv bootargs root=/dev/mmcblk0p2 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60;mmcinfo;fatload mmc 0:1 ${dp_load} ${dp_file}; hdp load ${dp_load} ${dp_offset};fatload mmc 0:1 ${loadaddr} ${bootfile};fatload mmc 0:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} - ${fdtaddr}
+bootdelay=3
+bootfile=Image
+fdtfile=fsl-ls1028a-rdb.dtb
+eth2addr=00:1F:7B:63:35:E9
+ethact=FM1 at DTSEC3
+ethprime=FM1 at DTSEC3
+fdt_high=0xffffffffffffffff
+fdtcontroladdr=ffc01550
+fman_ucode=ffc12090
+hwconfig=fsl_ddr:bank_intlv=auto
+initrd_high=0xffffffffffffffff
+loadaddr=0xa0000000
+fdtaddr=0xb0000000
+dp_file=ls1028a-dp-fw.bin
+dp_load=0x90000000
+dp_offset=0x2000
+stderr=serial
+stdin=serial
+stdout=serial
diff --git a/board/nxp/ls1028ardb/u-boot-environment-xspi.txt b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
new file mode 100644
index 0000000000..5677cdddaa
--- /dev/null
+++ b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
@@ -0,0 +1,22 @@
+baudrate=115200
+bootcmd=setenv bootargs root=/dev/ram0 rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60; sf probe 0:0; sf read $dp_load $dp_start $dp_size; hdp load $dp_load $dp_offset; sf read $kernel_load $kernel_start $kernel_size && bootm $kernel_load
+bootdelay=3
+eth2addr=00:1F:7B:63:35:E9
+ethact=FM1 at DTSEC3
+ethprime=FM1 at DTSEC3
+fdt_high=0xffffffffffffffff
+fdtcontroladdr=ffc01550
+fman_ucode=ffc12090
+hwconfig=fsl_ddr:bank_intlv=auto
+initrd_high=0xffffffffffffffff
+kernel_load=0xa0000000
+kernel_size=0x3000000
+kernel_start=0x1000000
+dp_load=0x90000000
+dp_start=0x940000
+dp_size=0x40000
+dp_offset=0x2000
+stderr=serial
+stdin=serial
+stdout=serial
+rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 0:1 ${loadaddr} ${bootfile};bootm $loadaddr
diff --git a/configs/nxp_ls1028ardb-64b-emmc_defconfig b/configs/nxp_ls1028ardb-64b-emmc_defconfig
new file mode 100644
index 0000000000..019889f5e0
--- /dev/null
+++ b/configs/nxp_ls1028ardb-64b-emmc_defconfig
@@ -0,0 +1,85 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a72=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+
+# Hostname and issue
+BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
+
+# toolchain
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
+
+# Linux headers same as kernel
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
+BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_FORMAT_BIN=n
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
+BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
+BR2_TARGET_UBOOT_ENVIMAGE=y
+BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-emmc.txt"
+BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+
+# Serial port config
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+
+# required tools to create the microSD image
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
+
+# busybox setting
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+
+# packages for rcw
+BR2_PACKAGE_HOST_QORIQ_RCW=y
+BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="emmc"
+BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.bin"
+
+#Display port firmware
+BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
+
+#eudev support
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
+
+# Arm-Trusted-Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_emmc.pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=emmc RCW=$(BINARIES_DIR)/rcw_1300_emmcboot.bin"
diff --git a/configs/nxp_ls1028ardb-64b-xspi_defconfig b/configs/nxp_ls1028ardb-64b-xspi_defconfig
new file mode 100644
index 0000000000..66241c4c79
--- /dev/null
+++ b/configs/nxp_ls1028ardb-64b-xspi_defconfig
@@ -0,0 +1,85 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a72=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_CPIO_GZIP=y
+BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
+
+# Hostname and issue
+BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
+
+# toolchain
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
+
+# Linux headers same as kernel
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_FORMAT_BIN=n
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
+BR2_TARGET_UBOOT_ENVIMAGE=y
+BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-xspi.txt"
+BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image.gz"
+
+# Serial port config
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+
+# required tools to create the microSD image
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image-spi.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
+
+# busybox setting
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls/busybox.config"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+
+# packages for rcw
+BR2_PACKAGE_HOST_QORIQ_RCW=y
+BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="flexspi_nor"
+BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.bin"
+
+#Display port firmware
+BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
+
+#eudev support
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
+
+# Arm-Trusted-Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_flexspi_nor.pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=flexspi_nor RCW=$(BINARIES_DIR)/rcw_1500_gpu600.bin"
diff --git a/configs/nxp_ls1028ardb-64b_defconfig b/configs/nxp_ls1028ardb-64b_defconfig
new file mode 100644
index 0000000000..fdb251058f
--- /dev/null
+++ b/configs/nxp_ls1028ardb-64b_defconfig
@@ -0,0 +1,85 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a72=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+
+# Hostname and issue
+BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
+
+# toolchain
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
+
+# Linux headers same as kernel
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
+
+# bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_FORMAT_BIN=n
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
+BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
+BR2_TARGET_UBOOT_ENVIMAGE=y
+BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-sd.txt"
+BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+
+# Serial port config
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+
+# required tools to create the microSD image
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
+
+# busybox setting
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls/busybox.config"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+
+# packages for rcw
+BR2_PACKAGE_HOST_QORIQ_RCW=y
+BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="sd"
+BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin"
+
+#Display port firmware
+BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
+
+#eudev support
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
+
+# Arm-Trusted-Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd RCW=$(BINARIES_DIR)/rcw_1300_sdboot.bin"
-- 
2.17.1

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

* [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
@ 2019-11-27  7:21   ` Jerry Huang
  0 siblings, 0 replies; 18+ messages in thread
From: Jerry Huang @ 2019-11-27  7:21 UTC (permalink / raw)
  To: buildroot

Sorry, the description of patch is not changed, I will resend it out again.

Best Regards
Jerry Huang

> -----Original Message-----
> From: Changming Huang <jerry.huang@nxp.com>
> Sent: Wednesday, November 27, 2019 3:17 PM
> To: buildroot at busybox.net
> Cc: thomas.petazzoni at bootlin.com; michael at walle.cc;
> matthew.weber at collins.com; geomatsi at gmail.com; Jerry Huang
> <jerry.huang@nxp.com>
> Subject: [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support
> 
> From: Jerry Huang <jerry.huang@nxp.com>
> 
> For NXP QorIQ (PowerPC and Layerscape) platform, we need to specify the RCW
> file and build it to binary.
> 
> Introduce BR2_PACKAGE_HOST_RCW_BIN to specify the RCW binary file.
> 
> Introduce BR2_PACKAGE_HOST_RCW_BOOT_MODE to define the boot mode.
> Because the RCW binary can be stored in different media, for example:
> SD card - RCW locate in SD card, boot the board from SD card
> eMMC    - RCW locate in eMMC chip, boot the board from eMMC chip
> flexSPI - RCW locate in flexSPI, boot the board from flexSPI Nor/Nand flash
> QSPI    - RCW locate in QSPI flash, boot the board from QSPI flash
> 
> Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
> ---
> changes since v2:
> 1. modify the patch descrition
> 2. more detail for BR2_PACKAGE_HOST_QORIQ_RCW_BIN 3. remove two
> options not used in this patch 4. add the condition detection in makefile for
> QorIQ RCW
> 
> changes since v1:
> 1. add option BR2_PACKAGE_HOST_RCW_ATF for ATF.
> ---
>  package/nxp/qoriq-rcw/Config.in.host | 12 ++++++++++++
>  package/nxp/qoriq-rcw/qoriq-rcw.mk   | 15 +++++++++++++++
>  2 files changed, 27 insertions(+)
> 
> diff --git a/package/nxp/qoriq-rcw/Config.in.host
> b/package/nxp/qoriq-rcw/Config.in.host
> index 8f78a40908..9bf55894e8 100644
> --- a/package/nxp/qoriq-rcw/Config.in.host
> +++ b/package/nxp/qoriq-rcw/Config.in.host
> @@ -25,4 +25,16 @@ config
> BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
>  	  included for use in the SDK or with post scripts but no
>  	  RCW binary will not be generated.
> 
> +config BR2_PACKAGE_HOST_QORIQ_RCW_BIN
> +	string "Custom RCW"
> +	depends on !BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
> +	help
> +	  This option is used to specify the RCW binary file for board.
> +	  which is composed with platform/serdes_value/rcw_file, platform
> +	  is the platform name, serdes_value is the setting of the Serdes,
> +	  rcw_file is the file name of RCW, for example:
> +	  "ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin"
> +
> +	  If this option is empty, no rcw file is used.
> +
>  endif
> diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.mk
> b/package/nxp/qoriq-rcw/qoriq-rcw.mk
> index 7a0494adc6..bbd085f277 100644
> --- a/package/nxp/qoriq-rcw/qoriq-rcw.mk
> +++ b/package/nxp/qoriq-rcw/qoriq-rcw.mk
> @@ -37,6 +37,21 @@ endef
>  define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
>  	$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin  endef
> +else
> +QORIQ_RCW_PATH_FILE_BIN = $(call
> +qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_BIN))
> +
> +ifneq ($(QORIQ_RCW_PATH_FILE_BIN),)
> +QORIQ_RCW_PLATFORM = $(firstword $(subst /,
> +,$(QORIQ_RCW_PATH_FILE_BIN))) QORIQ_RCW_FILE_BIN = $(lastword $(subst
> +/, ,$(QORIQ_RCW_PATH_FILE_BIN)))
> +
> +define HOST_QORIQ_RCW_BUILD_CMDS
> +	$(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM) endef
> +
> +define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
> +	$(INSTALL) -D -m 0644 $(@D)/$(QORIQ_RCW_PATH_FILE_BIN)
> +$(BINARIES_DIR)/$(QORIQ_RCW_FILE_BIN)
> +endef
> +endif
>  endif
> 
>  # Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer
> --
> 2.17.1

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

* [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board Changming Huang
@ 2019-12-03  1:48   ` Vladimir Oltean
  2019-12-03  8:56     ` Michael Walle
                       ` (2 more replies)
  2019-12-24 12:47   ` [Buildroot] " Vladimir Oltean
  1 sibling, 3 replies; 18+ messages in thread
From: Vladimir Oltean @ 2019-12-03  1:48 UTC (permalink / raw)
  To: buildroot

On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com> wrote:
>
> This is to support Freescale/NXP LS1028ARDB in Buildroot.
> The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
>
> The target will build uboot and RCW binary with arm-trusted-firmware support.
>
> board/nxp/ls1028ardb/: scripts related with ls1028ardb
> nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on board
> nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
> nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on board
>
> Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> ---
> changes since v2:
> 1. Modify the qoriq-cadence-dp-firmware option in defconfig.
> 2. rename defconfig to nxp_ls1028*.
> 3. remove extra packages except busybox in defconfig.
> 4. modify the description of file genimage.xspi.cfg.template.
>
> changes since v1:
> 1. add new option in configs/freescale_ls1028ardb-xxxx_defconfig.
> ---
>  .gitlab-ci.yml                                |  3 +
>  DEVELOPERS                                    |  2 +
>  .../nxp/ls1028ardb/genimage.emmc.cfg.template | 52 ++++++++++++
>  board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
>  .../nxp/ls1028ardb/genimage.xspi.cfg.template | 55 ++++++++++++
>  board/nxp/ls1028ardb/kernel.its               | 59 +++++++++++++
>  board/nxp/ls1028ardb/ls1028-10-network.rules  | 16 ++++
>  board/nxp/ls1028ardb/post-cfg-udev.sh         | 10 +++
>  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
>  .../ls1028ardb/u-boot-environment-emmc.txt    | 22 +++++
>  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 21 +++++
>  .../ls1028ardb/u-boot-environment-xspi.txt    | 22 +++++
>  configs/nxp_ls1028ardb-64b-emmc_defconfig     | 85 +++++++++++++++++++
>  configs/nxp_ls1028ardb-64b-xspi_defconfig     | 85 +++++++++++++++++++
>  configs/nxp_ls1028ardb-64b_defconfig          | 85 +++++++++++++++++++
>  15 files changed, 630 insertions(+)
>  create mode 100644 board/nxp/ls1028ardb/genimage.emmc.cfg.template
>  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
>  create mode 100644 board/nxp/ls1028ardb/genimage.xspi.cfg.template
>  create mode 100644 board/nxp/ls1028ardb/kernel.its
>  create mode 100644 board/nxp/ls1028ardb/ls1028-10-network.rules
>  create mode 100755 board/nxp/ls1028ardb/post-cfg-udev.sh
>  create mode 100644 board/nxp/ls1028ardb/readme.txt
>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-emmc.txt
>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-xspi.txt
>  create mode 100644 configs/nxp_ls1028ardb-64b-emmc_defconfig
>  create mode 100644 configs/nxp_ls1028ardb-64b-xspi_defconfig
>  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 22befa0427..08e6360ff7 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -223,6 +223,9 @@ nitrogen6sx_defconfig: { extends: .defconfig }
>  nitrogen6x_defconfig: { extends: .defconfig }
>  nitrogen7_defconfig: { extends: .defconfig }
>  nitrogen8m_defconfig: { extends: .defconfig }
> +nxp_ls1028ardb-64b-emmc_defconfig: { extends: .defconfig }
> +nxp_ls1028ardb-64b_defconfig: { extends: .defconfig }
> +nxp_ls1028ardb-64b-xspi_defconfig: { extends: .defconfig }
>  odroidxu4_defconfig: { extends: .defconfig }
>  olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
>  olimex_a13_olinuxino_defconfig: { extends: .defconfig }
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 6fd8f8ee08..efe4039194 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -515,6 +515,8 @@ F:  configs/orangepi_plus_defconfig
>
>  N:     Changming Huang <jerry.huang@nxp.com>
>  F:     board/nxp/common/ls/
> +F:     board/nxp/ls1028ardb/
> +F:     configs/nxp_ls1028ardb*
>  F:     package/nxp/qoriq-cadence-dp-firmware/
>
>  N:     Chris Packham <judge.packham@gmail.com>
> diff --git a/board/nxp/ls1028ardb/genimage.emmc.cfg.template b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> new file mode 100644
> index 0000000000..3afbda494e
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> @@ -0,0 +1,52 @@
> +# Minimal eMMC boot image for the NXP boards Template
> +#
> +# eMMC image (sdcard.img) format:
> +# * the eMMC must have 4 kB free space at the beginning,
> +# * U-Boot is dumped as is,
> +# * a FAT partition at offset 64 MB is containing Image and DTB files
> +# * a single root filesystem partition is required (ext2, ext3 or ext4)
> +#
> +
> +image boot.vfat {
> +  vfat {
> +    files = {
> +      %FILES%
> +    }
> +  }
> +  size = 256M
> +}
> +
> +image sdcard.img {
> +  hdimage {
> +  }
> +
> +  partition rcw {
> +    in-partition-table = "no"
> +    image = "bl2_emmc.pbl"
> +    offset = 4096
> +  }
> +
> +  partition u-boot {
> +    in-partition-table = "no"
> +    image = "fip.bin"
> +    offset = 1M
> +  }
> +
> +  partition u-boot-environment {
> +    in-partition-table = "no"
> +    image = "uboot-env.bin"
> +    offset = 5M
> +  }
> +
> +  partition boot {
> +    partition-type = 0xC
> +    bootable = "true"
> +    image = "boot.vfat"
> +    offset = 64M
> +  }
> +
> +  partition rootfs {
> +    partition-type = 0x83
> +    image = "rootfs.ext2"
> +  }
> +}
> diff --git a/board/nxp/ls1028ardb/genimage.sd.cfg.template b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> new file mode 100644
> index 0000000000..ab50e103c1
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> @@ -0,0 +1,52 @@
> +# Minimal SD card image for the NXP boards Template
> +#
> +# SD card image (sdcard.img) format:
> +# * the SD card must have 4 kB free space at the beginning,
> +# * U-Boot is dumped as is,
> +# * a FAT partition at offset 64 MB is containing Image and DTB files
> +# * a single root filesystem partition is required (ext2, ext3 or ext4)
> +#
> +
> +image boot.vfat {
> +  vfat {
> +    files = {
> +      %FILES%
> +    }
> +  }
> +  size = 256M
> +}
> +
> +image sdcard.img {
> +  hdimage {
> +  }
> +
> +  partition rcw {
> +    in-partition-table = "no"
> +    image = "bl2_sd.pbl"
> +    offset = 4096
> +  }
> +
> +  partition u-boot {
> +    in-partition-table = "no"
> +    image = "fip.bin"
> +    offset = 1M
> +  }
> +
> +  partition u-boot-environment {
> +    in-partition-table = "no"
> +    image = "uboot-env.bin"
> +    offset = 5M
> +  }
> +
> +  partition boot {
> +    partition-type = 0xC
> +    bootable = "true"
> +    image = "boot.vfat"
> +    offset = 64M
> +  }
> +
> +  partition rootfs {
> +    partition-type = 0x83
> +    image = "rootfs.ext2"
> +  }
> +}
> diff --git a/board/nxp/ls1028ardb/genimage.xspi.cfg.template b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> new file mode 100644
> index 0000000000..1bc3a4ec49
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> @@ -0,0 +1,55 @@
> +# Minimal XSPI (FlexSPI) image for the NXP boards Template
> +#
> +# FlexSPI image (xspi.cpio.img) format:
> +# * For ls1028ardb, the FlexSPI flash size is 256MB, erase size is 128KB
> +# * bl2_flexspi_nor.bpl: the RCW with ATF header
> +# * fib.bin: u-boot-dtb.bin binary with ATF header
> +# * Kernel.itb:
> +# *   offset 16MB, include Kernel, ramdisk file system and DTB file
> +#
> +flash xspi-256M-128K {
> +        pebsize = 128K
> +        numpebs = 2048
> +        minimum-io-unit-size = 128k
> +}
> +
> +image xspi.cpio.img {
> +  flash {
> +  }
> +  flashtype = "xspi-256M-128K"
> +
> +  partition rcw {
> +    in-partition-table = "no"
> +    image = "bl2_flexspi_nor.pbl"
> +    offset = 0
> +    size = 1M
> +  }
> +
> +  partition u-boot {
> +    in-partition-table = "no"
> +    image = "fip.bin"
> +    offset = 1M
> +    size = 4M
> +  }
> +
> +  partition u-boot-environment {
> +    in-partition-table = "no"
> +    image = "uboot-env.bin"
> +    offset = 5M
> +    size = 1M
> +  }
> +
> +  partition dp-firmware {
> +    in-partition-table = "no"
> +    image = "ls1028a-dp-fw.bin"
> +    offset = 0x940000
> +    size = 256K
> +  }
> +
> +  partition boot {
> +    in-partition-table = "no"
> +    image = "kernel.itb"
> +    offset = 16M
> +    size = 48M
> +  }
> +}
> diff --git a/board/nxp/ls1028ardb/kernel.its b/board/nxp/ls1028ardb/kernel.its
> new file mode 100644
> index 0000000000..08e9700f30
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/kernel.its
> @@ -0,0 +1,59 @@
> +/*
> + * Copyright 2019 NXP
> + *
> + * Changming Huang <jerry.huang@nxp.com>
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +
> +/dts-v1/;
> +
> +/ {
> +       description = "Image file for the LS1028A Linux Kernel";
> +       #address-cells = <1>;
> +
> +       images {
> +               kernel at 1 {
> +                       description = "ARM64 Linux kernel";
> +                       data = /incbin/("./Image.gz");
> +                       type = "kernel";
> +                       arch = "arm64";
> +                       os = "linux";
> +                       compression = "gzip";
> +                       load = <0x80080000>;
> +                       entry = <0x80080000>;
> +               };
> +               fdt at 1 {
> +                       description = "Flattened Device Tree blob";
> +                       data = /incbin/("./fsl-ls1028a-rdb.dtb");
> +                       type = "flat_dt";
> +                       arch = "arm64";
> +                       compression = "none";
> +                       load = <0x90000000>;
> +               };
> +               ramdisk at 1 {
> +                       description = "LS1028 Ramdisk";
> +                        data = /incbin/("./rootfs.cpio.gz");
> +                       type = "ramdisk";
> +                       arch = "arm64";
> +                       os = "linux";
> +                       compression = "gzip";
> +               };
> +       };
> +
> +       configurations {
> +               default = "config at 1";
> +               config at 1 {
> +                       description = "Boot Linux kernel";
> +                       kernel = "kernel at 1";
> +                       fdt = "fdt at 1";
> +                       ramdisk = "ramdisk at 1";
> +               };
> +               ls1028ardb {
> +                       description = "Boot Linux kernel";
> +                       kernel = "kernel at 1";
> +                       fdt = "fdt at 1";
> +                       ramdisk = "ramdisk at 1";
> +               };
> +       };
> +};
> diff --git a/board/nxp/ls1028ardb/ls1028-10-network.rules b/board/nxp/ls1028ardb/ls1028-10-network.rules
> new file mode 100644
> index 0000000000..19f41634bd
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/ls1028-10-network.rules
> @@ -0,0 +1,16 @@
> +# ENETC rules
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", DRIVERS=="fsl_enetc", NAME:="eno0"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", DRIVERS=="fsl_enetc", NAME:="eno1"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", DRIVERS=="fsl_enetc", NAME:="eno2"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", DRIVERS=="fsl_enetc", NAME:="eno3"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
> +# LS1028 switch rules
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
> diff --git a/board/nxp/ls1028ardb/post-cfg-udev.sh b/board/nxp/ls1028ardb/post-cfg-udev.sh
> new file mode 100755
> index 0000000000..311a93aee2
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/post-cfg-udev.sh
> @@ -0,0 +1,10 @@
> +#!/usr/bin/env bash
> +
> +main()
> +{
> +       cp board/nxp/ls1028ardb/ls1028-10-network.rules ${TARGET_DIR}/etc/udev/rules.d/10-network.rules

Shouldn't this be a part of a BR2_ROOTFS_OVERLAY fragment?

> +
> +       exit $?
> +}
> +
> +main $@
> diff --git a/board/nxp/ls1028ardb/readme.txt b/board/nxp/ls1028ardb/readme.txt
> new file mode 100644
> index 0000000000..713babd7c3
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/readme.txt
> @@ -0,0 +1,61 @@
> +LS1028ARDB board is one platform based on LS1028A silicon for industry,
> +which is supported in LSDK-19.09.
> +
> +One simple image file is created by buildroot, which includes RCW, uboot,
> +Linux kernel, rootfs and other necessary binaries for this board.
> +
> +To program the image file created by buildroot into the flash.
> +There are two way to do it:
> +
> +1. Program the image file on PC machine for SD card boot
> +  $ sudo dd if=./output/images/sdcard.img of=/dev/sdx
> +  # or in some other host machine:
> +  $ sudo dd if=./output/images/sdcard.img of=/dev/mmcblkx
> +
> +  # find the right SD Card device name in your host machine and replace the
> +  # ?sdx? or ?mmcblkx?.
> +
> +2. Program the image file on board for eMMC and XSPI boot
> +Make sure your board has ipaddr, netmask, and serverip defined to reach your
> +tftp server.
> +
> +  2.1 Program eMMC boot image file to eMMC chip
> +    # Make sure output/images/sdcard.img is stored to tftp server
> +    # Below command is one example
> +    => tftpboot 0xa0000000 sdcard.img
> +    => mmc dev 1
> +    => mmc erase 0 0x200000
> +    => mmc write 0xa0000000 0 0x200000
> +
> +    # The size "0x200000" will be changed when the image size is different.
> +
> +  2.2 Program XSPI boot image file to flash
> +    # Make sure output/images/xspi.cpio.img is stored to tftp server
> +    # Below command is one example
> +    => tftpboot 0xa0000000 xspi.cpio.img
> +    => sf probe
> +    => sf erase 0 $filesize
> +    => sf write 0xa0000000 0 $filesize
> +
> +3. Booting your new system
> +Before booting the new system, we should make sure the switch setting is right.
> +below switch setting is for each booting mode:
> +    +-----------+---------------------+
> +    |Boot mode  | Switch setting      |
> +    +---------------------------------+
> +    |SD boot    | SW2[1~4] = 0b?1000  |
> +    +---------------------------------+
> +    |eMMC boot  | SW2[1~4] = 0b?1001  |
> +    +---------------------------------+
> +    |XSPI boot  | SW2[1~4] = 0b?1111  |
> +    +-----------+---------------------+
> +
> +or we use following command to reset the board in uboot prompt:
> +  # boot from SD card
> +  => qixis_reset sd
> +
> +  # boot from eMMC chip
> +  => qixis_reset emmc
> +
> +  # boot from XSPI
> +  => qixis_reset qspi
> diff --git a/board/nxp/ls1028ardb/u-boot-environment-emmc.txt b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> new file mode 100644
> index 0000000000..01a97aa89d
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> @@ -0,0 +1,22 @@
> +baudrate=115200
> +bootcmd=setenv bootargs root=/dev/mmcblk1p2 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60;mmc dev 1;mmcinfo;fatload mmc 1:1 ${dp_load} ${dp_file};hdp load ${dp_load} ${dp_offset};fatload mmc 1:1 ${loadaddr} ${bootfile};fatload mmc 1:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} - ${fdtaddr}
> +bootdelay=3
> +bootfile=Image
> +fdtfile=fsl-ls1028a-rdb.dtb
> +eth2addr=00:1F:7B:63:35:E9

Do we really want to put a MAC address in the U-Boot environment? This
will work ok for the first board, but not so well for the second board
that you put in the same network.
And actually, do we want a U-Boot environment at all? The LSDK U-Boot
default environment is distroboot enabled. With the proper
extlinux.conf file generated by post-image.sh, it can load Buildroot
in a breeze with no custom script necessary:

label Buildroot %VERSION% - %BOARD%
  kernel %KERNEL%
  devicetree %DTB%
  append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait

> +ethact=FM1 at DTSEC3
> +ethprime=FM1 at DTSEC3

There is certainly no DTSEC port on LS1028A.

> +fdt_high=0xffffffffffffffff
> +fdtcontroladdr=ffc01550
> +fman_ucode=ffc12090

And no FMan microcode.

> +hwconfig=fsl_ddr:bank_intlv=auto
> +initrd_high=0xffffffffffffffff
> +loadaddr=0xa0000000
> +fdtaddr=0xb0000000
> +dp_file=ls1028a-dp-fw.bin
> +dp_load=0x90000000
> +dp_offset=0x2000
> +stderr=serial
> +stdin=serial
> +stdout=serial
> +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 0:1 ${loadaddr} ${bootfile};bootm ${loadaddr}

What does "rollbackboot" do?

> diff --git a/board/nxp/ls1028ardb/u-boot-environment-sd.txt b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> new file mode 100644
> index 0000000000..820989280f
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> @@ -0,0 +1,21 @@
> +baudrate=115200
> +bootcmd=setenv bootargs root=/dev/mmcblk0p2 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60;mmcinfo;fatload mmc 0:1 ${dp_load} ${dp_file}; hdp load ${dp_load} ${dp_offset};fatload mmc 0:1 ${loadaddr} ${bootfile};fatload mmc 0:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} - ${fdtaddr}
> +bootdelay=3
> +bootfile=Image
> +fdtfile=fsl-ls1028a-rdb.dtb
> +eth2addr=00:1F:7B:63:35:E9
> +ethact=FM1 at DTSEC3
> +ethprime=FM1 at DTSEC3
> +fdt_high=0xffffffffffffffff
> +fdtcontroladdr=ffc01550
> +fman_ucode=ffc12090
> +hwconfig=fsl_ddr:bank_intlv=auto
> +initrd_high=0xffffffffffffffff
> +loadaddr=0xa0000000
> +fdtaddr=0xb0000000
> +dp_file=ls1028a-dp-fw.bin
> +dp_load=0x90000000
> +dp_offset=0x2000
> +stderr=serial
> +stdin=serial
> +stdout=serial
> diff --git a/board/nxp/ls1028ardb/u-boot-environment-xspi.txt b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> new file mode 100644
> index 0000000000..5677cdddaa
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> @@ -0,0 +1,22 @@
> +baudrate=115200
> +bootcmd=setenv bootargs root=/dev/ram0 rw earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M video=1920x1080-32 at 60; sf probe 0:0; sf read $dp_load $dp_start $dp_size; hdp load $dp_load $dp_offset; sf read $kernel_load $kernel_start $kernel_size && bootm $kernel_load
> +bootdelay=3
> +eth2addr=00:1F:7B:63:35:E9
> +ethact=FM1 at DTSEC3
> +ethprime=FM1 at DTSEC3
> +fdt_high=0xffffffffffffffff
> +fdtcontroladdr=ffc01550
> +fman_ucode=ffc12090
> +hwconfig=fsl_ddr:bank_intlv=auto
> +initrd_high=0xffffffffffffffff
> +kernel_load=0xa0000000
> +kernel_size=0x3000000
> +kernel_start=0x1000000
> +dp_load=0x90000000
> +dp_start=0x940000
> +dp_size=0x40000
> +dp_offset=0x2000
> +stderr=serial
> +stdin=serial
> +stdout=serial
> +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 0:1 ${loadaddr} ${bootfile};bootm $loadaddr
> diff --git a/configs/nxp_ls1028ardb-64b-emmc_defconfig b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> new file mode 100644
> index 0000000000..019889f5e0
> --- /dev/null
> +++ b/configs/nxp_ls1028ardb-64b-emmc_defconfig

Thomas, is there any way in Buildroot to use fragments for the board
configs, to avoid duplication? I couldn't find any way.

> @@ -0,0 +1,85 @@
> +# Architecture
> +BR2_aarch64=y
> +BR2_cortex_a72=y
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +
> +# Hostname and issue
> +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> +
> +# toolchain
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> +
> +# Linux headers same as kernel
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
> +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_FORMAT_BIN=n
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-emmc.txt"
> +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> +
> +# Serial port config
> +BR2_TARGET_GENERIC_GETTY=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +
> +# required tools to create the microSD image
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
> +
> +# busybox setting
> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> +
> +# packages for rcw
> +BR2_PACKAGE_HOST_QORIQ_RCW=y
> +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="emmc"
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.bin"
> +
> +#Display port firmware
> +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> +
> +#eudev support
> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> +
> +# Arm-Trusted-Firmware
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_emmc.pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=emmc RCW=$(BINARIES_DIR)/rcw_1300_emmcboot.bin"
> diff --git a/configs/nxp_ls1028ardb-64b-xspi_defconfig b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> new file mode 100644
> index 0000000000..66241c4c79
> --- /dev/null
> +++ b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> @@ -0,0 +1,85 @@
> +# Architecture
> +BR2_aarch64=y
> +BR2_cortex_a72=y
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_CPIO=y
> +BR2_TARGET_ROOTFS_CPIO_GZIP=y
> +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
> +
> +# Hostname and issue
> +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> +
> +# toolchain
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> +
> +# Linux headers same as kernel
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_FORMAT_BIN=n
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> +BR2_TARGET_UBOOT_ENVIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-xspi.txt"
> +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image.gz"
> +
> +# Serial port config
> +BR2_TARGET_GENERIC_GETTY=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +
> +# required tools to create the microSD image
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image-spi.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
> +
> +# busybox setting
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls/busybox.config"
> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> +
> +# packages for rcw
> +BR2_PACKAGE_HOST_QORIQ_RCW=y
> +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="flexspi_nor"
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1500_gpu600.bin"
> +
> +#Display port firmware
> +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> +
> +#eudev support
> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> +
> +# Arm-Trusted-Firmware
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_flexspi_nor.pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=flexspi_nor RCW=$(BINARIES_DIR)/rcw_1500_gpu600.bin"
> diff --git a/configs/nxp_ls1028ardb-64b_defconfig b/configs/nxp_ls1028ardb-64b_defconfig
> new file mode 100644
> index 0000000000..fdb251058f
> --- /dev/null
> +++ b/configs/nxp_ls1028ardb-64b_defconfig
> @@ -0,0 +1,85 @@
> +# Architecture
> +BR2_aarch64=y
> +BR2_cortex_a72=y
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +
> +# Hostname and issue
> +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> +
> +# toolchain
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> +
> +# Linux headers same as kernel
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> +
> +# bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> +BR2_TARGET_UBOOT_FORMAT_BIN=n
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE=y
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-environment-sd.txt"
> +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/linux"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64/configs/lsdk.config"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> +
> +# Serial port config
> +BR2_TARGET_GENERIC_GETTY=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +
> +# required tools to create the microSD image
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MTOOLS=y
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR) $(UBOOT_DIR)"
> +
> +# busybox setting
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls/busybox.config"
> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> +
> +# packages for rcw
> +BR2_PACKAGE_HOST_QORIQ_RCW=y
> +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="sd"
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin"
> +
> +#Display port firmware
> +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> +
> +#eudev support
> +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> +
> +# Arm-Trusted-Firmware
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dtb.bin"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/qoriq/qoriq-components/atf"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-19.09"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="host-qoriq-rcw"
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT_MODE=sd RCW=$(BINARIES_DIR)/rcw_1300_sdboot.bin"
> --
> 2.17.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Thanks,
-Vladimir

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

* [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-12-03  1:48   ` Vladimir Oltean
@ 2019-12-03  8:56     ` Michael Walle
  2019-12-06  7:28     ` [Buildroot] [EXT] " Jerry Huang
  2019-12-06  8:20     ` Jerry Huang
  2 siblings, 0 replies; 18+ messages in thread
From: Michael Walle @ 2019-12-03  8:56 UTC (permalink / raw)
  To: buildroot

Am 2019-12-03 02:48, schrieb Vladimir Oltean:
> On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com> 
> wrote:
>> 
>> This is to support Freescale/NXP LS1028ARDB in Buildroot.
>> The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
>> 
>> The target will build uboot and RCW binary with arm-trusted-firmware 
>> support.
>> 
>> board/nxp/ls1028ardb/: scripts related with ls1028ardb
>> nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on 
>> board
>> nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
>> nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on 
>> board
>> 
>> Signed-off-by: Changming Huang <jerry.huang@nxp.com>
>> ---
>> changes since v2:
>> 1. Modify the qoriq-cadence-dp-firmware option in defconfig.
>> 2. rename defconfig to nxp_ls1028*.
>> 3. remove extra packages except busybox in defconfig.
>> 4. modify the description of file genimage.xspi.cfg.template.
>> 
>> changes since v1:
>> 1. add new option in configs/freescale_ls1028ardb-xxxx_defconfig.
>> ---
>>  .gitlab-ci.yml                                |  3 +
>>  DEVELOPERS                                    |  2 +
>>  .../nxp/ls1028ardb/genimage.emmc.cfg.template | 52 ++++++++++++
>>  board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
>>  .../nxp/ls1028ardb/genimage.xspi.cfg.template | 55 ++++++++++++
>>  board/nxp/ls1028ardb/kernel.its               | 59 +++++++++++++
>>  board/nxp/ls1028ardb/ls1028-10-network.rules  | 16 ++++
>>  board/nxp/ls1028ardb/post-cfg-udev.sh         | 10 +++
>>  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
>>  .../ls1028ardb/u-boot-environment-emmc.txt    | 22 +++++
>>  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 21 +++++
>>  .../ls1028ardb/u-boot-environment-xspi.txt    | 22 +++++
>>  configs/nxp_ls1028ardb-64b-emmc_defconfig     | 85 
>> +++++++++++++++++++
>>  configs/nxp_ls1028ardb-64b-xspi_defconfig     | 85 
>> +++++++++++++++++++
>>  configs/nxp_ls1028ardb-64b_defconfig          | 85 
>> +++++++++++++++++++
>>  15 files changed, 630 insertions(+)
>>  create mode 100644 board/nxp/ls1028ardb/genimage.emmc.cfg.template
>>  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
>>  create mode 100644 board/nxp/ls1028ardb/genimage.xspi.cfg.template
>>  create mode 100644 board/nxp/ls1028ardb/kernel.its
>>  create mode 100644 board/nxp/ls1028ardb/ls1028-10-network.rules
>>  create mode 100755 board/nxp/ls1028ardb/post-cfg-udev.sh
>>  create mode 100644 board/nxp/ls1028ardb/readme.txt
>>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-emmc.txt
>>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
>>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-xspi.txt
>>  create mode 100644 configs/nxp_ls1028ardb-64b-emmc_defconfig
>>  create mode 100644 configs/nxp_ls1028ardb-64b-xspi_defconfig
>>  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
>> 
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index 22befa0427..08e6360ff7 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -223,6 +223,9 @@ nitrogen6sx_defconfig: { extends: .defconfig }
>>  nitrogen6x_defconfig: { extends: .defconfig }
>>  nitrogen7_defconfig: { extends: .defconfig }
>>  nitrogen8m_defconfig: { extends: .defconfig }
>> +nxp_ls1028ardb-64b-emmc_defconfig: { extends: .defconfig }
>> +nxp_ls1028ardb-64b_defconfig: { extends: .defconfig }
>> +nxp_ls1028ardb-64b-xspi_defconfig: { extends: .defconfig }
>>  odroidxu4_defconfig: { extends: .defconfig }
>>  olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
>>  olimex_a13_olinuxino_defconfig: { extends: .defconfig }
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index 6fd8f8ee08..efe4039194 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -515,6 +515,8 @@ F:  configs/orangepi_plus_defconfig
>> 
>>  N:     Changming Huang <jerry.huang@nxp.com>
>>  F:     board/nxp/common/ls/
>> +F:     board/nxp/ls1028ardb/
>> +F:     configs/nxp_ls1028ardb*
>>  F:     package/nxp/qoriq-cadence-dp-firmware/
>> 
>>  N:     Chris Packham <judge.packham@gmail.com>
>> diff --git a/board/nxp/ls1028ardb/genimage.emmc.cfg.template 
>> b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
>> new file mode 100644
>> index 0000000000..3afbda494e
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
>> @@ -0,0 +1,52 @@
>> +# Minimal eMMC boot image for the NXP boards Template
>> +#
>> +# eMMC image (sdcard.img) format:
>> +# * the eMMC must have 4 kB free space at the beginning,
>> +# * U-Boot is dumped as is,
>> +# * a FAT partition at offset 64 MB is containing Image and DTB files
>> +# * a single root filesystem partition is required (ext2, ext3 or 
>> ext4)
>> +#
>> +
>> +image boot.vfat {
>> +  vfat {
>> +    files = {
>> +      %FILES%
>> +    }
>> +  }
>> +  size = 256M
>> +}
>> +
>> +image sdcard.img {
>> +  hdimage {
>> +  }
>> +
>> +  partition rcw {
>> +    in-partition-table = "no"
>> +    image = "bl2_emmc.pbl"
>> +    offset = 4096
>> +  }
>> +
>> +  partition u-boot {
>> +    in-partition-table = "no"
>> +    image = "fip.bin"
>> +    offset = 1M
>> +  }
>> +
>> +  partition u-boot-environment {
>> +    in-partition-table = "no"
>> +    image = "uboot-env.bin"
>> +    offset = 5M
>> +  }
>> +
>> +  partition boot {
>> +    partition-type = 0xC
>> +    bootable = "true"
>> +    image = "boot.vfat"
>> +    offset = 64M
>> +  }
>> +
>> +  partition rootfs {
>> +    partition-type = 0x83
>> +    image = "rootfs.ext2"
>> +  }
>> +}
>> diff --git a/board/nxp/ls1028ardb/genimage.sd.cfg.template 
>> b/board/nxp/ls1028ardb/genimage.sd.cfg.template
>> new file mode 100644
>> index 0000000000..ab50e103c1
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/genimage.sd.cfg.template
>> @@ -0,0 +1,52 @@
>> +# Minimal SD card image for the NXP boards Template
>> +#
>> +# SD card image (sdcard.img) format:
>> +# * the SD card must have 4 kB free space at the beginning,
>> +# * U-Boot is dumped as is,
>> +# * a FAT partition at offset 64 MB is containing Image and DTB files
>> +# * a single root filesystem partition is required (ext2, ext3 or 
>> ext4)
>> +#
>> +
>> +image boot.vfat {
>> +  vfat {
>> +    files = {
>> +      %FILES%
>> +    }
>> +  }
>> +  size = 256M
>> +}
>> +
>> +image sdcard.img {
>> +  hdimage {
>> +  }
>> +
>> +  partition rcw {
>> +    in-partition-table = "no"
>> +    image = "bl2_sd.pbl"
>> +    offset = 4096
>> +  }
>> +
>> +  partition u-boot {
>> +    in-partition-table = "no"
>> +    image = "fip.bin"
>> +    offset = 1M
>> +  }
>> +
>> +  partition u-boot-environment {
>> +    in-partition-table = "no"
>> +    image = "uboot-env.bin"
>> +    offset = 5M
>> +  }
>> +
>> +  partition boot {
>> +    partition-type = 0xC
>> +    bootable = "true"
>> +    image = "boot.vfat"
>> +    offset = 64M
>> +  }
>> +
>> +  partition rootfs {
>> +    partition-type = 0x83
>> +    image = "rootfs.ext2"
>> +  }
>> +}
>> diff --git a/board/nxp/ls1028ardb/genimage.xspi.cfg.template 
>> b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
>> new file mode 100644
>> index 0000000000..1bc3a4ec49
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
>> @@ -0,0 +1,55 @@
>> +# Minimal XSPI (FlexSPI) image for the NXP boards Template
>> +#
>> +# FlexSPI image (xspi.cpio.img) format:
>> +# * For ls1028ardb, the FlexSPI flash size is 256MB, erase size is 
>> 128KB
>> +# * bl2_flexspi_nor.bpl: the RCW with ATF header
>> +# * fib.bin: u-boot-dtb.bin binary with ATF header
>> +# * Kernel.itb:
>> +# *   offset 16MB, include Kernel, ramdisk file system and DTB file
>> +#
>> +flash xspi-256M-128K {
>> +        pebsize = 128K
>> +        numpebs = 2048
>> +        minimum-io-unit-size = 128k
>> +}
>> +
>> +image xspi.cpio.img {
>> +  flash {
>> +  }
>> +  flashtype = "xspi-256M-128K"
>> +
>> +  partition rcw {
>> +    in-partition-table = "no"
>> +    image = "bl2_flexspi_nor.pbl"
>> +    offset = 0
>> +    size = 1M
>> +  }
>> +
>> +  partition u-boot {
>> +    in-partition-table = "no"
>> +    image = "fip.bin"
>> +    offset = 1M
>> +    size = 4M
>> +  }
>> +
>> +  partition u-boot-environment {
>> +    in-partition-table = "no"
>> +    image = "uboot-env.bin"
>> +    offset = 5M
>> +    size = 1M
>> +  }
>> +
>> +  partition dp-firmware {
>> +    in-partition-table = "no"
>> +    image = "ls1028a-dp-fw.bin"
>> +    offset = 0x940000
>> +    size = 256K
>> +  }
>> +
>> +  partition boot {
>> +    in-partition-table = "no"
>> +    image = "kernel.itb"
>> +    offset = 16M
>> +    size = 48M
>> +  }
>> +}
>> diff --git a/board/nxp/ls1028ardb/kernel.its 
>> b/board/nxp/ls1028ardb/kernel.its
>> new file mode 100644
>> index 0000000000..08e9700f30
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/kernel.its
>> @@ -0,0 +1,59 @@
>> +/*
>> + * Copyright 2019 NXP
>> + *
>> + * Changming Huang <jerry.huang@nxp.com>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + */
>> +
>> +/dts-v1/;
>> +
>> +/ {
>> +       description = "Image file for the LS1028A Linux Kernel";
>> +       #address-cells = <1>;
>> +
>> +       images {
>> +               kernel at 1 {
>> +                       description = "ARM64 Linux kernel";
>> +                       data = /incbin/("./Image.gz");
>> +                       type = "kernel";
>> +                       arch = "arm64";
>> +                       os = "linux";
>> +                       compression = "gzip";
>> +                       load = <0x80080000>;
>> +                       entry = <0x80080000>;
>> +               };
>> +               fdt at 1 {
>> +                       description = "Flattened Device Tree blob";
>> +                       data = /incbin/("./fsl-ls1028a-rdb.dtb");
>> +                       type = "flat_dt";
>> +                       arch = "arm64";
>> +                       compression = "none";
>> +                       load = <0x90000000>;
>> +               };
>> +               ramdisk at 1 {
>> +                       description = "LS1028 Ramdisk";
>> +                        data = /incbin/("./rootfs.cpio.gz");
>> +                       type = "ramdisk";
>> +                       arch = "arm64";
>> +                       os = "linux";
>> +                       compression = "gzip";
>> +               };
>> +       };
>> +
>> +       configurations {
>> +               default = "config at 1";
>> +               config at 1 {
>> +                       description = "Boot Linux kernel";
>> +                       kernel = "kernel at 1";
>> +                       fdt = "fdt at 1";
>> +                       ramdisk = "ramdisk at 1";
>> +               };
>> +               ls1028ardb {
>> +                       description = "Boot Linux kernel";
>> +                       kernel = "kernel at 1";
>> +                       fdt = "fdt at 1";
>> +                       ramdisk = "ramdisk at 1";
>> +               };
>> +       };
>> +};
>> diff --git a/board/nxp/ls1028ardb/ls1028-10-network.rules 
>> b/board/nxp/ls1028ardb/ls1028-10-network.rules
>> new file mode 100644
>> index 0000000000..19f41634bd
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/ls1028-10-network.rules
>> @@ -0,0 +1,16 @@
>> +# ENETC rules
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0", 
>> DRIVERS=="fsl_enetc", NAME:="eno0"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1", 
>> DRIVERS=="fsl_enetc", NAME:="eno1"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2", 
>> DRIVERS=="fsl_enetc", NAME:="eno2"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6", 
>> DRIVERS=="fsl_enetc", NAME:="eno3"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0", 
>> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1", 
>> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2", 
>> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3", 
>> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
>> +# LS1028 switch rules
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
>> +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5", 
>> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
>> diff --git a/board/nxp/ls1028ardb/post-cfg-udev.sh 
>> b/board/nxp/ls1028ardb/post-cfg-udev.sh
>> new file mode 100755
>> index 0000000000..311a93aee2
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/post-cfg-udev.sh
>> @@ -0,0 +1,10 @@
>> +#!/usr/bin/env bash
>> +
>> +main()
>> +{
>> +       cp board/nxp/ls1028ardb/ls1028-10-network.rules 
>> ${TARGET_DIR}/etc/udev/rules.d/10-network.rules
> 
> Shouldn't this be a part of a BR2_ROOTFS_OVERLAY fragment?
> 
>> +
>> +       exit $?
>> +}
>> +
>> +main $@
>> diff --git a/board/nxp/ls1028ardb/readme.txt 
>> b/board/nxp/ls1028ardb/readme.txt
>> new file mode 100644
>> index 0000000000..713babd7c3
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/readme.txt
>> @@ -0,0 +1,61 @@
>> +LS1028ARDB board is one platform based on LS1028A silicon for 
>> industry,
>> +which is supported in LSDK-19.09.
>> +
>> +One simple image file is created by buildroot, which includes RCW, 
>> uboot,
>> +Linux kernel, rootfs and other necessary binaries for this board.
>> +
>> +To program the image file created by buildroot into the flash.
>> +There are two way to do it:
>> +
>> +1. Program the image file on PC machine for SD card boot
>> +  $ sudo dd if=./output/images/sdcard.img of=/dev/sdx
>> +  # or in some other host machine:
>> +  $ sudo dd if=./output/images/sdcard.img of=/dev/mmcblkx
>> +
>> +  # find the right SD Card device name in your host machine and 
>> replace the
>> +  # ?sdx? or ?mmcblkx?.
>> +
>> +2. Program the image file on board for eMMC and XSPI boot
>> +Make sure your board has ipaddr, netmask, and serverip defined to 
>> reach your
>> +tftp server.
>> +
>> +  2.1 Program eMMC boot image file to eMMC chip
>> +    # Make sure output/images/sdcard.img is stored to tftp server
>> +    # Below command is one example
>> +    => tftpboot 0xa0000000 sdcard.img
>> +    => mmc dev 1
>> +    => mmc erase 0 0x200000
>> +    => mmc write 0xa0000000 0 0x200000
>> +
>> +    # The size "0x200000" will be changed when the image size is 
>> different.
>> +
>> +  2.2 Program XSPI boot image file to flash
>> +    # Make sure output/images/xspi.cpio.img is stored to tftp server
>> +    # Below command is one example
>> +    => tftpboot 0xa0000000 xspi.cpio.img
>> +    => sf probe
>> +    => sf erase 0 $filesize
>> +    => sf write 0xa0000000 0 $filesize
>> +
>> +3. Booting your new system
>> +Before booting the new system, we should make sure the switch setting 
>> is right.
>> +below switch setting is for each booting mode:
>> +    +-----------+---------------------+
>> +    |Boot mode  | Switch setting      |
>> +    +---------------------------------+
>> +    |SD boot    | SW2[1~4] = 0b?1000  |
>> +    +---------------------------------+
>> +    |eMMC boot  | SW2[1~4] = 0b?1001  |
>> +    +---------------------------------+
>> +    |XSPI boot  | SW2[1~4] = 0b?1111  |
>> +    +-----------+---------------------+
>> +
>> +or we use following command to reset the board in uboot prompt:
>> +  # boot from SD card
>> +  => qixis_reset sd
>> +
>> +  # boot from eMMC chip
>> +  => qixis_reset emmc
>> +
>> +  # boot from XSPI
>> +  => qixis_reset qspi
>> diff --git a/board/nxp/ls1028ardb/u-boot-environment-emmc.txt 
>> b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
>> new file mode 100644
>> index 0000000000..01a97aa89d
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
>> @@ -0,0 +1,22 @@
>> +baudrate=115200
>> +bootcmd=setenv bootargs root=/dev/mmcblk1p2 rootwait rw 
>> earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M 
>> video=1920x1080-32 at 60;mmc dev 1;mmcinfo;fatload mmc 1:1 ${dp_load} 
>> ${dp_file};hdp load ${dp_load} ${dp_offset};fatload mmc 1:1 
>> ${loadaddr} ${bootfile};fatload mmc 1:1 ${fdtaddr} ${fdtfile};booti 
>> ${loadaddr} - ${fdtaddr}
>> +bootdelay=3
>> +bootfile=Image
>> +fdtfile=fsl-ls1028a-rdb.dtb
>> +eth2addr=00:1F:7B:63:35:E9
> 
> Do we really want to put a MAC address in the U-Boot environment? This
> will work ok for the first board, but not so well for the second board
> that you put in the same network.
> And actually, do we want a U-Boot environment at all? The LSDK U-Boot
> default environment is distroboot enabled. With the proper
> extlinux.conf file generated by post-image.sh, it can load Buildroot
> in a breeze with no custom script necessary:

buildroot can even generate one for you, see 
BR2_TARGET_UBOOT_BOOT_SCRIPT.


> 
> label Buildroot %VERSION% - %BOARD%
>   kernel %KERNEL%
>   devicetree %DTB%
>   append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait
> 
>> +ethact=FM1 at DTSEC3
>> +ethprime=FM1 at DTSEC3
> 
> There is certainly no DTSEC port on LS1028A.
> 
>> +fdt_high=0xffffffffffffffff
>> +fdtcontroladdr=ffc01550
>> +fman_ucode=ffc12090
> 
> And no FMan microcode.
> 
>> +hwconfig=fsl_ddr:bank_intlv=auto
>> +initrd_high=0xffffffffffffffff
>> +loadaddr=0xa0000000
>> +fdtaddr=0xb0000000
>> +dp_file=ls1028a-dp-fw.bin
>> +dp_load=0x90000000
>> +dp_offset=0x2000
>> +stderr=serial
>> +stdin=serial
>> +stdout=serial
>> +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw 
>> earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 
>> 0:1 ${loadaddr} ${bootfile};bootm ${loadaddr}
> 
> What does "rollbackboot" do?
> 
>> diff --git a/board/nxp/ls1028ardb/u-boot-environment-sd.txt 
>> b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
>> new file mode 100644
>> index 0000000000..820989280f
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
>> @@ -0,0 +1,21 @@
>> +baudrate=115200
>> +bootcmd=setenv bootargs root=/dev/mmcblk0p2 rootwait rw 
>> earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M 
>> video=1920x1080-32 at 60;mmcinfo;fatload mmc 0:1 ${dp_load} ${dp_file}; 
>> hdp load ${dp_load} ${dp_offset};fatload mmc 0:1 ${loadaddr} 
>> ${bootfile};fatload mmc 0:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} - 
>> ${fdtaddr}
>> +bootdelay=3
>> +bootfile=Image
>> +fdtfile=fsl-ls1028a-rdb.dtb
>> +eth2addr=00:1F:7B:63:35:E9
>> +ethact=FM1 at DTSEC3
>> +ethprime=FM1 at DTSEC3
>> +fdt_high=0xffffffffffffffff
>> +fdtcontroladdr=ffc01550
>> +fman_ucode=ffc12090
>> +hwconfig=fsl_ddr:bank_intlv=auto
>> +initrd_high=0xffffffffffffffff
>> +loadaddr=0xa0000000
>> +fdtaddr=0xb0000000
>> +dp_file=ls1028a-dp-fw.bin
>> +dp_load=0x90000000
>> +dp_offset=0x2000
>> +stderr=serial
>> +stdin=serial
>> +stdout=serial
>> diff --git a/board/nxp/ls1028ardb/u-boot-environment-xspi.txt 
>> b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
>> new file mode 100644
>> index 0000000000..5677cdddaa
>> --- /dev/null
>> +++ b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
>> @@ -0,0 +1,22 @@
>> +baudrate=115200
>> +bootcmd=setenv bootargs root=/dev/ram0 rw earlycon=uart8250,0x21c0500 
>> console=ttyS0,115200 cma=256M video=1920x1080-32 at 60; sf probe 0:0; sf 
>> read $dp_load $dp_start $dp_size; hdp load $dp_load $dp_offset; sf 
>> read $kernel_load $kernel_start $kernel_size && bootm $kernel_load
>> +bootdelay=3
>> +eth2addr=00:1F:7B:63:35:E9
>> +ethact=FM1 at DTSEC3
>> +ethprime=FM1 at DTSEC3
>> +fdt_high=0xffffffffffffffff
>> +fdtcontroladdr=ffc01550
>> +fman_ucode=ffc12090
>> +hwconfig=fsl_ddr:bank_intlv=auto
>> +initrd_high=0xffffffffffffffff
>> +kernel_load=0xa0000000
>> +kernel_size=0x3000000
>> +kernel_start=0x1000000
>> +dp_load=0x90000000
>> +dp_start=0x940000
>> +dp_size=0x40000
>> +dp_offset=0x2000
>> +stderr=serial
>> +stdin=serial
>> +stdout=serial
>> +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw 
>> earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc 
>> 0:1 ${loadaddr} ${bootfile};bootm $loadaddr
>> diff --git a/configs/nxp_ls1028ardb-64b-emmc_defconfig 
>> b/configs/nxp_ls1028ardb-64b-emmc_defconfig
>> new file mode 100644
>> index 0000000000..019889f5e0
>> --- /dev/null
>> +++ b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> 
> Thomas, is there any way in Buildroot to use fragments for the board
> configs, to avoid duplication? I couldn't find any way.

AFAIK there is not, I've brought that up some years ago, but had no time 
to look deeper into that.

http://lists.busybox.net/pipermail/buildroot/2016-November/176752.html

-michael

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

* [Buildroot] [EXT] Re: [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-12-03  1:48   ` Vladimir Oltean
  2019-12-03  8:56     ` Michael Walle
@ 2019-12-06  7:28     ` Jerry Huang
  2019-12-06  8:20     ` Jerry Huang
  2 siblings, 0 replies; 18+ messages in thread
From: Jerry Huang @ 2019-12-06  7:28 UTC (permalink / raw)
  To: buildroot

Thanks a lot, Vladimir,
I will correct this patch.

Best Regards
Jerry Huang

> -----Original Message-----
> From: Vladimir Oltean <olteanv@gmail.com>
> Sent: Tuesday, December 3, 2019 9:49 AM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; Michael Walle <michael@walle.cc>;
> geomatsi at gmail.com; matthew.weber at collins.com; Thomas Petazzoni
> <thomas.petazzoni@bootlin.com>
> Subject: [EXT] Re: [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new
> board
> 
> Caution: EXT Email
> 
> On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com>
> wrote:
> >
> > This is to support Freescale/NXP LS1028ARDB in Buildroot.
> > The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
> >
> > The target will build uboot and RCW binary with arm-trusted-firmware
> support.
> >
> > board/nxp/ls1028ardb/: scripts related with ls1028ardb
> > nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on
> > board
> > nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
> > nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on
> > board
> >
> > Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> > ---
> > changes since v2:
> > 1. Modify the qoriq-cadence-dp-firmware option in defconfig.
> > 2. rename defconfig to nxp_ls1028*.
> > 3. remove extra packages except busybox in defconfig.
> > 4. modify the description of file genimage.xspi.cfg.template.
> >
> > changes since v1:
> > 1. add new option in configs/freescale_ls1028ardb-xxxx_defconfig.
> > ---
> >  .gitlab-ci.yml                                |  3 +
> >  DEVELOPERS                                    |  2 +
> >  .../nxp/ls1028ardb/genimage.emmc.cfg.template | 52 ++++++++++++
> > board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
> > .../nxp/ls1028ardb/genimage.xspi.cfg.template | 55 ++++++++++++
> >  board/nxp/ls1028ardb/kernel.its               | 59 +++++++++++++
> >  board/nxp/ls1028ardb/ls1028-10-network.rules  | 16 ++++
> >  board/nxp/ls1028ardb/post-cfg-udev.sh         | 10 +++
> >  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
> >  .../ls1028ardb/u-boot-environment-emmc.txt    | 22 +++++
> >  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 21 +++++
> >  .../ls1028ardb/u-boot-environment-xspi.txt    | 22 +++++
> >  configs/nxp_ls1028ardb-64b-emmc_defconfig     | 85
> +++++++++++++++++++
> >  configs/nxp_ls1028ardb-64b-xspi_defconfig     | 85
> +++++++++++++++++++
> >  configs/nxp_ls1028ardb-64b_defconfig          | 85
> +++++++++++++++++++
> >  15 files changed, 630 insertions(+)
> >  create mode 100644 board/nxp/ls1028ardb/genimage.emmc.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/genimage.xspi.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/kernel.its  create mode
> > 100644 board/nxp/ls1028ardb/ls1028-10-network.rules
> >  create mode 100755 board/nxp/ls1028ardb/post-cfg-udev.sh
> >  create mode 100644 board/nxp/ls1028ardb/readme.txt  create mode
> > 100644 board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> >  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
> >  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> >  create mode 100644 configs/nxp_ls1028ardb-64b-emmc_defconfig
> >  create mode 100644 configs/nxp_ls1028ardb-64b-xspi_defconfig
> >  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index
> > 22befa0427..08e6360ff7 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -223,6 +223,9 @@ nitrogen6sx_defconfig: { extends: .defconfig }
> >  nitrogen6x_defconfig: { extends: .defconfig }
> >  nitrogen7_defconfig: { extends: .defconfig }
> >  nitrogen8m_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b-emmc_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b-xspi_defconfig: { extends: .defconfig }
> >  odroidxu4_defconfig: { extends: .defconfig }
> >  olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
> >  olimex_a13_olinuxino_defconfig: { extends: .defconfig } diff --git
> > a/DEVELOPERS b/DEVELOPERS index 6fd8f8ee08..efe4039194 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -515,6 +515,8 @@ F:  configs/orangepi_plus_defconfig
> >
> >  N:     Changming Huang <jerry.huang@nxp.com>
> >  F:     board/nxp/common/ls/
> > +F:     board/nxp/ls1028ardb/
> > +F:     configs/nxp_ls1028ardb*
> >  F:     package/nxp/qoriq-cadence-dp-firmware/
> >
> >  N:     Chris Packham <judge.packham@gmail.com>
> > diff --git a/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > new file mode 100644
> > index 0000000000..3afbda494e
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > @@ -0,0 +1,52 @@
> > +# Minimal eMMC boot image for the NXP boards Template # # eMMC image
> > +(sdcard.img) format:
> > +# * the eMMC must have 4 kB free space at the beginning, # * U-Boot
> > +is dumped as is, # * a FAT partition at offset 64 MB is containing
> > +Image and DTB files # * a single root filesystem partition is
> > +required (ext2, ext3 or ext4) #
> > +
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      %FILES%
> > +    }
> > +  }
> > +  size = 256M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_emmc.pbl"
> > +    offset = 4096
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +    offset = 64M
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext2"
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > new file mode 100644
> > index 0000000000..ab50e103c1
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > @@ -0,0 +1,52 @@
> > +# Minimal SD card image for the NXP boards Template # # SD card image
> > +(sdcard.img) format:
> > +# * the SD card must have 4 kB free space at the beginning, # *
> > +U-Boot is dumped as is, # * a FAT partition at offset 64 MB is
> > +containing Image and DTB files # * a single root filesystem partition
> > +is required (ext2, ext3 or ext4) #
> > +
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      %FILES%
> > +    }
> > +  }
> > +  size = 256M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_sd.pbl"
> > +    offset = 4096
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +    offset = 64M
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext2"
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > new file mode 100644
> > index 0000000000..1bc3a4ec49
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > @@ -0,0 +1,55 @@
> > +# Minimal XSPI (FlexSPI) image for the NXP boards Template # #
> > +FlexSPI image (xspi.cpio.img) format:
> > +# * For ls1028ardb, the FlexSPI flash size is 256MB, erase size is
> > +128KB # * bl2_flexspi_nor.bpl: the RCW with ATF header # * fib.bin:
> > +u-boot-dtb.bin binary with ATF header # * Kernel.itb:
> > +# *   offset 16MB, include Kernel, ramdisk file system and DTB file
> > +#
> > +flash xspi-256M-128K {
> > +        pebsize = 128K
> > +        numpebs = 2048
> > +        minimum-io-unit-size = 128k
> > +}
> > +
> > +image xspi.cpio.img {
> > +  flash {
> > +  }
> > +  flashtype = "xspi-256M-128K"
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_flexspi_nor.pbl"
> > +    offset = 0
> > +    size = 1M
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +    size = 4M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +    size = 1M
> > +  }
> > +
> > +  partition dp-firmware {
> > +    in-partition-table = "no"
> > +    image = "ls1028a-dp-fw.bin"
> > +    offset = 0x940000
> > +    size = 256K
> > +  }
> > +
> > +  partition boot {
> > +    in-partition-table = "no"
> > +    image = "kernel.itb"
> > +    offset = 16M
> > +    size = 48M
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/kernel.its
> > b/board/nxp/ls1028ardb/kernel.its new file mode 100644 index
> > 0000000000..08e9700f30
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/kernel.its
> > @@ -0,0 +1,59 @@
> > +/*
> > + * Copyright 2019 NXP
> > + *
> > + * Changming Huang <jerry.huang@nxp.com>
> > + *
> > + * SPDX-License-Identifier: GPL-2.0+
> > + */
> > +
> > +/dts-v1/;
> > +
> > +/ {
> > +       description = "Image file for the LS1028A Linux Kernel";
> > +       #address-cells = <1>;
> > +
> > +       images {
> > +               kernel at 1 {
> > +                       description = "ARM64 Linux kernel";
> > +                       data = /incbin/("./Image.gz");
> > +                       type = "kernel";
> > +                       arch = "arm64";
> > +                       os = "linux";
> > +                       compression = "gzip";
> > +                       load = <0x80080000>;
> > +                       entry = <0x80080000>;
> > +               };
> > +               fdt at 1 {
> > +                       description = "Flattened Device Tree blob";
> > +                       data = /incbin/("./fsl-ls1028a-rdb.dtb");
> > +                       type = "flat_dt";
> > +                       arch = "arm64";
> > +                       compression = "none";
> > +                       load = <0x90000000>;
> > +               };
> > +               ramdisk at 1 {
> > +                       description = "LS1028 Ramdisk";
> > +                        data = /incbin/("./rootfs.cpio.gz");
> > +                       type = "ramdisk";
> > +                       arch = "arm64";
> > +                       os = "linux";
> > +                       compression = "gzip";
> > +               };
> > +       };
> > +
> > +       configurations {
> > +               default = "config at 1";
> > +               config at 1 {
> > +                       description = "Boot Linux kernel";
> > +                       kernel = "kernel at 1";
> > +                       fdt = "fdt at 1";
> > +                       ramdisk = "ramdisk at 1";
> > +               };
> > +               ls1028ardb {
> > +                       description = "Boot Linux kernel";
> > +                       kernel = "kernel at 1";
> > +                       fdt = "fdt at 1";
> > +                       ramdisk = "ramdisk at 1";
> > +               };
> > +       };
> > +};
> > diff --git a/board/nxp/ls1028ardb/ls1028-10-network.rules
> > b/board/nxp/ls1028ardb/ls1028-10-network.rules
> > new file mode 100644
> > index 0000000000..19f41634bd
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/ls1028-10-network.rules
> > @@ -0,0 +1,16 @@
> > +# ENETC rules
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0",
> DRIVERS=="fsl_enetc", NAME:="eno0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1",
> DRIVERS=="fsl_enetc", NAME:="eno1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2",
> DRIVERS=="fsl_enetc", NAME:="eno2"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6",
> DRIVERS=="fsl_enetc", NAME:="eno3"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0",
> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1",
> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2",
> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3",
> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
> > +# LS1028 switch rules
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
> > diff --git a/board/nxp/ls1028ardb/post-cfg-udev.sh
> > b/board/nxp/ls1028ardb/post-cfg-udev.sh
> > new file mode 100755
> > index 0000000000..311a93aee2
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/post-cfg-udev.sh
> > @@ -0,0 +1,10 @@
> > +#!/usr/bin/env bash
> > +
> > +main()
> > +{
> > +       cp board/nxp/ls1028ardb/ls1028-10-network.rules
> > +${TARGET_DIR}/etc/udev/rules.d/10-network.rules
> 
> Shouldn't this be a part of a BR2_ROOTFS_OVERLAY fragment?
I can try that.

> > +
> > +       exit $?
> > +}
> > +
> > +main $@
> > diff --git a/board/nxp/ls1028ardb/readme.txt
> > b/board/nxp/ls1028ardb/readme.txt new file mode 100644 index
> > 0000000000..713babd7c3
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/readme.txt
> > @@ -0,0 +1,61 @@
> > +LS1028ARDB board is one platform based on LS1028A silicon for
> > +industry, which is supported in LSDK-19.09.
> > +
> > +One simple image file is created by buildroot, which includes RCW,
> > +uboot, Linux kernel, rootfs and other necessary binaries for this board.
> > +
> > +To program the image file created by buildroot into the flash.
> > +There are two way to do it:
> > +
> > +1. Program the image file on PC machine for SD card boot
> > +  $ sudo dd if=./output/images/sdcard.img of=/dev/sdx
> > +  # or in some other host machine:
> > +  $ sudo dd if=./output/images/sdcard.img of=/dev/mmcblkx
> > +
> > +  # find the right SD Card device name in your host machine and
> > + replace the  # ?sdx? or ?mmcblkx?.
> > +
> > +2. Program the image file on board for eMMC and XSPI boot Make sure
> > +your board has ipaddr, netmask, and serverip defined to reach your
> > +tftp server.
> > +
> > +  2.1 Program eMMC boot image file to eMMC chip
> > +    # Make sure output/images/sdcard.img is stored to tftp server
> > +    # Below command is one example
> > +    => tftpboot 0xa0000000 sdcard.img
> > +    => mmc dev 1
> > +    => mmc erase 0 0x200000
> > +    => mmc write 0xa0000000 0 0x200000
> > +
> > +    # The size "0x200000" will be changed when the image size is different.
> > +
> > +  2.2 Program XSPI boot image file to flash
> > +    # Make sure output/images/xspi.cpio.img is stored to tftp server
> > +    # Below command is one example
> > +    => tftpboot 0xa0000000 xspi.cpio.img
> > +    => sf probe
> > +    => sf erase 0 $filesize
> > +    => sf write 0xa0000000 0 $filesize
> > +
> > +3. Booting your new system
> > +Before booting the new system, we should make sure the switch setting is
> right.
> > +below switch setting is for each booting mode:
> > +    +-----------+---------------------+
> > +    |Boot mode  | Switch setting      |
> > +    +---------------------------------+
> > +    |SD boot    | SW2[1~4] = 0b?1000  |
> > +    +---------------------------------+
> > +    |eMMC boot  | SW2[1~4] = 0b?1001  |
> > +    +---------------------------------+
> > +    |XSPI boot  | SW2[1~4] = 0b?1111  |
> > +    +-----------+---------------------+
> > +
> > +or we use following command to reset the board in uboot prompt:
> > +  # boot from SD card
> > +  => qixis_reset sd
> > +
> > +  # boot from eMMC chip
> > +  => qixis_reset emmc
> > +
> > +  # boot from XSPI
> > +  => qixis_reset qspi
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > new file mode 100644
> > index 0000000000..01a97aa89d
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > @@ -0,0 +1,22 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/mmcblk1p2 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M
> > +video=1920x1080-32 at 60;mmc dev 1;mmcinfo;fatload mmc 1:1 ${dp_load}
> > +${dp_file};hdp load ${dp_load} ${dp_offset};fatload mmc 1:1
> > +${loadaddr} ${bootfile};fatload mmc 1:1 ${fdtaddr} ${fdtfile};booti
> > +${loadaddr} - ${fdtaddr}
> > +bootdelay=3
> > +bootfile=Image
> > +fdtfile=fsl-ls1028a-rdb.dtb
> > +eth2addr=00:1F:7B:63:35:E9
> 
> Do we really want to put a MAC address in the U-Boot environment? This will
> work ok for the first board, but not so well for the second board that you put in
> the same network.
> And actually, do we want a U-Boot environment at all? The LSDK U-Boot default
> environment is distroboot enabled. With the proper extlinux.conf file generated
> by post-image.sh, it can load Buildroot in a breeze with no custom script
> necessary:
> 
> label Buildroot %VERSION% - %BOARD%
>   kernel %KERNEL%
>   devicetree %DTB%
>   append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait
> 
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> 
> There is certainly no DTSEC port on LS1028A.
> 
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> 
> And no FMan microcode.
> 
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +loadaddr=0xa0000000
> > +fdtaddr=0xb0000000
> > +dp_file=ls1028a-dp-fw.bin
> > +dp_load=0x90000000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc
> > +0:1 ${loadaddr} ${bootfile};bootm ${loadaddr}
> 
> What does "rollbackboot" do?
> 
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > new file mode 100644
> > index 0000000000..820989280f
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > @@ -0,0 +1,21 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/mmcblk0p2 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M
> > +video=1920x1080-32 at 60;mmcinfo;fatload mmc 0:1 ${dp_load} ${dp_file};
> > +hdp load ${dp_load} ${dp_offset};fatload mmc 0:1 ${loadaddr}
> > +${bootfile};fatload mmc 0:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} -
> > +${fdtaddr}
> > +bootdelay=3
> > +bootfile=Image
> > +fdtfile=fsl-ls1028a-rdb.dtb
> > +eth2addr=00:1F:7B:63:35:E9
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +loadaddr=0xa0000000
> > +fdtaddr=0xb0000000
> > +dp_file=ls1028a-dp-fw.bin
> > +dp_load=0x90000000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > new file mode 100644
> > index 0000000000..5677cdddaa
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > @@ -0,0 +1,22 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/ram0 rw
> earlycon=uart8250,0x21c0500
> > +console=ttyS0,115200 cma=256M video=1920x1080-32 at 60; sf probe 0:0; sf
> > +read $dp_load $dp_start $dp_size; hdp load $dp_load $dp_offset; sf
> > +read $kernel_load $kernel_start $kernel_size && bootm $kernel_load
> > +bootdelay=3
> > +eth2addr=00:1F:7B:63:35:E9
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +kernel_load=0xa0000000
> > +kernel_size=0x3000000
> > +kernel_start=0x1000000
> > +dp_load=0x90000000
> > +dp_start=0x940000
> > +dp_size=0x40000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc
> > +0:1 ${loadaddr} ${bootfile};bootm $loadaddr
> > diff --git a/configs/nxp_ls1028ardb-64b-emmc_defconfig
> > b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> > new file mode 100644
> > index 0000000000..019889f5e0
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> 
> Thomas, is there any way in Buildroot to use fragments for the board configs, to
> avoid duplication? I couldn't find any way.
> 
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348800651&amp;sdata=kFn3nsvOHgCCT
> JYKYMoU9rRkGsFR77TYGzbvOEezXIg%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-emmc.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348800651&amp;sdata=iS%2F%2Bf1lVYF9f
> PRlNdjKkKKuRmRsdwtOTF7mZ%2BUFwz5c%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="emmc"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 300_emmcboot.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348800651&amp;sdat
> a=QxY1g3x9g%2FVOObPfmMgqiX1KCF8jYUzYT33inYJYCyA%3D&amp;reserved=
> 0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_emmc.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=emmc RCW=$(BINARIES_DIR)/rcw_1300_emmcboot.bin"
> > diff --git a/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > new file mode 100644
> > index 0000000000..66241c4c79
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_CPIO=y
> > +BR2_TARGET_ROOTFS_CPIO_GZIP=y
> > +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348800651&amp;sdata=kFn3nsvOHgCCT
> JYKYMoU9rRkGsFR77TYGzbvOEezXIg%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-xspi.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348810637&amp;sdata=Akdyy0hEI%2Fiqw
> y6oPyt6OLrLAea1JpikT2r8BI9Yvz8%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image.gz"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> >
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image-spi.s
> h"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> >
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls
> /busybox.config"
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="flexspi_nor"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 500_gpu600.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdat
> a=9ssQTjqQMNf7FgKISQPKHB0ywJkUCcorbBjCIVodYkE%3D&amp;reserved=0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin
> bl2_flexspi_nor.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=flexspi_nor RCW=$(BINARIES_DIR)/rcw_1500_gpu600.bin"
> > diff --git a/configs/nxp_ls1028ardb-64b_defconfig
> > b/configs/nxp_ls1028ardb-64b_defconfig
> > new file mode 100644
> > index 0000000000..fdb251058f
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b_defconfig
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348810637&amp;sdata=XB0okA3zSQFVF
> 8QmKrSgy%2BXnZ5hcqvfRo%2FznvzodgSs%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-sd.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348810637&amp;sdata=Akdyy0hEI%2Fiqw
> y6oPyt6OLrLAea1JpikT2r8BI9Yvz8%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> >
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls
> /busybox.config"
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="sd"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 300_sdboot.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdat
> a=9ssQTjqQMNf7FgKISQPKHB0ywJkUCcorbBjCIVodYkE%3D&amp;reserved=0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=sd RCW=$(BINARIES_DIR)/rcw_1300_sdboot.bin"
> > --
> > 2.17.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> > .busybox.net%2Fmailman%2Flistinfo%2Fbuildroot&amp;data=02%7C01%7Cje
> rry
> > .huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3b
> c2b4c6f
> >
> a92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdata=0eld04G
> 7Qo%2F0
> > fDASkUbxYjsWLfeUCgf0bH2ee3O3JQQ%3D&amp;reserved=0
> 
> Thanks,
> -Vladimir

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

* [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
@ 2019-12-06  7:51   ` Jerry Huang
  0 siblings, 0 replies; 18+ messages in thread
From: Jerry Huang @ 2019-12-06  7:51 UTC (permalink / raw)
  To: buildroot

Hi, all guys, 
And comment for patch 1 ~ patch 7?

I will rework patch8 and patch9.

Best Regards
Jerry Huang

> -----Original Message-----
> From: Changming Huang <jerry.huang@nxp.com>
> Sent: Wednesday, November 27, 2019 3:17 PM
> To: buildroot at busybox.net
> Cc: thomas.petazzoni at bootlin.com; michael at walle.cc;
> matthew.weber at collins.com; geomatsi at gmail.com; Jerry Huang
> <jerry.huang@nxp.com>
> Subject: [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and
> CLK_OUT_PMUX for GPIO
> 
> From: Jerry Huang <jerry.huang@nxp.com>
> 
> Because GPIO is used as interrupt for eNETC PHY and Micro-bus, IIC5_PMUX
> and CLK_OUT_PMUX are enabled for GPIO.
> 
> Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
> ---
> changes sinve v2:
> 1. no changes.
> 
> changes sinve v1:
> 1. change to unconditional for these two patches.
> ---
>  ...b-Enable-IIC5_PMUX-for-GPIO-function.patch | 42
> +++++++++++++++++++  ...nable-CLK_OUT_PMUX-for-GPIO-function.patch |
> 40 ++++++++++++++++++
>  2 files changed, 82 insertions(+)
>  create mode 100644
> package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-function.
> patch
>  create mode 100644
> package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-fun
> ction.patch
> 
> diff --git
> a/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-functio
> n.patch
> b/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-functio
> n.patch
> new file mode 100644
> index 0000000000..21c6c84cbd
> --- /dev/null
> +++ b/package/nxp/qoriq-rcw/0001-ls1028ardb-Enable-IIC5_PMUX-for-GPIO-fu
> +++ nction.patch
> @@ -0,0 +1,42 @@
> +From 33b403cee1fa215927bc65dc14baf35a2fdbe7b3 Mon Sep 17 00:00:00
> 2001
> +From: Jerry Huang <jerry.huang@nxp.com>
> +Date: Thu, 19 Sep 2019 12:12:20 +0800
> +Subject: [PATCH 1/2] ls1028ardb: Enable IIC5_PMUX for GPIO function
> +
> +Set IIC5_PMUX = 1 to enable GPIO function.
> +
> +Signed-off-by: Jianchao Wang <jianchao.wang@nxp.com>
> +Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
> +---
> + ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw | 2 +-
> + ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw   | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +index b46ea2e..5466a63 100644
> +--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> ++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +@@ -26,7 +26,7 @@ SYSCLK_FREQ=600
> + IIC2_PMUX=6
> + IIC3_PMUX=2
> + IIC4_PMUX=2
> +-IIC5_PMUX=2
> ++IIC5_PMUX=1
> + IIC6_PMUX=2
> + CLK_OUT_PMUX=2
> + EC1_SAI4_5_PMUX=5
> +diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +index 04e2208..1908d8c 100644
> +--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> ++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +@@ -26,7 +26,7 @@ SYSCLK_FREQ=600
> + IIC2_PMUX=6
> + IIC3_PMUX=2
> + IIC4_PMUX=2
> +-IIC5_PMUX=2
> ++IIC5_PMUX=1
> + IIC6_PMUX=3
> + CLK_OUT_PMUX=2
> + EC1_SAI4_5_PMUX=5
> +--
> +2.17.1
> diff --git
> a/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-fu
> nction.patch
> b/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO-fu
> nction.patch
> new file mode 100644
> index 0000000000..4f00541d69
> --- /dev/null
> +++
> b/package/nxp/qoriq-rcw/0002-ls1028ardb-Enable-CLK_OUT_PMUX-for-GPIO
> +++ -function.patch
> @@ -0,0 +1,40 @@
> +From 4a3c9ea5d0c7bf8eec8cb6276d6f4d940f3946db Mon Sep 17 00:00:00
> 2001
> +From: Jerry Huang <jerry.huang@nxp.com>
> +Date: Thu, 19 Sep 2019 12:13:48 +0800
> +Subject: [PATCH 2/2] ls1028ardb/rcw: Enable CLK_OUT_PMUX for GPIO
> +function
> +
> +Signed-off-by: Jianchao Wang <jianchao.wang@nxp.com>
> +Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
> +---
> + ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw | 2 +-
> + ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw   | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +index 5466a63..a5ed4d4 100644
> +--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> ++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_emmcboot.rcw
> +@@ -28,7 +28,7 @@ IIC3_PMUX=2
> + IIC4_PMUX=2
> + IIC5_PMUX=1
> + IIC6_PMUX=2
> +-CLK_OUT_PMUX=2
> ++CLK_OUT_PMUX=1
> + EC1_SAI4_5_PMUX=5
> + EC1_SAI3_6_PMUX=5
> + USB3_CLK_FSEL=39
> +diff --git a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +index 1908d8c..c930b83 100644
> +--- a/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> ++++ b/ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.rcw
> +@@ -28,7 +28,7 @@ IIC3_PMUX=2
> + IIC4_PMUX=2
> + IIC5_PMUX=1
> + IIC6_PMUX=3
> +-CLK_OUT_PMUX=2
> ++CLK_OUT_PMUX=1
> + EC1_SAI4_5_PMUX=5
> + EC1_SAI3_6_PMUX=5
> + USB3_CLK_FSEL=39
> +--
> +2.17.1
> --
> 2.17.1

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

* [Buildroot] [EXT] Re: [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-12-03  1:48   ` Vladimir Oltean
  2019-12-03  8:56     ` Michael Walle
  2019-12-06  7:28     ` [Buildroot] [EXT] " Jerry Huang
@ 2019-12-06  8:20     ` Jerry Huang
  2 siblings, 0 replies; 18+ messages in thread
From: Jerry Huang @ 2019-12-06  8:20 UTC (permalink / raw)
  To: buildroot



Best Regards
Jerry Huang

> -----Original Message-----
> From: Vladimir Oltean <olteanv@gmail.com>
> Sent: Tuesday, December 3, 2019 9:49 AM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; Michael Walle <michael@walle.cc>;
> geomatsi at gmail.com; matthew.weber at collins.com; Thomas Petazzoni
> <thomas.petazzoni@bootlin.com>
> Subject: [EXT] Re: [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new
> board
> 
> Caution: EXT Email
> 
> On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com>
> wrote:
> >
> > This is to support Freescale/NXP LS1028ARDB in Buildroot.
> > The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
> >
> > The target will build uboot and RCW binary with arm-trusted-firmware
> support.
> >
> > board/nxp/ls1028ardb/: scripts related with ls1028ardb
> > nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on
> > board
> > nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
> > nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on
> > board
> >
> > Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> > ---
> > changes since v2:
> > 1. Modify the qoriq-cadence-dp-firmware option in defconfig.
> > 2. rename defconfig to nxp_ls1028*.
> > 3. remove extra packages except busybox in defconfig.
> > 4. modify the description of file genimage.xspi.cfg.template.
> >
> > changes since v1:
> > 1. add new option in configs/freescale_ls1028ardb-xxxx_defconfig.
> > ---
> >  .gitlab-ci.yml                                |  3 +
> >  DEVELOPERS                                    |  2 +
> >  .../nxp/ls1028ardb/genimage.emmc.cfg.template | 52 ++++++++++++
> > board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
> > .../nxp/ls1028ardb/genimage.xspi.cfg.template | 55 ++++++++++++
> >  board/nxp/ls1028ardb/kernel.its               | 59 +++++++++++++
> >  board/nxp/ls1028ardb/ls1028-10-network.rules  | 16 ++++
> >  board/nxp/ls1028ardb/post-cfg-udev.sh         | 10 +++
> >  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
> >  .../ls1028ardb/u-boot-environment-emmc.txt    | 22 +++++
> >  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 21 +++++
> >  .../ls1028ardb/u-boot-environment-xspi.txt    | 22 +++++
> >  configs/nxp_ls1028ardb-64b-emmc_defconfig     | 85
> +++++++++++++++++++
> >  configs/nxp_ls1028ardb-64b-xspi_defconfig     | 85
> +++++++++++++++++++
> >  configs/nxp_ls1028ardb-64b_defconfig          | 85
> +++++++++++++++++++
> >  15 files changed, 630 insertions(+)
> >  create mode 100644 board/nxp/ls1028ardb/genimage.emmc.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/genimage.xspi.cfg.template
> >  create mode 100644 board/nxp/ls1028ardb/kernel.its  create mode
> > 100644 board/nxp/ls1028ardb/ls1028-10-network.rules
> >  create mode 100755 board/nxp/ls1028ardb/post-cfg-udev.sh
> >  create mode 100644 board/nxp/ls1028ardb/readme.txt  create mode
> > 100644 board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> >  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
> >  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> >  create mode 100644 configs/nxp_ls1028ardb-64b-emmc_defconfig
> >  create mode 100644 configs/nxp_ls1028ardb-64b-xspi_defconfig
> >  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
> >
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index
> > 22befa0427..08e6360ff7 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -223,6 +223,9 @@ nitrogen6sx_defconfig: { extends: .defconfig }
> >  nitrogen6x_defconfig: { extends: .defconfig }
> >  nitrogen7_defconfig: { extends: .defconfig }
> >  nitrogen8m_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b-emmc_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b_defconfig: { extends: .defconfig }
> > +nxp_ls1028ardb-64b-xspi_defconfig: { extends: .defconfig }
> >  odroidxu4_defconfig: { extends: .defconfig }
> >  olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig }
> >  olimex_a13_olinuxino_defconfig: { extends: .defconfig } diff --git
> > a/DEVELOPERS b/DEVELOPERS index 6fd8f8ee08..efe4039194 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -515,6 +515,8 @@ F:  configs/orangepi_plus_defconfig
> >
> >  N:     Changming Huang <jerry.huang@nxp.com>
> >  F:     board/nxp/common/ls/
> > +F:     board/nxp/ls1028ardb/
> > +F:     configs/nxp_ls1028ardb*
> >  F:     package/nxp/qoriq-cadence-dp-firmware/
> >
> >  N:     Chris Packham <judge.packham@gmail.com>
> > diff --git a/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > new file mode 100644
> > index 0000000000..3afbda494e
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.emmc.cfg.template
> > @@ -0,0 +1,52 @@
> > +# Minimal eMMC boot image for the NXP boards Template # # eMMC image
> > +(sdcard.img) format:
> > +# * the eMMC must have 4 kB free space at the beginning, # * U-Boot
> > +is dumped as is, # * a FAT partition at offset 64 MB is containing
> > +Image and DTB files # * a single root filesystem partition is
> > +required (ext2, ext3 or ext4) #
> > +
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      %FILES%
> > +    }
> > +  }
> > +  size = 256M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_emmc.pbl"
> > +    offset = 4096
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +    offset = 64M
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext2"
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > new file mode 100644
> > index 0000000000..ab50e103c1
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.sd.cfg.template
> > @@ -0,0 +1,52 @@
> > +# Minimal SD card image for the NXP boards Template # # SD card image
> > +(sdcard.img) format:
> > +# * the SD card must have 4 kB free space at the beginning, # *
> > +U-Boot is dumped as is, # * a FAT partition at offset 64 MB is
> > +containing Image and DTB files # * a single root filesystem partition
> > +is required (ext2, ext3 or ext4) #
> > +
> > +image boot.vfat {
> > +  vfat {
> > +    files = {
> > +      %FILES%
> > +    }
> > +  }
> > +  size = 256M
> > +}
> > +
> > +image sdcard.img {
> > +  hdimage {
> > +  }
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_sd.pbl"
> > +    offset = 4096
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +  }
> > +
> > +  partition boot {
> > +    partition-type = 0xC
> > +    bootable = "true"
> > +    image = "boot.vfat"
> > +    offset = 64M
> > +  }
> > +
> > +  partition rootfs {
> > +    partition-type = 0x83
> > +    image = "rootfs.ext2"
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > new file mode 100644
> > index 0000000000..1bc3a4ec49
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/genimage.xspi.cfg.template
> > @@ -0,0 +1,55 @@
> > +# Minimal XSPI (FlexSPI) image for the NXP boards Template # #
> > +FlexSPI image (xspi.cpio.img) format:
> > +# * For ls1028ardb, the FlexSPI flash size is 256MB, erase size is
> > +128KB # * bl2_flexspi_nor.bpl: the RCW with ATF header # * fib.bin:
> > +u-boot-dtb.bin binary with ATF header # * Kernel.itb:
> > +# *   offset 16MB, include Kernel, ramdisk file system and DTB file
> > +#
> > +flash xspi-256M-128K {
> > +        pebsize = 128K
> > +        numpebs = 2048
> > +        minimum-io-unit-size = 128k
> > +}
> > +
> > +image xspi.cpio.img {
> > +  flash {
> > +  }
> > +  flashtype = "xspi-256M-128K"
> > +
> > +  partition rcw {
> > +    in-partition-table = "no"
> > +    image = "bl2_flexspi_nor.pbl"
> > +    offset = 0
> > +    size = 1M
> > +  }
> > +
> > +  partition u-boot {
> > +    in-partition-table = "no"
> > +    image = "fip.bin"
> > +    offset = 1M
> > +    size = 4M
> > +  }
> > +
> > +  partition u-boot-environment {
> > +    in-partition-table = "no"
> > +    image = "uboot-env.bin"
> > +    offset = 5M
> > +    size = 1M
> > +  }
> > +
> > +  partition dp-firmware {
> > +    in-partition-table = "no"
> > +    image = "ls1028a-dp-fw.bin"
> > +    offset = 0x940000
> > +    size = 256K
> > +  }
> > +
> > +  partition boot {
> > +    in-partition-table = "no"
> > +    image = "kernel.itb"
> > +    offset = 16M
> > +    size = 48M
> > +  }
> > +}
> > diff --git a/board/nxp/ls1028ardb/kernel.its
> > b/board/nxp/ls1028ardb/kernel.its new file mode 100644 index
> > 0000000000..08e9700f30
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/kernel.its
> > @@ -0,0 +1,59 @@
> > +/*
> > + * Copyright 2019 NXP
> > + *
> > + * Changming Huang <jerry.huang@nxp.com>
> > + *
> > + * SPDX-License-Identifier: GPL-2.0+
> > + */
> > +
> > +/dts-v1/;
> > +
> > +/ {
> > +       description = "Image file for the LS1028A Linux Kernel";
> > +       #address-cells = <1>;
> > +
> > +       images {
> > +               kernel at 1 {
> > +                       description = "ARM64 Linux kernel";
> > +                       data = /incbin/("./Image.gz");
> > +                       type = "kernel";
> > +                       arch = "arm64";
> > +                       os = "linux";
> > +                       compression = "gzip";
> > +                       load = <0x80080000>;
> > +                       entry = <0x80080000>;
> > +               };
> > +               fdt at 1 {
> > +                       description = "Flattened Device Tree blob";
> > +                       data = /incbin/("./fsl-ls1028a-rdb.dtb");
> > +                       type = "flat_dt";
> > +                       arch = "arm64";
> > +                       compression = "none";
> > +                       load = <0x90000000>;
> > +               };
> > +               ramdisk at 1 {
> > +                       description = "LS1028 Ramdisk";
> > +                        data = /incbin/("./rootfs.cpio.gz");
> > +                       type = "ramdisk";
> > +                       arch = "arm64";
> > +                       os = "linux";
> > +                       compression = "gzip";
> > +               };
> > +       };
> > +
> > +       configurations {
> > +               default = "config at 1";
> > +               config at 1 {
> > +                       description = "Boot Linux kernel";
> > +                       kernel = "kernel at 1";
> > +                       fdt = "fdt at 1";
> > +                       ramdisk = "ramdisk at 1";
> > +               };
> > +               ls1028ardb {
> > +                       description = "Boot Linux kernel";
> > +                       kernel = "kernel at 1";
> > +                       fdt = "fdt at 1";
> > +                       ramdisk = "ramdisk at 1";
> > +               };
> > +       };
> > +};
> > diff --git a/board/nxp/ls1028ardb/ls1028-10-network.rules
> > b/board/nxp/ls1028ardb/ls1028-10-network.rules
> > new file mode 100644
> > index 0000000000..19f41634bd
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/ls1028-10-network.rules
> > @@ -0,0 +1,16 @@
> > +# ENETC rules
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.0",
> DRIVERS=="fsl_enetc", NAME:="eno0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.1",
> DRIVERS=="fsl_enetc", NAME:="eno1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.2",
> DRIVERS=="fsl_enetc", NAME:="eno2"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.6",
> DRIVERS=="fsl_enetc", NAME:="eno3"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.0",
> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.1",
> DRIVERS=="fsl_enetc_vf", NAME:="eno0vf1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.2",
> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:01.3",
> DRIVERS=="fsl_enetc_vf", NAME:="eno1vf1"
> > +# LS1028 switch rules
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p0", NAME="swp0"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p1", NAME="swp1"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p2", NAME="swp2"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p3", NAME="swp3"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p4", NAME="swp4"
> > +ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:00:00.5",
> DRIVERS=="mscc_felix", ATTR{phys_port_name}=="p5", NAME="swp5"
> > diff --git a/board/nxp/ls1028ardb/post-cfg-udev.sh
> > b/board/nxp/ls1028ardb/post-cfg-udev.sh
> > new file mode 100755
> > index 0000000000..311a93aee2
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/post-cfg-udev.sh
> > @@ -0,0 +1,10 @@
> > +#!/usr/bin/env bash
> > +
> > +main()
> > +{
> > +       cp board/nxp/ls1028ardb/ls1028-10-network.rules
> > +${TARGET_DIR}/etc/udev/rules.d/10-network.rules
> 
> Shouldn't this be a part of a BR2_ROOTFS_OVERLAY fragment?
> 
> > +
> > +       exit $?
> > +}
> > +
> > +main $@
> > diff --git a/board/nxp/ls1028ardb/readme.txt
> > b/board/nxp/ls1028ardb/readme.txt new file mode 100644 index
> > 0000000000..713babd7c3
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/readme.txt
> > @@ -0,0 +1,61 @@
> > +LS1028ARDB board is one platform based on LS1028A silicon for
> > +industry, which is supported in LSDK-19.09.
> > +
> > +One simple image file is created by buildroot, which includes RCW,
> > +uboot, Linux kernel, rootfs and other necessary binaries for this board.
> > +
> > +To program the image file created by buildroot into the flash.
> > +There are two way to do it:
> > +
> > +1. Program the image file on PC machine for SD card boot
> > +  $ sudo dd if=./output/images/sdcard.img of=/dev/sdx
> > +  # or in some other host machine:
> > +  $ sudo dd if=./output/images/sdcard.img of=/dev/mmcblkx
> > +
> > +  # find the right SD Card device name in your host machine and
> > + replace the  # ?sdx? or ?mmcblkx?.
> > +
> > +2. Program the image file on board for eMMC and XSPI boot Make sure
> > +your board has ipaddr, netmask, and serverip defined to reach your
> > +tftp server.
> > +
> > +  2.1 Program eMMC boot image file to eMMC chip
> > +    # Make sure output/images/sdcard.img is stored to tftp server
> > +    # Below command is one example
> > +    => tftpboot 0xa0000000 sdcard.img
> > +    => mmc dev 1
> > +    => mmc erase 0 0x200000
> > +    => mmc write 0xa0000000 0 0x200000
> > +
> > +    # The size "0x200000" will be changed when the image size is different.
> > +
> > +  2.2 Program XSPI boot image file to flash
> > +    # Make sure output/images/xspi.cpio.img is stored to tftp server
> > +    # Below command is one example
> > +    => tftpboot 0xa0000000 xspi.cpio.img
> > +    => sf probe
> > +    => sf erase 0 $filesize
> > +    => sf write 0xa0000000 0 $filesize
> > +
> > +3. Booting your new system
> > +Before booting the new system, we should make sure the switch setting is
> right.
> > +below switch setting is for each booting mode:
> > +    +-----------+---------------------+
> > +    |Boot mode  | Switch setting      |
> > +    +---------------------------------+
> > +    |SD boot    | SW2[1~4] = 0b?1000  |
> > +    +---------------------------------+
> > +    |eMMC boot  | SW2[1~4] = 0b?1001  |
> > +    +---------------------------------+
> > +    |XSPI boot  | SW2[1~4] = 0b?1111  |
> > +    +-----------+---------------------+
> > +
> > +or we use following command to reset the board in uboot prompt:
> > +  # boot from SD card
> > +  => qixis_reset sd
> > +
> > +  # boot from eMMC chip
> > +  => qixis_reset emmc
> > +
> > +  # boot from XSPI
> > +  => qixis_reset qspi
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > new file mode 100644
> > index 0000000000..01a97aa89d
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-emmc.txt
> > @@ -0,0 +1,22 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/mmcblk1p2 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M
> > +video=1920x1080-32 at 60;mmc dev 1;mmcinfo;fatload mmc 1:1 ${dp_load}
> > +${dp_file};hdp load ${dp_load} ${dp_offset};fatload mmc 1:1
> > +${loadaddr} ${bootfile};fatload mmc 1:1 ${fdtaddr} ${fdtfile};booti
> > +${loadaddr} - ${fdtaddr}
> > +bootdelay=3
> > +bootfile=Image
> > +fdtfile=fsl-ls1028a-rdb.dtb
> > +eth2addr=00:1F:7B:63:35:E9
> 
> Do we really want to put a MAC address in the U-Boot environment? This will
> work ok for the first board, but not so well for the second board that you put in
> the same network.
> And actually, do we want a U-Boot environment at all? The LSDK U-Boot default
> environment is distroboot enabled. With the proper extlinux.conf file generated
> by post-image.sh, it can load Buildroot in a breeze with no custom script
> necessary:
I can remove the MAC address from u-boot environment, uboot will use the random MAC address if there is not.
Actually, MAC address should be written to EEPROM.
Though, the environment is enabled in LSDK U-Boot, but it is for all boot modes which cause the boot scripts is very complex and not easy to read.
So we use the environment simplified.

> label Buildroot %VERSION% - %BOARD%
>   kernel %KERNEL%
>   devicetree %DTB%
>   append console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootwait
> 
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> 
> There is certainly no DTSEC port on LS1028A.
> 
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> 
> And no FMan microcode.
> 
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +loadaddr=0xa0000000
> > +fdtaddr=0xb0000000
> > +dp_file=ls1028a-dp-fw.bin
> > +dp_load=0x90000000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc
> > +0:1 ${loadaddr} ${bootfile};bootm ${loadaddr}
> 
> What does "rollbackboot" do?
> 
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > new file mode 100644
> > index 0000000000..820989280f
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > @@ -0,0 +1,21 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/mmcblk0p2 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200 cma=256M
> > +video=1920x1080-32 at 60;mmcinfo;fatload mmc 0:1 ${dp_load} ${dp_file};
> > +hdp load ${dp_load} ${dp_offset};fatload mmc 0:1 ${loadaddr}
> > +${bootfile};fatload mmc 0:1 ${fdtaddr} ${fdtfile};booti ${loadaddr} -
> > +${fdtaddr}
> > +bootdelay=3
> > +bootfile=Image
> > +fdtfile=fsl-ls1028a-rdb.dtb
> > +eth2addr=00:1F:7B:63:35:E9
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +loadaddr=0xa0000000
> > +fdtaddr=0xb0000000
> > +dp_file=ls1028a-dp-fw.bin
> > +dp_load=0x90000000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > diff --git a/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > new file mode 100644
> > index 0000000000..5677cdddaa
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-xspi.txt
> > @@ -0,0 +1,22 @@
> > +baudrate=115200
> > +bootcmd=setenv bootargs root=/dev/ram0 rw
> earlycon=uart8250,0x21c0500
> > +console=ttyS0,115200 cma=256M video=1920x1080-32 at 60; sf probe 0:0; sf
> > +read $dp_load $dp_start $dp_size; hdp load $dp_load $dp_offset; sf
> > +read $kernel_load $kernel_start $kernel_size && bootm $kernel_load
> > +bootdelay=3
> > +eth2addr=00:1F:7B:63:35:E9
> > +ethact=FM1 at DTSEC3
> > +ethprime=FM1 at DTSEC3
> > +fdt_high=0xffffffffffffffff
> > +fdtcontroladdr=ffc01550
> > +fman_ucode=ffc12090
> > +hwconfig=fsl_ddr:bank_intlv=auto
> > +initrd_high=0xffffffffffffffff
> > +kernel_load=0xa0000000
> > +kernel_size=0x3000000
> > +kernel_start=0x1000000
> > +dp_load=0x90000000
> > +dp_start=0x940000
> > +dp_size=0x40000
> > +dp_offset=0x2000
> > +stderr=serial
> > +stdin=serial
> > +stdout=serial
> > +rollbackboot=setenv bootargs root=/dev/ram0 rootwait rw
> > +earlycon=uart8250,0x21c0500 console=ttyS0,115200;mmcinfo;fatload mmc
> > +0:1 ${loadaddr} ${bootfile};bootm $loadaddr
> > diff --git a/configs/nxp_ls1028ardb-64b-emmc_defconfig
> > b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> > new file mode 100644
> > index 0000000000..019889f5e0
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b-emmc_defconfig
> 
> Thomas, is there any way in Buildroot to use fragments for the board configs, to
> avoid duplication? I couldn't find any way.
> 
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348800651&amp;sdata=kFn3nsvOHgCCT
> JYKYMoU9rRkGsFR77TYGzbvOEezXIg%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-emmc.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348800651&amp;sdata=iS%2F%2Bf1lVYF9f
> PRlNdjKkKKuRmRsdwtOTF7mZ%2BUFwz5c%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="emmc"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 300_emmcboot.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348800651&amp;sdat
> a=QxY1g3x9g%2FVOObPfmMgqiX1KCF8jYUzYT33inYJYCyA%3D&amp;reserved=
> 0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_emmc.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=emmc RCW=$(BINARIES_DIR)/rcw_1300_emmcboot.bin"
> > diff --git a/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > new file mode 100644
> > index 0000000000..66241c4c79
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b-xspi_defconfig
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_CPIO=y
> > +BR2_TARGET_ROOTFS_CPIO_GZIP=y
> > +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348800651&amp;sdata=kFn3nsvOHgCCT
> JYKYMoU9rRkGsFR77TYGzbvOEezXIg%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-xspi.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348810637&amp;sdata=Akdyy0hEI%2Fiqw
> y6oPyt6OLrLAea1JpikT2r8BI9Yvz8%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image.gz"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> >
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image-spi.s
> h"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> >
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls
> /busybox.config"
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="flexspi_nor"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 500_gpu600.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdat
> a=9ssQTjqQMNf7FgKISQPKHB0ywJkUCcorbBjCIVodYkE%3D&amp;reserved=0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin
> bl2_flexspi_nor.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=flexspi_nor RCW=$(BINARIES_DIR)/rcw_1500_gpu600.bin"
> > diff --git a/configs/nxp_ls1028ardb-64b_defconfig
> > b/configs/nxp_ls1028ardb-64b_defconfig
> > new file mode 100644
> > index 0000000000..fdb251058f
> > --- /dev/null
> > +++ b/configs/nxp_ls1028ardb-64b_defconfig
> > @@ -0,0 +1,85 @@
> > +# Architecture
> > +BR2_aarch64=y
> > +BR2_cortex_a72=y
> > +
> > +# Filesystem
> > +BR2_TARGET_ROOTFS_EXT2=y
> > +BR2_TARGET_ROOTFS_EXT2_4=y
> > +
> > +# Hostname and issue
> > +BR2_TARGET_GENERIC_HOSTNAME="LS1028ARDB"
> > +
> > +# toolchain
> > +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > +BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc"
> > +
> > +# Linux headers same as kernel
> > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
> > +
> > +# bootloader
> > +BR2_TARGET_UBOOT=y
> > +BR2_TARGET_UBOOT_BOARDNAME="ls1028ardb_tfa"
> > +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> >
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://eur01.safelinks.protectio
> n.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqo
> riq%2Fqoriq-components%2Fu-boot&amp;data=02%7C01%7Cjerry.huang%40nx
> p.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C637109345348810637&amp;sdata=XB0okA3zSQFVF
> 8QmKrSgy%2BXnZ5hcqvfRo%2FznvzodgSs%3D&amp;reserved=0"
> > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="LSDK-19.09"
> > +BR2_TARGET_UBOOT_NEEDS_DTC=y
> > +BR2_TARGET_UBOOT_FORMAT_BIN=n
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-dtb.bin"
> > +BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE=y
> > +BR2_TARGET_UBOOT_ENVIMAGE=y
> >
> +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/nxp/ls1028ardb/u-boot-e
> nvironment-sd.txt"
> > +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x2000"
> > +
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://eur01.safelinks.protection
> .outlook.com/?url=https%3A%2F%2Fsource.codeaurora.org%2Fexternal%2Fqor
> iq%2Fqoriq-components%2Flinux&amp;data=02%7C01%7Cjerry.huang%40nxp.
> com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C637109345348810637&amp;sdata=Akdyy0hEI%2Fiqw
> y6oPyt6OLrLAea1JpikT2r8BI9Yvz8%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> > +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >
> +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(LINUX_DIR)/arch/arm64
> /configs/lsdk.config"
> > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-ls1028a-rdb"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> > +
> > +# Serial port config
> > +BR2_TARGET_GENERIC_GETTY=y
> > +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> > +
> > +# required tools to create the microSD image
> > +BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y
> > +BR2_PACKAGE_HOST_MTOOLS=y
> > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nxp/common/ls/post-image.sh"
> > +BR2_ROOTFS_POST_SCRIPT_ARGS="$(LINUX_DIR) $(TOPDIR)
> $(UBOOT_DIR)"
> > +
> > +# busybox setting
> >
> +BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/nxp/common/ls
> /busybox.config"
> > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> > +
> > +# packages for rcw
> > +BR2_PACKAGE_HOST_QORIQ_RCW=y
> > +BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE="sd"
> >
> +BR2_PACKAGE_HOST_QORIQ_RCW_BIN="ls1028ardb/R_SQPP_0x85bb/rcw_1
> 300_sdboot.bin"
> > +
> > +#Display port firmware
> > +BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE=y
> > +
> > +#eudev support
> > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> >
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nxp/ls1028ardb/post-cfg-udev.sh"
> > +
> > +# Arm-Trusted-Firmware
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE="u-boot-dt
> b.bin"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://eur
> 01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsource.codeaurora.
> org%2Fexternal%2Fqoriq%2Fqoriq-components%2Fatf&amp;data=02%7C01%7
> Cjerry.huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1
> d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdat
> a=9ssQTjqQMNf7FgKISQPKHB0ywJkUCcorbBjCIVodYkE%3D&amp;reserved=0"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="LSDK-
> 19.09"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="ls1028ardb"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_IMAGES="fip.bin bl2_sd.pbl"
> > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS="pbl"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_DEPENDENCIES="h
> ost-qoriq-rcw"
> >
> +BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="BOOT
> _MODE=sd RCW=$(BINARIES_DIR)/rcw_1300_sdboot.bin"
> > --
> > 2.17.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists
> > .busybox.net%2Fmailman%2Flistinfo%2Fbuildroot&amp;data=02%7C01%7Cje
> rry
> > .huang%40nxp.com%7Cae8709aebdf54eef25ed08d77792f39a%7C686ea1d3b
> c2b4c6f
> >
> a92cd99c5c301635%7C0%7C0%7C637109345348810637&amp;sdata=0eld04G
> 7Qo%2F0
> > fDASkUbxYjsWLfeUCgf0bH2ee3O3JQQ%3D&amp;reserved=0
> 
> Thanks,
> -Vladimir

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

* [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-11-27  7:17 ` [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board Changming Huang
  2019-12-03  1:48   ` Vladimir Oltean
@ 2019-12-24 12:47   ` Vladimir Oltean
  2020-01-07  8:11     ` [Buildroot] [EXT] " Jerry Huang
  1 sibling, 1 reply; 18+ messages in thread
From: Vladimir Oltean @ 2019-12-24 12:47 UTC (permalink / raw)
  To: buildroot

Hi Jerry,

On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com> wrote:
>
> This is to support Freescale/NXP LS1028ARDB in Buildroot.
> The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
>
> The target will build uboot and RCW binary with arm-trusted-firmware support.
>
> board/nxp/ls1028ardb/: scripts related with ls1028ardb
> nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on board
> nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
> nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on board
>
> Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> ---

It looks like this series has stagnated. Do you think you can repost a
v4 with the feedback received so far?

Thanks,
-Vladimir

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

* [Buildroot] [EXT] Re: [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board
  2019-12-24 12:47   ` [Buildroot] " Vladimir Oltean
@ 2020-01-07  8:11     ` Jerry Huang
  0 siblings, 0 replies; 18+ messages in thread
From: Jerry Huang @ 2020-01-07  8:11 UTC (permalink / raw)
  To: buildroot

Hi, Vlamidir,
sure

Best Regards
Jerry Huang

> -----Original Message-----
> From: Vladimir Oltean <olteanv@gmail.com>
> Sent: Tuesday, December 24, 2019 8:48 PM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; Michael Walle <michael@walle.cc>;
> geomatsi at gmail.com; Matthew Weber <matthew.weber@collins.com>;
> Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Subject: [EXT] Re: [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new
> board
> 
> Caution: EXT Email
> 
> Hi Jerry,
> 
> On Wed, 27 Nov 2019 at 09:18, Changming Huang <jerry.huang@nxp.com>
> wrote:
> >
> > This is to support Freescale/NXP LS1028ARDB in Buildroot.
> > The board is setup to track the Linux at 4.19 via NXP LSDK-19.09.
> >
> > The target will build uboot and RCW binary with arm-trusted-firmware
> support.
> >
> > board/nxp/ls1028ardb/: scripts related with ls1028ardb
> > nxp_ls1028ardb-64b-emmc_defconfig: defconfig boot from emmc chip on
> board
> > nxp_ls1028ardb-64b_defconfig: defconfig boot from SD card
> > nxp_ls1028ardb-64b-xspi_defconfig: defconfig boot from FlexSPI chip on board
> >
> > Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> > ---
> 
> It looks like this series has stagnated. Do you think you can repost a
> v4 with the feedback received so far?
> 
> Thanks,
> -Vladimir

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

* [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support
@ 2019-11-27  7:30 Changming Huang
  0 siblings, 0 replies; 18+ messages in thread
From: Changming Huang @ 2019-11-27  7:30 UTC (permalink / raw)
  To: buildroot

From: Jerry Huang <jerry.huang@nxp.com>

For NXP QorIQ (PowerPC and Layerscape) platform,
we need to specify the RCW file and build it to binary.

Introduce BR2_PACKAGE_HOST_QORIQ_RCW_BIN to specify the RCW binary file.

Signed-off-by: Jerry Huang <jerry.huang@nxp.com>
---
changes since v2:
1. modify the patch descrition
2. more detail for BR2_PACKAGE_HOST_QORIQ_RCW_BIN
3. remove two options not used in this patch
4. add the condition detection in makefile for QorIQ RCW 

changes since v1:
1. add option BR2_PACKAGE_HOST_RCW_ATF for ATF.
---
 package/nxp/qoriq-rcw/Config.in.host | 12 ++++++++++++
 package/nxp/qoriq-rcw/qoriq-rcw.mk   | 15 +++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/package/nxp/qoriq-rcw/Config.in.host b/package/nxp/qoriq-rcw/Config.in.host
index 8f78a40908..9bf55894e8 100644
--- a/package/nxp/qoriq-rcw/Config.in.host
+++ b/package/nxp/qoriq-rcw/Config.in.host
@@ -25,4 +25,16 @@ config BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
 	  included for use in the SDK or with post scripts but no
 	  RCW binary will not be generated.
 
+config BR2_PACKAGE_HOST_QORIQ_RCW_BIN
+	string "Custom RCW"
+	depends on !BR2_PACKAGE_HOST_QORIQ_RCW_CUSTOM_PATH
+	help
+	  This option is used to specify the RCW binary file for board.
+	  which is composed with platform/serdes_value/rcw_file, platform
+	  is the platform name, serdes_value is the setting of the Serdes,
+	  rcw_file is the file name of RCW, for example:
+	  "ls1028ardb/R_SQPP_0x85bb/rcw_1300_sdboot.bin"
+
+	  If this option is empty, no rcw file is used.
+
 endif
diff --git a/package/nxp/qoriq-rcw/qoriq-rcw.mk b/package/nxp/qoriq-rcw/qoriq-rcw.mk
index 7a0494adc6..bbd085f277 100644
--- a/package/nxp/qoriq-rcw/qoriq-rcw.mk
+++ b/package/nxp/qoriq-rcw/qoriq-rcw.mk
@@ -37,6 +37,21 @@ endef
 define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
 	$(INSTALL) -D -m 0644 $(@D)/PBL.bin $(BINARIES_DIR)/PBL.bin
 endef
+else
+QORIQ_RCW_PATH_FILE_BIN = $(call qstrip,$(BR2_PACKAGE_HOST_QORIQ_RCW_BIN))
+
+ifneq ($(QORIQ_RCW_PATH_FILE_BIN),)
+QORIQ_RCW_PLATFORM = $(firstword $(subst /, ,$(QORIQ_RCW_PATH_FILE_BIN)))
+QORIQ_RCW_FILE_BIN = $(lastword $(subst /, ,$(QORIQ_RCW_PATH_FILE_BIN)))
+
+define HOST_QORIQ_RCW_BUILD_CMDS
+	$(MAKE) -C $(@D)/$(QORIQ_RCW_PLATFORM)
+endef
+
+define HOST_QORIQ_RCW_INSTALL_DELIVERY_FILE
+	$(INSTALL) -D -m 0644 $(@D)/$(QORIQ_RCW_PATH_FILE_BIN) $(BINARIES_DIR)/$(QORIQ_RCW_FILE_BIN)
+endef
+endif
 endif
 
 # Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer
-- 
2.17.1

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

end of thread, other threads:[~2020-01-07  8:11 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27  7:17 [Buildroot] [PATCH v3 1/9] package/nxp: new package directory Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
2019-11-27  7:21   ` Jerry Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
2019-12-06  7:51   ` Jerry Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 8/9] board/nxp/common/ls: Add standard post image script for Layerscape processors Changming Huang
2019-11-27  7:17 ` [Buildroot] [PATCH v3 9/9] configs/nxp_ls1028ardb*: new board Changming Huang
2019-12-03  1:48   ` Vladimir Oltean
2019-12-03  8:56     ` Michael Walle
2019-12-06  7:28     ` [Buildroot] [EXT] " Jerry Huang
2019-12-06  8:20     ` Jerry Huang
2019-12-24 12:47   ` [Buildroot] " Vladimir Oltean
2020-01-07  8:11     ` [Buildroot] [EXT] " Jerry Huang
2019-11-27  7:30 [Buildroot] [PATCH v3 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang

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.