From 89c4ed57b768449d58bb0830e98c9b99ea466feb Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Tue, 3 Jul 2018 11:07:06 +0800 Subject: layerscape: update ls-rcw to LSDK-18.06 The rcw source code had been migrated to codeaurora for LSDK-18.06 release and the future release. The source code had also involved ls1012ardb/ls1012afrdm/ ls1088ardb/ls2088ardb rcw, so we updated ls-rcw to LSDK-18.06, reworked the makefile and dropped ls-rcw-bin package in this patch. Also reworked ls-rcw patch to adapt to the latest source code. Signed-off-by: Yangbo Lu --- package/firmware/layerscape/ls-rcw-bin/Makefile | 99 ------------------- package/firmware/layerscape/ls-rcw/Makefile | 107 +++++++++------------ ...rcw-add-a-python-script-for-byte-swapping.patch | 66 ------------- ...-support-byte-swapping-without-tclsh-tool.patch | 82 ++++++++++++++++ target/linux/layerscape/image/Makefile | 12 +-- 5 files changed, 136 insertions(+), 230 deletions(-) delete mode 100644 package/firmware/layerscape/ls-rcw-bin/Makefile delete mode 100644 package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch create mode 100644 package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch diff --git a/package/firmware/layerscape/ls-rcw-bin/Makefile b/package/firmware/layerscape/ls-rcw-bin/Makefile deleted file mode 100644 index 589124e448..0000000000 --- a/package/firmware/layerscape/ls-rcw-bin/Makefile +++ /dev/null @@ -1,99 +0,0 @@ -# -# Copyright 2017 NXP -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk - -PKG_NAME:=ls-rcw-bin -PKG_SOURCE_DATE:=2017-11-19 -PKG_RELEASE:=1 - -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/NXP/qoriq-rcw-bin.git -PKG_SOURCE_VERSION:=bf3ae3cb15829876007c553509501cdaa16745e7 -PKG_MIRROR_HASH:=dc14a47e9529578c63d9ad2bf4e27ef565a055e4121ce2d1324c019f69074314 - -PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) - -PKG_FLAGS:=nonshared - -include $(INCLUDE_DIR)/package.mk - -define rcw-bin/Default - TITLE:= - CONFIG:= -endef - -define rcw-bin/ls1012ardb - TITLE=NXP LS1012ARDB RCW Binary - CONFIG=ls1012ardb/R_SPNH_3508/PBL_0x35_0x08_1000_250_1000_default.bin -endef - -define rcw-bin/ls1088ardb - TITLE=NXP LS1088ARDB RCW Binary - CONFIG=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/PBL_QSPI_1600_700_2100_0x1d_0x0d.bin -endef - -define rcw-bin/ls2088ardb - TITLE=NXP LS2088ARDB RCW Binary - CONFIG=ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41/PBL_0x2a_0x41_1800_700_1866_1600.bin -endef - -define rcw-bin/ls1012afrdm - TITLE=NXP LS1012AFRDM RCW Binary - CONFIG=ls1012afrdm/N_SSNP_3305/PBL_0x33_0x05_800_250_1000_default.bin -endef - -RCWS := \ - ls1012ardb \ - ls1088ardb \ - ls2088ardb \ - ls1012afrdm - -define Package/rcw-bin/template -define Package/rcw-layerscape-$(1) - SECTION:=firmware - CATEGORY:=Firmware - DEPENDS:=@TARGET_layerscape - TITLE:=$(2) - VARIANT:=$(1) -endef -endef - -define BuildRCWPackage - $(eval $(rcw-bin/Default)) - $(eval $(rcw-bin/$(1))) - $(call Package/rcw-bin/template,$(1),$(TITLE)) -endef - -ifdef BUILD_VARIANT -$(eval $(call rcw-bin/$(BUILD_VARIANT))) -RCW_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT)) -endif - -define Build/Compile -endef - -define Package/rcw-bin/install/default - $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/$(RCW_CONFIG) $(STAGING_DIR_IMAGE)/$(1)-rcw.bin -endef - -define Package/rcw-bin/install/template -define Package/rcw-layerscape-$(1)/install - $(call Package/rcw-bin/install/default,$(2)) -endef -endef - -$(foreach r,$(RCWS), \ - $(eval $(call Package/rcw-bin/install/template,$(r),$(r))) \ -) - -$(foreach r,$(RCWS), \ - $(eval $(call BuildRCWPackage,$(r))) \ - $(eval $(call BuildPackage,rcw-layerscape-$(r))) \ -) diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile index a3326abfb1..8d873baf08 100644 --- a/package/firmware/layerscape/ls-rcw/Makefile +++ b/package/firmware/layerscape/ls-rcw/Makefile @@ -6,87 +6,76 @@ # include $(TOPDIR)/rules.mk -include $(INCLUDE_DIR)/image.mk PKG_NAME:=ls-rcw -PKG_SOURCE_DATE:=2017-12-01 +PKG_VERSION:=lsdk-1806 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/qoriq-open-source/rcw.git -PKG_SOURCE_VERSION:=cbd5e66fcb850e821c8632578410ceba5733a49e -PKG_MIRROR_HASH:=4caad5e0ae2018a0a594f36e46e4a96698420956c64bb73656f380fd46733c3d - -PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) - -PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE - -PKG_FLAGS:=nonshared +PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/rcw +PKG_SOURCE_VERSION:=1f43bef4b4475d8e81c9b3b8c5bdd6c1ce8cfa6c +PKG_MIRROR_HASH:=a3b455bcc1f070c8e51f520e32b62cec5b05d772d7ae4a876d88fd5f278a7b1c include $(INCLUDE_DIR)/package.mk -define rcw/Default - TITLE:= - CONFIG:= +define Package/layerscape-rcw/Config + define Package/layerscape-rcw-$(1) + SECTION:=firmware + CATEGORY:=Firmware + TITLE:=$(2) + DEPENDS:=@TARGET_layerscape + CONFIG:=$(3) + endef endef -define rcw/ls1043ardb - TITLE=RCW binary $(PKG_VERSION) for NXP ls1043ardb 64b/32b Dev Board - CONFIG=ls1043ardb/RR_FQPP_1455/rcw_1600.bin +define Package/layerscape-rcw/ls1012ardb + TITLE:=NXP LS1012ARDB RCW binary + CONFIG:=ls1012ardb/R_SPNH_3508/rcw_1000_default.bin.swapped endef -define rcw/ls1046ardb - TITLE=RCW binary $(PKG_VERSION) for NXP ls1046ardb 64b/32b Dev Board - CONFIG=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swap +define Package/layerscape-rcw/ls1012afrdm + TITLE:=NXP LS1012AFRDM RCW binary + CONFIG:=ls1012afrdm/N_SSNP_3305/rcw_800.bin.swapped endef -RCWS := \ - ls1043ardb \ - ls1046ardb - -define Package/rcw/template -define Package/rcw-layerscape-$(1) - SECTION:=firmware - CATEGORY:=Firmware - DEPENDS:= @TARGET_layerscape - TITLE:=$(2) - URL:=http://git.freescale.com/git/cgit.cgi/ppc/sdk/rcw.git - VARIANT:=$(1) - MAINTAINER:=Jiang Yutang -endef +define Package/layerscape-rcw/ls1043ardb + TITLE:=NXP LS1043ARDB RCW binary + CONFIG:=ls1043ardb/RR_FQPP_1455/rcw_1600.bin endef -define BuildRCWPackage - $(eval $(rcw/Default)) - $(eval $(rcw/$(1))) - $(call Package/rcw/template,$(1),$(TITLE)) +define Package/layerscape-rcw/ls1046ardb + TITLE:=NXP LS1046ARDB RCW binary + CONFIG:=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swapped endef -ifdef BUILD_VARIANT -$(eval $(call rcw/$(BUILD_VARIANT))) -RCW_CONFIG:=$(if $(CONFIG),$(CONFIG),$(BUILD_VARIANT)) -endif - -define Build/Configure +define Package/layerscape-rcw/ls1088ardb + TITLE:=NXP LS1088ARDB RCW binary + CONFIG:=ls1088ardb/FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi.bin endef -define Package/rcw/install/default - $(INSTALL_DIR) $(STAGING_DIR_IMAGE) - $(CP) $(PKG_BUILD_DIR)/$(RCW_CONFIG) $(STAGING_DIR_IMAGE)/$(1)-rcw.bin +define Package/layerscape-rcw/ls2088ardb + TITLE:=NXP LS2088ARDB RCW binary + CONFIG:=ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41/rcw_1800.bin endef -define Package/rcw/install/template -define Package/rcw-layerscape-$(1)/install - $(call Package/rcw/install/default,$(2)) -endef +define Package/layerscape-rcw/Install + define Package/layerscape-rcw-$(1)/install + $(INSTALL_DIR) $(STAGING_DIR_IMAGE) + $(CP) $(PKG_BUILD_DIR)/$(CONFIG) $(STAGING_DIR_IMAGE)/$(1)-rcw.bin + endef endef -$(foreach r,$(RCWS), \ - $(eval $(call Package/rcw/install/template,$(r),$(r))) \ -) - -$(foreach r,$(RCWS), \ - $(eval $(call BuildRCWPackage,$(r))) \ - $(eval $(call BuildPackage,rcw-layerscape-$(r))) \ +RCWS := \ + ls1012ardb \ + ls1012afrdm \ + ls1043ardb \ + ls1046ardb \ + ls1088ardb \ + ls2088ardb + +$(foreach rcw,$(RCWS), \ + $(eval $(Package/layerscape-rcw/$(rcw))) \ + $(eval $(call Package/layerscape-rcw/Config,$(rcw),$(TITLE),$(CONFIG))) \ + $(eval $(call Package/layerscape-rcw/Install,$(rcw))) \ + $(eval $(call BuildPackage,layerscape-rcw-$(rcw))) \ ) diff --git a/package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch b/package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch deleted file mode 100644 index a2b7140654..0000000000 --- a/package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch +++ /dev/null @@ -1,66 +0,0 @@ -From ebded197f9c12168d61973043fd9ebd5d49528a8 Mon Sep 17 00:00:00 2001 -From: Yangbo Lu -Date: Mon, 25 Dec 2017 14:11:02 +0800 -Subject: [PATCH] rcw: add a python script for byte swapping - -Signed-off-by: Yangbo Lu ---- - Makefile | 2 ++ - byte_swap.py | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 34 insertions(+) - create mode 100755 byte_swap.py - -diff --git a/Makefile b/Makefile -index fb55c8b..27e3ba2 100644 ---- a/Makefile -+++ b/Makefile -@@ -11,6 +11,8 @@ all install clean: - @for board in $(BOARDS); do \ - $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \ - done -+ chmod 755 ./byte_swap.py; \ -+ ./byte_swap.py ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin 8 - - release: $(foreach board,$(BOARDS),rcw-$(board)-$(VER).tar.gz) - -diff --git a/byte_swap.py b/byte_swap.py -new file mode 100755 -index 0000000..7ee4129 ---- /dev/null -+++ b/byte_swap.py -@@ -0,0 +1,32 @@ -+#!/usr/bin/env python -+""" -+Swap the 4/8 bytes endian except for PBI CRC -+2016-10-9: Initial version -+ -+Usage: -+ ./byte_swap.py -+""" -+import sys -+ -+try: -+ file_name = sys.argv[1] -+ byte = int(sys.argv[2]) -+except: -+ print("Usage: ./byte_swap.py ") -+ print("E.g.: ./byte_swap.py rcw_1600.bin 8\n") -+ exit -+ -+with open(file_name,'rb') as file: -+ tmp = file.read() -+file.close() -+ -+with open(file_name + '.swap','wb') as file: -+ for i in range(0, len(tmp) - 1, byte): -+ if(tmp[i:i+4].encode('hex')) == "08610040": -+ #print("PBI CRC command") -+ file.write(tmp[i:i+8]) -+ break -+ file.write(tmp[i:i+byte][::-1]) -+file.close() -+ -+print("Swapped file: " + file_name + '.swap') --- -2.7.4 - diff --git a/package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch b/package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch new file mode 100644 index 0000000000..08492dd479 --- /dev/null +++ b/package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch @@ -0,0 +1,82 @@ +From c87a500c45f36ad248b1298d63e590d1d7e74f12 Mon Sep 17 00:00:00 2001 +From: Yangbo Lu +Date: Tue, 3 Jul 2018 11:06:47 +0800 +Subject: [PATCH] rcw: support byte swapping without tclsh tool + +Signed-off-by: Yangbo Lu +--- + Makefile | 4 ---- + byte_swap.py | 32 ++++++++++++++++++++++++++++++++ + qspi_swap.sh | 2 +- + 3 files changed, 33 insertions(+), 5 deletions(-) + create mode 100755 byte_swap.py + +diff --git a/Makefile b/Makefile +index 9f0587e..393bb2c 100644 +--- a/Makefile ++++ b/Makefile +@@ -13,10 +13,6 @@ TCLSH := $(shell command -v tclsh 2> /dev/null) + VER = $(shell git describe --tags) + + all install clean: +-ifndef TCLSH +- $(error "tclsh is not available. please install it.") +- exit 1 +-endif + @for board in $(BOARDS); do \ + $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \ + done +diff --git a/byte_swap.py b/byte_swap.py +new file mode 100755 +index 0000000..386310e +--- /dev/null ++++ b/byte_swap.py +@@ -0,0 +1,32 @@ ++#!/usr/bin/env python ++""" ++Swap the 4/8 bytes endian except for PBI CRC ++2016-10-9: Initial version ++ ++Usage: ++ ./byte_swap.py ++""" ++import sys ++ ++try: ++ file_name = sys.argv[1] ++ byte = int(sys.argv[2]) ++except: ++ print("Usage: ./byte_swap.py ") ++ print("E.g.: ./byte_swap.py rcw_1600.bin 8\n") ++ exit ++ ++with open(file_name,'rb') as file: ++ tmp = file.read() ++file.close() ++ ++with open(file_name + '.swapped','wb') as file: ++ for i in range(0, len(tmp) - 1, byte): ++ if(tmp[i:i+4].encode('hex')) == "08610040": ++ #print("PBI CRC command") ++ file.write(tmp[i:i+8]) ++ break ++ file.write(tmp[i:i+byte][::-1]) ++file.close() ++ ++print("Swapped file: " + file_name + '.swapped') +diff --git a/qspi_swap.sh b/qspi_swap.sh +index 0b58e44..d23fd8b 100755 +--- a/qspi_swap.sh ++++ b/qspi_swap.sh +@@ -9,7 +9,7 @@ do + if [ "$board_name" = "$current_dir" ]; then + if [ -e $filename ]; then + swapped_file="$filename.swapped" +- tclsh ../tools/byte_swap.tcl $filename $swapped_file 8 ++ ../byte_swap.py $filename 8 + fi + fi + done < $1 +-- +1.7.1 + diff --git a/target/linux/layerscape/image/Makefile b/target/linux/layerscape/image/Makefile index 046f6d7beb..5bf094f14c 100644 --- a/target/linux/layerscape/image/Makefile +++ b/target/linux/layerscape/image/Makefile @@ -79,7 +79,7 @@ endef define Device/ls1043ardb DEVICE_TITLE := ls1043ardb-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls1043ardb uboot-layerscape-$(SUBTARGET)-ls1043ardb \ + DEVICE_PACKAGES += layerscape-rcw-ls1043ardb uboot-layerscape-$(SUBTARGET)-ls1043ardb \ layerscape-fman-ls1043ardb layerscape-ppa-ls1043ardb DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1043a-rdb-sdk IMAGE/firmware.bin = append-ls-rcw $(1) | pad-to 1M | \ @@ -94,7 +94,7 @@ TARGET_DEVICES += ls1043ardb define Device/ls1046ardb DEVICE_TITLE := ls1046ardb-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls1046ardb uboot-layerscape-$(SUBTARGET)-ls1046ardb \ + DEVICE_PACKAGES += layerscape-rcw-ls1046ardb uboot-layerscape-$(SUBTARGET)-ls1046ardb \ layerscape-fman-ls1046ardb layerscape-ppa-ls1046ardb DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1046a-rdb-sdk FILESYSTEMS := ubifs @@ -114,7 +114,7 @@ TARGET_DEVICES += ls1046ardb define Device/ls1012ardb DEVICE_TITLE := ls1012ardb-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls1012ardb uboot-layerscape-$(SUBTARGET)-ls1012ardb \ + DEVICE_PACKAGES += layerscape-rcw-ls1012ardb uboot-layerscape-$(SUBTARGET)-ls1012ardb \ kmod-ppfe layerscape-ppfe layerscape-ppa-ls1012ardb DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-rdb FILESYSTEMS := ubifs @@ -134,7 +134,7 @@ TARGET_DEVICES += ls1012ardb define Device/ls1012afrdm DEVICE_TITLE := ls1012afrdm-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls1012afrdm uboot-layerscape-$(SUBTARGET)-ls1012afrdm \ + DEVICE_PACKAGES += layerscape-rcw-ls1012afrdm uboot-layerscape-$(SUBTARGET)-ls1012afrdm \ kmod-ppfe layerscape-ppfe layerscape-ppa-ls1012afrdm DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1012a-frdm FILESYSTEMS := ubifs @@ -155,7 +155,7 @@ TARGET_DEVICES += ls1012afrdm ifeq ($(SUBTARGET),armv8_64b) define Device/ls1088ardb DEVICE_TITLE := ls1088ardb-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls1088ardb uboot-layerscape-$(SUBTARGET)-ls1088ardb \ + DEVICE_PACKAGES += layerscape-rcw-ls1088ardb uboot-layerscape-$(SUBTARGET)-ls1088ardb \ layerscape-mc-ls1088ardb layerscape-dpl-ls1088ardb restool \ layerscape-ppa-ls1088ardb DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls1088a-rdb @@ -178,7 +178,7 @@ TARGET_DEVICES += ls1088ardb define Device/ls2088ardb DEVICE_TITLE := ls2088ardb-$(SUBTARGET) - DEVICE_PACKAGES += rcw-layerscape-ls2088ardb uboot-layerscape-$(SUBTARGET)-ls2088ardb \ + DEVICE_PACKAGES += layerscape-rcw-ls2088ardb uboot-layerscape-$(SUBTARGET)-ls2088ardb \ layerscape-mc-ls2088ardb layerscape-dpl-ls2088ardb restool \ layerscape-ppa-ls2088ardb DEVICE_DTS = ../../../arm64/boot/dts/freescale/fsl-ls2088a-rdb -- cgit v1.2.3