diff options
author | Yangbo Lu <yangbo.lu@nxp.com> | 2017-12-25 14:38:11 +0800 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2017-12-26 23:30:59 +0100 |
commit | ab8da4d2854908578fefa08f73c4a87716127f68 (patch) | |
tree | fc3b5d936e660f030a41da6100ad0f5d97e9361f /package/firmware | |
parent | 5741835ed48c9205ff2cfd9f5ee9fe8fd997cad5 (diff) | |
download | mtk-20170518-ab8da4d2854908578fefa08f73c4a87716127f68.zip mtk-20170518-ab8da4d2854908578fefa08f73c4a87716127f68.tar.gz mtk-20170518-ab8da4d2854908578fefa08f73c4a87716127f68.tar.bz2 |
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 <yangbo.lu@nxp.com>
Diffstat (limited to 'package/firmware')
3 files changed, 67 insertions, 27 deletions
diff --git a/package/firmware/layerscape/ls-rcw/Makefile b/package/firmware/layerscape/ls-rcw/Makefile index b0d582e..70791d4 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 1eac881..0000000 --- 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 <yangbo.lu@nxp.com> -Date: Tue, 4 Jul 2017 20:25:40 +0800 -Subject: [PATCH] makefile: generate byte_swap rcw for ls1046ardb - -Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> ---- - 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 0000000..a2b7140 --- /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 <yangbo.lu@nxp.com> +Date: Mon, 25 Dec 2017 14:11:02 +0800 +Subject: [PATCH] rcw: add a python script for byte swapping + +Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> +--- + 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 <file_name> <byte> ++""" ++import sys ++ ++try: ++ file_name = sys.argv[1] ++ byte = int(sys.argv[2]) ++except: ++ print("Usage: ./byte_swap.py <file_name> <byte>") ++ 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 + |