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