linux-uconsole/scripts
Andy Yan 8e5c859386 scripts: add mkmultidtb.py to package multiple dtbs to resource.img
People sometimes want to package multiple dtbs to resource.img for
a baseboard which may has several hardware variants. And on the
hardware design side, may use adc value or gpio level to indicate
the hardware id, so we encode the hardware id information at the
suffix of the dtb file name.

For example:

DTBS['PX30-EVB'] = OrderedDict([('px30-evb-ddr3-v10', '#_saradc_ch0=1024'),
                                ('px30-evb-ddr3-lvds-v10', '#_saradc_ch0=512')])

DTBS['RK3308-EVB'] = OrderedDict([('rk3308-evb-dmic-i2s-v10', '#_saradc_ch3=288'),
                                  ('rk3308-evb-dmic-pdm-v10', '#_saradc_ch3=1024'),
                                  ('rk3308-evb-amic-v10', '#_saradc_ch3=407')])

DTBS['RK3308-SWEEPER'] = OrderedDict([('rk3308-sweeper-v10', '#gpio0a2=0'),
				      ('rk3308-sweeper-v11', '#gpio0a2=1')])

When you run the script like:
$ scripts/mkmultidtb.py RK3308-EVB

The script will package all the dtbs you list in DTBS['PX30-EVB']
to resource.img with a new name that suffix with hardware id
information:

rk3308-evb-dmic-pdm-v10#_saradc_ch3=1024.dtb
rk3308-evb-dmic-i2s-v10#_saradc_ch3=288.dtb
rk3308-evb-amic-v10#_saradc_ch3=407.dtb

And the script will also make another copy of the fist dtb
file which you list in the OrderedDict named as rk-kernel.dtb

Check the content of resource.img by command: hd resource.img | less

00000000  52 53 43 45 00 00 00 00  01 01 01 00 06 00 00 00  |RSCE............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

00000200  45 4e 54 52 72 6b 2d 6b  65 72 6e 65 6c 2e 64 74  |ENTRrk-kernel.dt|
00000210  62 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |b...............|
00000220  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000300  00 00 00 00 07 00 00 00  d4 a3 00 00 00 00 00 00  |................|
00000310  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  45 4e 54 52 72 6b 33 33  30 38 2d 65 76 62 2d 64  |ENTRrk3308-evb-d|
00000410  6d 69 63 2d 70 64 6d 2d  76 31 30 23 5f 73 61 72  |mic-pdm-v10#_sar|
00000420  61 64 63 5f 63 68 33 3d  31 30 32 34 2e 64 74 62  |adc_ch3=1024.dtb|
00000430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000500  00 00 00 00 59 00 00 00  d4 a3 00 00 00 00 00 00  |....Y...........|
00000510  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000600  45 4e 54 52 72 6b 33 33  30 38 2d 65 76 62 2d 64  |ENTRrk3308-evb-d|
00000610  6d 69 63 2d 69 32 73 2d  76 31 30 23 5f 73 61 72  |mic-i2s-v10#_sar|
00000620  61 64 63 5f 63 68 33 3d  32 38 38 2e 64 74 62 00  |adc_ch3=288.dtb.|
00000630  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000700  00 00 00 00 ab 00 00 00  e0 a3 00 00 00 00 00 00  |................|
00000710  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800  45 4e 54 52 72 6b 33 33  30 38 2d 65 76 62 2d 61  |ENTRrk3308-evb-a|
00000810  6d 69 63 2d 76 31 30 23  5f 73 61 72 61 64 63 5f  |mic-v10#_saradc_|
00000820  63 68 33 3d 34 30 37 2e  64 74 62 00 00 00 00 00  |ch3=407.dtb.....|

Note: the scripts is run on python2.6

Change-Id: I89d96d629511024c32267be46c1c72748bf04e49
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2018-05-08 17:28:51 +08:00
..
basic kbuild: fixdep: drop meaningless hash table initialization 2015-08-24 16:36:08 +02:00
coccinelle UPSTREAM: Coccinelle: misc: Add support for devm variant in all modes 2017-07-12 21:17:10 +08:00
dtc UPSTREAM: scripts/dtc: Update to upstream version v1.4.5-6-gc1e55a5513e9 2018-03-28 19:51:34 +08:00
gdb scripts/gdb: remove useless global instruction 2015-06-30 19:44:58 -07:00
genksyms genksyms: Fix segfault with invalid declarations 2018-02-25 11:03:51 +01:00
kconfig kconfig/nconf: Fix hang when editing symbol with a long prompt 2017-01-09 08:07:53 +01:00
ksymoops
mod Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2018-03-05 20:20:17 +05:30
package kbuild: pkg: use --transform option to prefix paths in tar 2017-12-16 10:33:54 +01:00
selinux selinux: explicitly declare the role "base_r" 2015-07-13 13:32:00 -04:00
tracing kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
.gitignore DocBook: Use a fixed encoding for output 2015-09-28 01:31:48 -06:00
analyze_suspend.py PM / tools: analyze_suspend.py: update to v3.0 2014-08-09 02:47:58 +02:00
asn1_compiler.c ASN.1: Copy string names to tokens in ASN.1 compiler 2015-08-07 16:26:13 +01:00
bloat-o-meter scripts/bloat-o-meter: fix python3 syntax error 2016-02-25 12:01:22 -08:00
bmptologo.c
bootgraph.pl kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
check-lc_ctype.c DocBook: Use a fixed encoding for output 2015-09-28 01:31:48 -06:00
check_extable.sh scripts: add check_extable.sh script. 2015-04-13 21:03:02 +09:30
checkincludes.pl
checkkconfigsymbols.py scripts/checkkconfigsymbols.py: support default statements 2015-08-03 17:16:58 -07:00
checkpatch.pl Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2017-07-22 12:02:06 +08:00
checkstack.pl Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-10-07 21:16:26 -04:00
checksyscalls.sh x86/asm/entry: Move the arch/x86/syscalls/ definitions to arch/x86/entry/syscalls/ 2015-06-04 07:37:37 +02:00
checkversion.pl
cleanfile
cleanpatch
coccicheck Coccinelle: fix incorrect -include option transformation 2015-10-26 21:32:09 +01:00
config kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
conmakehash.c kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
decode_stacktrace.sh scripts: decode_stacktrace: fix ARM architecture decoding 2015-09-04 16:54:41 -07:00
decodecode
depmod.sh
diffconfig vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX 2015-02-16 17:56:04 -08:00
docproc.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
export_report.pl kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
extract-cert.c KEYS: Remove unnecessary header #inclusions from extract-cert.c 2015-09-25 16:31:45 +01:00
extract-ikconfig scripts/extract-ikconfig: Support LZ4-compressed images. 2015-04-15 14:01:12 +02:00
extract-module-sig.pl KEYS: Provide a script to extract a module signature 2015-10-21 15:18:36 +01:00
extract-sys-certs.pl KEYS: Provide a script to extract the sys cert list from a vmlinux file 2015-10-21 15:18:36 +01:00
extract-vmlinux
gcc-goto.sh rk: revert to v3.10 2015-11-11 15:57:28 +08:00
gcc-ld kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
gcc-version.sh kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
gcc-wrapper.py scripts/gcc-wrapper.py: ignore some warnings when W=1 2018-03-28 19:51:34 +08:00
gcc-x86_32-has-stack-protector.sh kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
gcc-x86_64-has-stack-protector.sh scripts/has-stack-protector: add -fno-PIE 2016-11-26 09:54:52 +01:00
gen_initramfs_list.sh kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
get_maintainer.pl get_maintainer: add subsystem to reviewer output 2015-11-06 17:50:42 -08:00
gfp-translate
headerdep.pl
headers.sh CRIS: Fix headers_install 2014-12-20 00:01:12 +01:00
headers_check.pl kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
headers_install.sh rk: revert to v3.10 2015-11-11 15:57:28 +08:00
kallsyms.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
Kbuild.include BACKPORT: kbuild: Add __cc-option macro 2017-11-20 21:15:59 +05:30
kernel-doc scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none 2018-02-25 11:03:39 +01:00
kernel-doc-xml-ref scripts/kernel-doc: Adding cross-reference links to html documentation. 2015-08-16 22:11:16 -06:00
ld-version.sh ld-version: Fix awk regex compile failure 2016-03-16 08:43:01 -07:00
Lindent scripts/Lindent: handle missing indent gracefully 2015-09-04 16:54:41 -07:00
link-vmlinux.sh um: link with -lpthread 2016-03-03 15:07:12 -08:00
Makefile DocBook: Use a fixed encoding for output 2015-09-28 01:31:48 -06:00
Makefile.asm-generic kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
Makefile.build Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2018-02-01 12:02:38 +08:00
Makefile.clean kbuild: Makefile.clean: make Kbuild and Makefile optional 2016-02-16 13:54:20 -08:00
Makefile.dtbinst kbuild: include $(src)/Makefile rather than $(obj)/Makefile 2015-04-02 16:42:08 +02:00
Makefile.extrawarn UPSTREAM: kbuild: drop -Wno-unknown-warning-option from clang options 2017-11-20 21:15:59 +05:30
Makefile.fwinst kbuild: include $(src)/Makefile rather than $(obj)/Makefile 2015-04-02 16:42:08 +02:00
Makefile.headersinst rk: revert to v3.10 2015-11-11 15:57:28 +08:00
Makefile.help
Makefile.host kbuild: handle the dependency of multi-objs hostprogs appropriately 2014-08-19 10:26:20 +02:00
Makefile.kasan arm64: add KASAN support 2015-10-12 17:46:36 +01:00
Makefile.lib Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2018-04-08 18:28:30 +08:00
Makefile.modbuiltin
Makefile.modinst kbuild: make it possible to specify the module output dir 2016-02-16 13:54:19 -08:00
Makefile.modpost modpost: Add flag -E for making section mismatches fatal 2015-10-06 10:46:21 +10:30
Makefile.modsign modsign: lookup lines ending in .ko in .mod files 2014-08-27 21:54:11 +09:30
makelst
markup_oops.pl kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
mkbootimg rk: scripts: add mkbootimg 2018-03-22 15:19:30 +08:00
mkcompile_h kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
mkkrnlimg rk: arm64: support build kernel.img and resource.img 2015-11-21 21:22:50 +08:00
mkmakefile kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
mkmultidtb.py scripts: add mkmultidtb.py to package multiple dtbs to resource.img 2018-05-08 17:28:51 +08:00
mksysmap mksysmap: Add h8300 local symbol pattern 2015-06-23 13:35:47 +09:00
mkuboot.sh
mkversion
module-common.lds module: set __jump_table alignment to 8 2017-12-16 10:33:51 +01:00
namespace.pl
objdiff scripts: objdiff: support directories for the augument of record command 2014-06-10 14:59:33 +02:00
patch-kernel kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
pnmtologo.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
profile2linkerlist.pl kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00
recordmcount.c ftrace/recordmcount: Work around for addition of metag magic but not relocations 2016-08-20 18:09:23 +02:00
recordmcount.h rk: revert to v3.10 2015-11-11 15:57:28 +08:00
recordmcount.pl scripts/recordmcount.pl: support data in text section on powerpc 2016-01-31 11:29:03 -08:00
resource_tool rk: arm64: support build kernel.img and resource.img 2015-11-21 21:22:50 +08:00
setlocalversion Fix detectition of kernel git repository in setlocalversion script [take #2] 2014-01-03 14:48:42 +01:00
show_delta kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
sign-file.c MODSIGN: Change from CMS to PKCS#7 signing if the openssl is too old 2015-09-25 16:31:46 +01:00
sortextable.c Revert "x86/mm: Expand the exception table logic to allow new handling options" 2016-10-31 19:56:26 -06:00
sortextable.h rk: revert to v3.10 2015-11-11 15:57:28 +08:00
spelling.txt scripts/spelling.txt: add some typo-words 2015-09-04 16:54:41 -07:00
stackdelta scripts: add stackdelta script 2015-08-28 17:04:40 +02:00
stackusage scripts: add stackusage script 2015-08-28 17:04:40 +02:00
tags.sh scripts/tags.sh: Teach tags about some powerpc macros 2015-10-13 13:53:57 +02:00
unifdef.c
ver_linux ver_linux: proc/modules, limit text processing to 'sed' 2015-10-17 21:55:26 -07:00
xen-hypercalls.sh xen: build infrastructure for generating hypercall depending symbols 2015-03-16 14:49:13 +00:00
xz_wrap.sh kbuild: Make scripts executable 2014-08-20 16:03:45 +02:00