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