aboutsummaryrefslogtreecommitdiffstats
path: root/package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch')
-rw-r--r--package/firmware/layerscape/ls-rcw/patches/0001-rcw-support-byte-swapping-without-tclsh-tool.patch82
1 files changed, 82 insertions, 0 deletions
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 <yangbo.lu@nxp.com>
+Date: Tue, 3 Jul 2018 11:06:47 +0800
+Subject: [PATCH] rcw: support byte swapping without tclsh tool
+
+Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+---
+ 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 <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 + '.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
+