All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/9] package/nxp: new package directory
@ 2020-02-05 10:52 Changming Huang
  2020-02-05 10:52 ` [Buildroot] v4 [PATCH 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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

* [Buildroot] v4 [PATCH 2/9] package/qoriq-rcw: move rcw into nxp and rename it
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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 16e8510b0a..9303841c47 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] 22+ messages in thread

* [Buildroot] [PATCH v4 3/9] package/qoriq-rcw: bump to version LSDK-19.09
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
  2020-02-05 10:52 ` [Buildroot] v4 [PATCH 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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

* [Buildroot] [PATCH v4 4/9] package/qoriq-rcw: add target rcw binary support
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
  2020-02-05 10:52 ` [Buildroot] v4 [PATCH 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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

* [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (2 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 12:29   ` Thomas Petazzoni
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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

* [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (3 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 13:47   ` Michael Walle
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 v3:
no changes.

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 9303841c47..0e131b0668 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] 22+ messages in thread

* [Buildroot] [PATCH v4 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (4 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode Changming Huang
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 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 since v3:
no changes.

changes since v2:
no changes.

changes since 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] 22+ messages in thread

* [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (5 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-06  9:50   ` Sergey Matyukevich
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board Changming Huang
  2020-02-05 14:08 ` [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Heiko Thiery
  8 siblings, 1 reply; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
---
changes since v3:
1. split this option from board patch.
---
 package/nxp/qoriq-rcw/Config.in.host | 6 ++++++
 1 file changed, 6 insertions(+)

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

* [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (6 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode Changming Huang
@ 2020-02-05 10:52 ` Changming Huang
  2020-02-05 12:39   ` Vladimir Oltean
  2020-02-05 14:08 ` [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Heiko Thiery
  8 siblings, 1 reply; 22+ messages in thread
From: Changming Huang @ 2020-02-05 10:52 UTC (permalink / raw)
  To: buildroot

This is to support NXP LS1028ARDB board 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_defconfig: defconfig boot from SD card

Signed-off-by: Changming Huang <jerry.huang@nxp.com>
---
changes since v3:
1. merge previous version patch 8 and patch 9 to one.
2. split RCW options BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE to another patch.
3. remove scritps about emmc and xspi.
4. remove xspi and emmc configuration.
5. add new option BR2_ROOTFS_OVERLAY for 10-network.rules.
6. modify u-boot environment scripts, remove all setting not used.
7. remove the scripts which is not used by default configuration.

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.
---
 board/nxp/common/ls/busybox.config            |  9 ++
 .../etc/udev/rules.d/10-network.rules         | 16 ++++
 board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
 board/nxp/ls1028ardb/post-image.sh            | 57 +++++++++++++
 board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
 .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 13 +++
 configs/nxp_ls1028ardb-64b_defconfig          | 85 +++++++++++++++++++
 7 files changed, 293 insertions(+)
 create mode 100644 board/nxp/common/ls/busybox.config
 create mode 100644 board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules
 create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
 create mode 100755 board/nxp/ls1028ardb/post-image.sh
 create mode 100644 board/nxp/ls1028ardb/readme.txt
 create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
 create mode 100644 configs/nxp_ls1028ardb-64b_defconfig

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/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules
new file mode 100644
index 0000000000..19f41634bd
--- /dev/null
+++ b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/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/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/post-image.sh b/board/nxp/ls1028ardb/post-image.sh
new file mode 100755
index 0000000000..c655074386
--- /dev/null
+++ b/board/nxp/ls1028ardb/post-image.sh
@@ -0,0 +1,57 @@
+#!/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
+}
+
+#
+# genimage.sd.cfg.template: Boot from SD
+# genimage.emmc.cfg.template: Boot from eMMC
+#
+genimage_type()
+{
+	if 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()
+{
+	local FILES="$(dtb_file) "ls1028a-dp-fw.bin", "Image""
+	local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
+	local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+	sed -e "s/%FILES%/${FILES}/" \
+		board/nxp/ls1028ardb/$(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/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-sd.txt b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
new file mode 100644
index 0000000000..f91e6b585f
--- /dev/null
+++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
@@ -0,0 +1,13 @@
+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
+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/configs/nxp_ls1028ardb-64b_defconfig b/configs/nxp_ls1028ardb-64b_defconfig
new file mode 100644
index 0000000000..ede72ff0ef
--- /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/ls1028ardb/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_OVERLAY="board/nxp/ls1028ardb/enetc_init_overlay"
+
+# 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] 22+ messages in thread

* [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
@ 2020-02-05 12:29   ` Thomas Petazzoni
  2020-02-07  1:21     ` [Buildroot] [EXT] " Jerry Huang
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2020-02-05 12:29 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed,  5 Feb 2020 18:52:23 +0800
Changming Huang <jerry.huang@nxp.com> wrote:

> two new options for arm-trusted-firmware:
> 1. BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
> 	- for additional targets, E.G. "pbl".

This option was already added in commit
05b8c7da6de863561d66717735a4870f2766454c, which is part of Buildroot
master.

> 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>

No need to resend just for that, though, it can be fixed when applying.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board Changming Huang
@ 2020-02-05 12:39   ` Vladimir Oltean
  2020-02-07  5:23     ` [Buildroot] [EXT] " Jerry Huang
  0 siblings, 1 reply; 22+ messages in thread
From: Vladimir Oltean @ 2020-02-05 12:39 UTC (permalink / raw)
  To: buildroot

Hi Jerry,

On Wed, 5 Feb 2020 at 12:54, Changming Huang <jerry.huang@nxp.com> wrote:
>
> This is to support NXP LS1028ARDB board 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_defconfig: defconfig boot from SD card
>
> Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> ---
> changes since v3:
> 1. merge previous version patch 8 and patch 9 to one.
> 2. split RCW options BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE to another patch.
> 3. remove scritps about emmc and xspi.
> 4. remove xspi and emmc configuration.
> 5. add new option BR2_ROOTFS_OVERLAY for 10-network.rules.
> 6. modify u-boot environment scripts, remove all setting not used.
> 7. remove the scripts which is not used by default configuration.
>
> 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.
> ---
>  board/nxp/common/ls/busybox.config            |  9 ++
>  .../etc/udev/rules.d/10-network.rules         | 16 ++++
>  board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
>  board/nxp/ls1028ardb/post-image.sh            | 57 +++++++++++++
>  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
>  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 13 +++
>  configs/nxp_ls1028ardb-64b_defconfig          | 85 +++++++++++++++++++
>  7 files changed, 293 insertions(+)
>  create mode 100644 board/nxp/common/ls/busybox.config
>  create mode 100644 board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules
>  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
>  create mode 100755 board/nxp/ls1028ardb/post-image.sh
>  create mode 100644 board/nxp/ls1028ardb/readme.txt
>  create mode 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
>  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
>
> 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/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.rules
> new file mode 100644
> index 0000000000..19f41634bd
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/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/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/post-image.sh b/board/nxp/ls1028ardb/post-image.sh
> new file mode 100755
> index 0000000000..c655074386
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/post-image.sh
> @@ -0,0 +1,57 @@
> +#!/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
> +}
> +
> +#
> +# genimage.sd.cfg.template: Boot from SD
> +# genimage.emmc.cfg.template: Boot from eMMC
> +#
> +genimage_type()
> +{
> +       if 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()
> +{
> +       local FILES="$(dtb_file) "ls1028a-dp-fw.bin", "Image""
> +       local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> +       local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
> +
> +       sed -e "s/%FILES%/${FILES}/" \
> +               board/nxp/ls1028ardb/$(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/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-sd.txt b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> new file mode 100644
> index 0000000000..f91e6b585f
> --- /dev/null
> +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> @@ -0,0 +1,13 @@
> +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
> +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/configs/nxp_ls1028ardb-64b_defconfig b/configs/nxp_ls1028ardb-64b_defconfig
> new file mode 100644
> index 0000000000..ede72ff0ef
> --- /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"

The LSDK has monthly bugfix releases and the most recent tag,
currently, is LSDK-19.09-update-311219-V4.19. There have been some
bugfixes since the tag you're proposing related to the Ethernet ports,
among other things. Shouldn't you use the most recently available tag?
Similar question for U-Boot and atf.

> +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

I think getty on downstream Buildroot for LS1028A-RDB doesn't work
properly with this setting as y. What is different here?

> +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/ls1028ardb/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_OVERLAY="board/nxp/ls1028ardb/enetc_init_overlay"

Why is this called so specific "enetc_init_overlay" and not
"rootfs_overlay"? If we want to add more files to the rootfs in the
future, can't we just use the same rootfs overlay for that?

> +
> +# 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
>

Thanks,
-Vladimir

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

* [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
@ 2020-02-05 13:47   ` Michael Walle
  2020-02-07  1:26     ` [Buildroot] [EXT] " Jerry Huang
  0 siblings, 1 reply; 22+ messages in thread
From: Michael Walle @ 2020-02-05 13:47 UTC (permalink / raw)
  To: buildroot

Am 2020-02-05 11:52, schrieb Changming Huang:
> 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 v3:
> no changes.
> 
> 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 9303841c47..0e131b0668 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
> +

I'm not sure if that NXP_QORIQ_SITE should go in here. But the specifc 
version "lsdk1909" is for sure not correct.

>  # 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)

why don't you just use
QORIQ_CADENCE_DP_FIRMWARE_SITE = 
http://www.nxp.com/lgfiles/sdk/$(QORIQ_CADENCE_DP_FIRMWARE_VERSION)

> +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

Installing the firmware into the target filesystem is missing. As 
pointed out by me - and also
Vladimir - the DisplayPort driver should rather load the firmare by its 
on and should not
depend on the bootloader to load it.

> +
> +$(eval $(generic-package))

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

* [Buildroot] [PATCH v4 1/9] package/nxp: new package directory
  2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
                   ` (7 preceding siblings ...)
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board Changming Huang
@ 2020-02-05 14:08 ` Heiko Thiery
  2020-02-06  3:41   ` [Buildroot] [EXT] " Jerry Huang
  8 siblings, 1 reply; 22+ messages in thread
From: Heiko Thiery @ 2020-02-05 14:08 UTC (permalink / raw)
  To: buildroot

Hi Changming,

> +################################################################################
> +#
> +# 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))

This seems to be a duplication of the FREESCALE_IMX_EXTRACT_HELPER, isn't it?

Do we then can remove the other one and use only the new "nxp" one?

By the way is there a plan to move all NXP specific packages (qoriq
and imx) to the nxp subdir?

--
Heiko

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

* [Buildroot] [EXT] Re: [PATCH v4 1/9] package/nxp: new package directory
  2020-02-05 14:08 ` [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Heiko Thiery
@ 2020-02-06  3:41   ` Jerry Huang
  2020-02-06  9:44     ` Vladimir Oltean
  0 siblings, 1 reply; 22+ messages in thread
From: Jerry Huang @ 2020-02-06  3:41 UTC (permalink / raw)
  To: buildroot



Best Regards
Jerry Huang

> -----Original Message-----
> From: Heiko Thiery <heiko.thiery@gmail.com>
> Sent: Wednesday, February 5, 2020 10:09 PM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; olteanv at gmail.com; 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 v4 1/9] package/nxp: new package
> directory
> 
> Caution: EXT Email
> 
> Hi Changming,
> 
> >
> +###############################################################
> ######
> > +###########
> > +#
> > +# 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))
> 
> This seems to be a duplication of the FREESCALE_IMX_EXTRACT_HELPER, isn't
> it?
> Do we then can remove the other one and use only the new "nxp" one?
> 
> By the way is there a plan to move all NXP specific packages (qoriq and imx) to
> the nxp subdir?
Yes, the helper is the duplication of FREESCALE_IMX_EXTRACT_HELPER.
Because Freescale is merged into NXP a few years ago, according to NXP's policy, we need to use nxp, instead of freescale.
So, I think the packages related NXP should be move into nxp directory.

> --
> Heiko

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

* [Buildroot] [EXT] Re: [PATCH v4 1/9] package/nxp: new package directory
  2020-02-06  3:41   ` [Buildroot] [EXT] " Jerry Huang
@ 2020-02-06  9:44     ` Vladimir Oltean
  2020-02-06  9:51       ` Thomas Petazzoni
  0 siblings, 1 reply; 22+ messages in thread
From: Vladimir Oltean @ 2020-02-06  9:44 UTC (permalink / raw)
  To: buildroot

Hi Jerry, Heiko,

On Thu, 6 Feb 2020 at 05:41, Jerry Huang <jerry.huang@nxp.com> wrote:
>

[snip]

> >
> > This seems to be a duplication of the FREESCALE_IMX_EXTRACT_HELPER, isn't
> > it?
> > Do we then can remove the other one and use only the new "nxp" one?
> >
> > By the way is there a plan to move all NXP specific packages (qoriq and imx) to
> > the nxp subdir?
> Yes, the helper is the duplication of FREESCALE_IMX_EXTRACT_HELPER.
> Because Freescale is merged into NXP a few years ago, according to NXP's policy, we need to use nxp, instead of freescale.
> So, I think the packages related NXP should be move into nxp directory.
>

Is it really NXP policy though?
The thing is that LS1028A and several other boards are already
supported by some downstream Buildroot patches, so it makes sense to
keep using the folder names that we have there, i.e. "nxp" instead of
changing to "freescale".
However I don't think there is any hard requirement either way, so in
practice, whatever generates the least amount of friction should work.

> > --
> > Heiko

Thanks,
-Vladimir

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

* [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode
  2020-02-05 10:52 ` [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode Changming Huang
@ 2020-02-06  9:50   ` Sergey Matyukevich
  0 siblings, 0 replies; 22+ messages in thread
From: Sergey Matyukevich @ 2020-02-06  9:50 UTC (permalink / raw)
  To: buildroot

> Introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for the boot mode.
> Because the RCW binary can be stored in different media, for example:
> sd - RCW locate in SD card, boot the board from SD card
> emmc - RCW locate in eMMC chip, boot the board from eMMC chip
> qspi - RCW locate in QSPI flash, boot the board from QSPI flash
> flexspi_nor - RCW locate in flexSPI, boot the board from flexSPI Nor/Nand flash
> 
> Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> ---
> changes since v3:
> 1. split this option from board patch.
> ---
>  package/nxp/qoriq-rcw/Config.in.host | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> 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

Does it make sense to add any default value for this option ?

Regards,
Sergey

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

* [Buildroot] [EXT] Re: [PATCH v4 1/9] package/nxp: new package directory
  2020-02-06  9:44     ` Vladimir Oltean
@ 2020-02-06  9:51       ` Thomas Petazzoni
  2020-02-06 10:04         ` Vladimir Oltean
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2020-02-06  9:51 UTC (permalink / raw)
  To: buildroot

On Thu, 6 Feb 2020 11:44:24 +0200
Vladimir Oltean <olteanv@gmail.com> wrote:

> > > This seems to be a duplication of the FREESCALE_IMX_EXTRACT_HELPER, isn't
> > > it?
> > > Do we then can remove the other one and use only the new "nxp" one?
> > >
> > > By the way is there a plan to move all NXP specific packages (qoriq and imx) to
> > > the nxp subdir?  
> > Yes, the helper is the duplication of FREESCALE_IMX_EXTRACT_HELPER.
> > Because Freescale is merged into NXP a few years ago, according to NXP's policy, we need to use nxp, instead of freescale.
> > So, I think the packages related NXP should be move into nxp directory.
> >  
> 
> Is it really NXP policy though?
> The thing is that LS1028A and several other boards are already
> supported by some downstream Buildroot patches, so it makes sense to
> keep using the folder names that we have there, i.e. "nxp" instead of
> changing to "freescale".

The proposal is not to change from nxp to freescale, but the opposite.

However, I think it's good to keep in mind that NXP's policy applies to
whatever NXP does. The Buildroot project is independent and is not
forced in any way to comply with NXP policies.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [EXT] Re: [PATCH v4 1/9] package/nxp: new package directory
  2020-02-06  9:51       ` Thomas Petazzoni
@ 2020-02-06 10:04         ` Vladimir Oltean
  0 siblings, 0 replies; 22+ messages in thread
From: Vladimir Oltean @ 2020-02-06 10:04 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Thu, 6 Feb 2020 at 11:51, Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> On Thu, 6 Feb 2020 11:44:24 +0200
> Vladimir Oltean <olteanv@gmail.com> wrote:
>
> > > > This seems to be a duplication of the FREESCALE_IMX_EXTRACT_HELPER, isn't
> > > > it?
> > > > Do we then can remove the other one and use only the new "nxp" one?
> > > >
> > > > By the way is there a plan to move all NXP specific packages (qoriq and imx) to
> > > > the nxp subdir?
> > > Yes, the helper is the duplication of FREESCALE_IMX_EXTRACT_HELPER.
> > > Because Freescale is merged into NXP a few years ago, according to NXP's policy, we need to use nxp, instead of freescale.
> > > So, I think the packages related NXP should be move into nxp directory.
> > >
> >
> > Is it really NXP policy though?
> > The thing is that LS1028A and several other boards are already
> > supported by some downstream Buildroot patches, so it makes sense to
> > keep using the folder names that we have there, i.e. "nxp" instead of
> > changing to "freescale".
>
> The proposal is not to change from nxp to freescale, but the opposite.
>

It depends on perspective, but I guess you already got the point.

> However, I think it's good to keep in mind that NXP's policy applies to
> whatever NXP does. The Buildroot project is independent and is not
> forced in any way to comply with NXP policies.
>

Not trying to suggest otherwise, just to explain why the freescale ->
nxp name change took place between Jerry's v2 and v3 of this patch
series. The arguments have been brought on both sides, I don't think
it's a big deal either way as long as the naming between device
families is consistent and there isn't any unjustified duplication, so
I'll just let Jerry make a decision one way or another.

> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

Regards,
-Vladimir

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

* [Buildroot] [EXT] Re: [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options
  2020-02-05 12:29   ` Thomas Petazzoni
@ 2020-02-07  1:21     ` Jerry Huang
  0 siblings, 0 replies; 22+ messages in thread
From: Jerry Huang @ 2020-02-07  1:21 UTC (permalink / raw)
  To: buildroot



Best Regards
Jerry Huang

> -----Original Message-----
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Sent: Wednesday, February 5, 2020 8:29 PM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; olteanv at gmail.com; michael at walle.cc;
> geomatsi at gmail.com; matthew.weber at collins.com
> Subject: [EXT] Re: [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware:
> introduce two new options
> 
> Caution: EXT Email
> 
> Hello,
> 
> On Wed,  5 Feb 2020 18:52:23 +0800
> Changming Huang <jerry.huang@nxp.com> wrote:
> 
> > two new options for arm-trusted-firmware:
> > 1. BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
> >       - for additional targets, E.G. "pbl".
> 
> This option was already added in commit
> 05b8c7da6de863561d66717735a4870f2766454c, which is part of Buildroot
> master.
> 
> > 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>
> 
> No need to resend just for that, though, it can be fixed when applying.
Sure, I will remove this options from next version.

> Best regards,
> 
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbootlin.c
> om&amp;data=02%7C01%7Cjerry.huang%40nxp.com%7Cc92f05de22194ab439
> ff08d7aa3709bc%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6371
> 65025674223306&amp;sdata=wsI3e76EHN6NNtKknPiZpBnWAn1FyALHUgbjp4
> LKAdw%3D&amp;reserved=0

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

* [Buildroot] [EXT] Re: [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package
  2020-02-05 13:47   ` Michael Walle
@ 2020-02-07  1:26     ` Jerry Huang
  2020-02-07  8:52       ` Michael Walle
  0 siblings, 1 reply; 22+ messages in thread
From: Jerry Huang @ 2020-02-07  1:26 UTC (permalink / raw)
  To: buildroot



Best Regards
Jerry Huang

> -----Original Message-----
> From: Michael Walle <michael@walle.cc>
> Sent: Wednesday, February 5, 2020 9:48 PM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; thomas.petazzoni at bootlin.com;
> matthew.weber at collins.com; geomatsi at gmail.com; olteanv at gmail.com
> Subject: [EXT] Re: [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new
> package
> 
> Caution: EXT Email
> 
> Am 2020-02-05 11:52, schrieb Changming Huang:
> > 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 v3:
> > no changes.
> >
> > 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 9303841c47..0e131b0668 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 =
> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> >
> +nxp.com%2Flgfiles%2Fsdk%2Flsdk1909&amp;data=02%7C01%7Cjerry.huang%
> 40n
> >
> +xp.com%7Ce570360260aa4b23ad6708d7aa42085b%7C686ea1d3bc2b4c6fa92
> cd99c5
> >
> +c301635%7C0%7C0%7C637165072894599859&amp;sdata=y0oeGsbp%2FvxW
> GdocRx4W
> > +Z1sPhepE3gFFfIdSTev%2F%2BU4%3D&amp;reserved=0
> > +
> 
> I'm not sure if that NXP_QORIQ_SITE should go in here. But the specifc version
> "lsdk1909" is for sure not correct.
Will remove NXP_QORIQ_SITE from next version.

> >  # 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)
> 
> why don't you just use
> QORIQ_CADENCE_DP_FIRMWARE_SITE =
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.nxp.
> com%2Flgfiles%2Fsdk%2F%24(QORIQ_CADENCE_DP_FIRMWARE_VERSION&a
> mp;data=02%7C01%7Cjerry.huang%40nxp.com%7Ce570360260aa4b23ad6708
> d7aa42085b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6371650
> 72894609853&amp;sdata=4nh9qImzs1JjE1CPLEKU3Hx%2BP7lkLudTNfd41TZ7K
> %2Fc%3D&amp;reserved=0)
will use the url directly next version.

> > +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)/$(QORI
> Q_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
> 
> Installing the firmware into the target filesystem is missing. As pointed out by
> me - and also Vladimir - the DisplayPort driver should rather load the firmare by
> its on and should not depend on the bootloader to load it.
We don't install this firmware into target filesystem, because we need to load it to hardware before mounting target filesystem.

> > +
> > +$(eval $(generic-package))

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

* [Buildroot] [EXT] Re: [PATCH v4 9/9] board/nxp/ls1028ardb: new board
  2020-02-05 12:39   ` Vladimir Oltean
@ 2020-02-07  5:23     ` Jerry Huang
  0 siblings, 0 replies; 22+ messages in thread
From: Jerry Huang @ 2020-02-07  5:23 UTC (permalink / raw)
  To: buildroot



Best Regards
Jerry Huang

> -----Original Message-----
> From: Vladimir Oltean <olteanv@gmail.com>
> Sent: Wednesday, February 5, 2020 8:39 PM
> To: Jerry Huang <jerry.huang@nxp.com>
> Cc: buildroot at busybox.net; Thomas Petazzoni
> <thomas.petazzoni@bootlin.com>; Michael Walle <michael@walle.cc>;
> Matthew Weber <matthew.weber@collins.com>; geomatsi at gmail.com
> Subject: [EXT] Re: [PATCH v4 9/9] board/nxp/ls1028ardb: new board
> 
> Caution: EXT Email
> 
> Hi Jerry,
> 
> On Wed, 5 Feb 2020 at 12:54, Changming Huang <jerry.huang@nxp.com>
> wrote:
> >
> > This is to support NXP LS1028ARDB board 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_defconfig: defconfig boot from SD card
> >
> > Signed-off-by: Changming Huang <jerry.huang@nxp.com>
> > ---
> > changes since v3:
> > 1. merge previous version patch 8 and patch 9 to one.
> > 2. split RCW options BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE to
> another patch.
> > 3. remove scritps about emmc and xspi.
> > 4. remove xspi and emmc configuration.
> > 5. add new option BR2_ROOTFS_OVERLAY for 10-network.rules.
> > 6. modify u-boot environment scripts, remove all setting not used.
> > 7. remove the scripts which is not used by default configuration.
> >
> > 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.
> > ---
> >  board/nxp/common/ls/busybox.config            |  9 ++
> >  .../etc/udev/rules.d/10-network.rules         | 16 ++++
> >  board/nxp/ls1028ardb/genimage.sd.cfg.template | 52 ++++++++++++
> >  board/nxp/ls1028ardb/post-image.sh            | 57 +++++++++++++
> >  board/nxp/ls1028ardb/readme.txt               | 61 +++++++++++++
> >  .../nxp/ls1028ardb/u-boot-environment-sd.txt  | 13 +++
> >  configs/nxp_ls1028ardb-64b_defconfig          | 85
> +++++++++++++++++++
> >  7 files changed, 293 insertions(+)
> >  create mode 100644 board/nxp/common/ls/busybox.config
> >  create mode 100644
> > board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.ru
> > les  create mode 100644 board/nxp/ls1028ardb/genimage.sd.cfg.template
> >  create mode 100755 board/nxp/ls1028ardb/post-image.sh
> >  create mode 100644 board/nxp/ls1028ardb/readme.txt  create mode
> > 100644 board/nxp/ls1028ardb/u-boot-environment-sd.txt
> >  create mode 100644 configs/nxp_ls1028ardb-64b_defconfig
> >
> > 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/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.
> > rules
> > b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-network.
> > rules
> > new file mode 100644
> > index 0000000000..19f41634bd
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/enetc_init_overlay/etc/udev/rules.d/10-netw
> > +++ ork.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/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/post-image.sh
> > b/board/nxp/ls1028ardb/post-image.sh
> > new file mode 100755
> > index 0000000000..c655074386
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/post-image.sh
> > @@ -0,0 +1,57 @@
> > +#!/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
> > +}
> > +
> > +#
> > +# genimage.sd.cfg.template: Boot from SD
> > +# genimage.emmc.cfg.template: Boot from eMMC
> > +#
> > +genimage_type()
> > +{
> > +       if 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()
> > +{
> > +       local FILES="$(dtb_file) "ls1028a-dp-fw.bin", "Image""
> > +       local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
> > +       local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
> > +
> > +       sed -e "s/%FILES%/${FILES}/" \
> > +               board/nxp/ls1028ardb/$(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/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-sd.txt
> b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > new file mode 100644
> > index 0000000000..f91e6b585f
> > --- /dev/null
> > +++ b/board/nxp/ls1028ardb/u-boot-environment-sd.txt
> > @@ -0,0 +1,13 @@
> > +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
> > +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/configs/nxp_ls1028ardb-64b_defconfig
> b/configs/nxp_ls1028ardb-64b_defconfig
> > new file mode 100644
> > index 0000000000..ede72ff0ef
> > --- /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%7Ce7f374b4b8684185612a08d7aa3878c0%7C686ea1d3bc2b4c6fa92cd
> 99c5c301635%7C0%7C0%7C637165031827183010&amp;sdata=Zhc99R0%2F7y
> tVSywcJTFySbuX99tLwthU2yAym2dGxEE%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%7Ce7f374b4b8684185612a08d7aa3878c0%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C0%7C637165031827183010&amp;sdata=qR633dpjWuIi3ck
> %2BWjyZOuJlhp4ZtiTLWy9YfiFzctc%3D&amp;reserved=0"
> > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="LSDK-19.09-V4.19"
> 
> The LSDK has monthly bugfix releases and the most recent tag,
> currently, is LSDK-19.09-update-311219-V4.19. There have been some
> bugfixes since the tag you're proposing related to the Ethernet ports,
> among other things. Shouldn't you use the most recently available tag?
> Similar question for U-Boot and atf.
Ok, the uboot and Linux will use the latest LSDK version LSDK-19.09-update-311219 and LSDK-19.09-update-311219-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
> 
> I think getty on downstream Buildroot for LS1028A-RDB doesn't work
> properly with this setting as y. What is different here?
Ls1028ardb need the GETTY, otherwise we can't enter Linux prompt.

> > +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/ls1028ardb/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_OVERLAY="board/nxp/ls1028ardb/enetc_init_overlay"
> 
> Why is this called so specific "enetc_init_overlay" and not
> "rootfs_overlay"? If we want to add more files to the rootfs in the
> future, can't we just use the same rootfs overlay for that?
Will change to rootfs_overlay to cover all options.

> > +
> > +# 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%7Ce7f374b4b8684185612a08d7aa3878c0%7C686ea
> 1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637165031827183010&amp;sd
> ata=mnN%2FjI0pui6Tkc7oYBPPFqu0RvYPHTxW0xy%2FI2vONHo%3D&amp;rese
> rved=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
> >
> 
> Thanks,
> -Vladimir

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

* [Buildroot] [EXT] Re: [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package
  2020-02-07  1:26     ` [Buildroot] [EXT] " Jerry Huang
@ 2020-02-07  8:52       ` Michael Walle
  0 siblings, 0 replies; 22+ messages in thread
From: Michael Walle @ 2020-02-07  8:52 UTC (permalink / raw)
  To: buildroot

Am 2020-02-07 02:26, schrieb Jerry Huang:
> Best Regards
> Jerry Huang
> 
>> -----Original Message-----
>> From: Michael Walle <michael@walle.cc>
>> Sent: Wednesday, February 5, 2020 9:48 PM
>> To: Jerry Huang <jerry.huang@nxp.com>
>> Cc: buildroot at busybox.net; thomas.petazzoni at bootlin.com;
>> matthew.weber at collins.com; geomatsi at gmail.com; olteanv at gmail.com
>> Subject: [EXT] Re: [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: 
>> new
>> package
>> 
>> Caution: EXT Email
>> 
>> Am 2020-02-05 11:52, schrieb Changming Huang:
>> > 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 v3:
>> > no changes.
>> >
>> > 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 9303841c47..0e131b0668 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 =
>> > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
>> >
>> +nxp.com%2Flgfiles%2Fsdk%2Flsdk1909&amp;data=02%7C01%7Cjerry.huang%
>> 40n
>> >
>> +xp.com%7Ce570360260aa4b23ad6708d7aa42085b%7C686ea1d3bc2b4c6fa92
>> cd99c5
>> >
>> +c301635%7C0%7C0%7C637165072894599859&amp;sdata=y0oeGsbp%2FvxW
>> GdocRx4W
>> > +Z1sPhepE3gFFfIdSTev%2F%2BU4%3D&amp;reserved=0
>> > +
>> 
>> I'm not sure if that NXP_QORIQ_SITE should go in here. But the specifc 
>> version
>> "lsdk1909" is for sure not correct.
> Will remove NXP_QORIQ_SITE from next version.
> 
>> >  # 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)
>> 
>> why don't you just use
>> QORIQ_CADENCE_DP_FIRMWARE_SITE =
>> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.nxp.
>> com%2Flgfiles%2Fsdk%2F%24(QORIQ_CADENCE_DP_FIRMWARE_VERSION&a
>> mp;data=02%7C01%7Cjerry.huang%40nxp.com%7Ce570360260aa4b23ad6708
>> d7aa42085b%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6371650
>> 72894609853&amp;sdata=4nh9qImzs1JjE1CPLEKU3Hx%2BP7lkLudTNfd41TZ7K
>> %2Fc%3D&amp;reserved=0)
> will use the url directly next version.
> 
>> > +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)/$(QORI
>> Q_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
>> 
>> Installing the firmware into the target filesystem is missing. As 
>> pointed out by
>> me - and also Vladimir - the DisplayPort driver should rather load the 
>> firmare by
>> its on and should not depend on the bootloader to load it.
> We don't install this firmware into target filesystem, because we need
> to load it to hardware before mounting target filesystem.

You didn't get my point. The correct way to load the firmware is by 
linux
requesting it from the filesystem, not by loading it in the bootloader. 
So
at least this package should go into the right direction, independent 
from
what you're doing in your own kernel. Also what is the upstream status 
of
the graphics patches for the LS1028A. I couldn't find any patches 
regarding
ls1028a and its mali core on the linux mailing list. If there are no 
patches
for now, please wait until it will be discussed on the kernel mailing 
list
how the firmware loading will be handled. TBH, I don't like to see some
proprietary handling in buildroot.

-michael

> 
>> > +
>> > +$(eval $(generic-package))

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

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

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-05 10:52 [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Changming Huang
2020-02-05 10:52 ` [Buildroot] v4 [PATCH 2/9] package/qoriq-rcw: move rcw into nxp and rename it Changming Huang
2020-02-05 10:52 ` [Buildroot] [PATCH v4 3/9] package/qoriq-rcw: bump to version LSDK-19.09 Changming Huang
2020-02-05 10:52 ` [Buildroot] [PATCH v4 4/9] package/qoriq-rcw: add target rcw binary support Changming Huang
2020-02-05 10:52 ` [Buildroot] [PATCH v4 5/9] boot/arm-trusted-firmware: introduce two new options Changming Huang
2020-02-05 12:29   ` Thomas Petazzoni
2020-02-07  1:21     ` [Buildroot] [EXT] " Jerry Huang
2020-02-05 10:52 ` [Buildroot] [PATCH v4 6/9] package/qoriq-cadence-dp-firmware: new package Changming Huang
2020-02-05 13:47   ` Michael Walle
2020-02-07  1:26     ` [Buildroot] [EXT] " Jerry Huang
2020-02-07  8:52       ` Michael Walle
2020-02-05 10:52 ` [Buildroot] [PATCH v4 7/9] package/qoriq-rcw:Enable IIC5_PMUX and CLK_OUT_PMUX for GPIO Changming Huang
2020-02-05 10:52 ` [Buildroot] [PATCH v4 8/9] package/nxp/qoriq-rcw: introduce BR2_PACKAGE_HOST_QORIQ_RCW_BOOT_MODE for boot mode Changming Huang
2020-02-06  9:50   ` Sergey Matyukevich
2020-02-05 10:52 ` [Buildroot] [PATCH v4 9/9] board/nxp/ls1028ardb: new board Changming Huang
2020-02-05 12:39   ` Vladimir Oltean
2020-02-07  5:23     ` [Buildroot] [EXT] " Jerry Huang
2020-02-05 14:08 ` [Buildroot] [PATCH v4 1/9] package/nxp: new package directory Heiko Thiery
2020-02-06  3:41   ` [Buildroot] [EXT] " Jerry Huang
2020-02-06  9:44     ` Vladimir Oltean
2020-02-06  9:51       ` Thomas Petazzoni
2020-02-06 10:04         ` Vladimir Oltean

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.