xref: /OK3568_Linux_fs/kernel/scripts/mkmultidtb.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/usr/bin/env python
2# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3# Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4#
5
6
7"""
8Multiple dtb package tool
9
10Usage: scripts/mkmultidtb.py board
11The board is what you defined in DTBS dictionary like DTBS['board'],
12Such as: PX30-EVB, RK3308-EVB
13
14"""
15import os
16import sys
17import shutil
18from collections import OrderedDict
19
20DTBS = {}
21
22DTBS['PX30-EVB'] = OrderedDict([('px30-evb-ddr3-v10', '#_saradc_ch0=1024'),
23				('px30-evb-ddr3-lvds-v10', '#_saradc_ch0=512')])
24
25DTBS['RK3308-EVB'] = OrderedDict([('rk3308-evb-dmic-i2s-v10', '#_saradc_ch3=288'),
26				  ('rk3308-evb-dmic-pdm-v10', '#_saradc_ch3=1024'),
27				  ('rk3308-evb-amic-v10', '#_saradc_ch3=407')])
28
29def main():
30    if (len(sys.argv) < 2) or (sys.argv[1] == '-h'):
31        print __doc__
32        sys.exit(2)
33
34    BOARD = sys.argv[1]
35    TARGET_DTBS = DTBS[BOARD]
36    target_dtb_list = ''
37    default_dtb = True
38
39    for dtb, value in TARGET_DTBS.items():
40        if default_dtb:
41            ori_file = 'arch/arm64/boot/dts/rockchip/' + dtb + '.dtb'
42            shutil.copyfile(ori_file, "rk-kernel.dtb")
43            target_dtb_list += 'rk-kernel.dtb '
44            default_dtb = False
45        new_file = dtb + value + '.dtb'
46        ori_file = 'arch/arm64/boot/dts/rockchip/' + dtb + '.dtb'
47        shutil.copyfile(ori_file, new_file)
48        target_dtb_list += ' ' + new_file
49
50    print target_dtb_list
51    os.system('scripts/resource_tool logo.bmp logo_kernel.bmp ' + target_dtb_list)
52    os.system('rm ' + target_dtb_list)
53
54if __name__ == '__main__':
55    main()
56