From ab8da4d2854908578fefa08f73c4a87716127f68 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Mon, 25 Dec 2017 14:38:11 +0800 Subject: [PATCH] layerscape: add byte_swap.py script for ls-rcw package This patch is to add a byte_swap.py script for rcw bin byte swapping instead of using tclsh. Signed-off-by: Yangbo Lu --- package/firmware/layerscape/ls-rcw/Makefile | 2 +- ...enerate-byte_swap-rcw-for-ls1046ardb.patch | 26 -------- ...dd-a-python-script-for-byte-swapping.patch | 66 +++++++++++++++++++ 3 files changed, 67 insertions(+), 27 deletions(-) delete mode 100644 package/firmware/layerscape/ls-rcw/patches/0001-makefile-generate-byte_swap-rcw-for-ls1046ardb.patch create mode 100644 package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile index b0d582ef20..70791d47b6 100644 --- a/package/firmware/layerscape/ls-rcw/Makefile +++ b/package/firmware/layerscape/ls-rcw/Makefile @@ -38,7 +38,7 @@ 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_swap.bin + CONFIG=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swap endef define rcw/ls1012ardb diff --git a/package/firmware/layerscape/ls-rcw/patches/0001-makefile-generate-byte_swap-rcw-for-ls1046ardb.patch b/package/firmware/layerscape/ls-rcw/patches/0001-makefile-generate-byte_swap-rcw-for-ls1046ardb.patch deleted file mode 100644 index 1eac881899..0000000000 --- a/package/firmware/layerscape/ls-rcw/patches/0001-makefile-generate-byte_swap-rcw-for-ls1046ardb.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6836519a638a0c30ef3d2137c248a1a9f1befbc4 Mon Sep 17 00:00:00 2001 -From: Yangbo Lu -Date: Tue, 4 Jul 2017 20:25:40 +0800 -Subject: [PATCH] makefile: generate byte_swap rcw for ls1046ardb - -Signed-off-by: Yangbo Lu ---- - Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile b/Makefile -index fb55c8b..ab1b573 100644 ---- a/Makefile -+++ b/Makefile -@@ -11,6 +11,8 @@ all install clean: - @for board in $(BOARDS); do \ - $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \ - done -+ tclsh ./tools/byte_swap.tcl ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin \ -+ ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot_swap.bin 8 - - release: $(foreach board,$(BOARDS),rcw-$(board)-$(VER).tar.gz) - --- -2.7.4 - 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 new file mode 100644 index 0000000000..a2b7140654 --- /dev/null +++ b/package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch @@ -0,0 +1,66 @@ +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 + -- 2.30.2