summaryrefslogtreecommitdiff
path: root/scripts/mkmultidtb.py
AgeCommit message (Collapse)Author
2018-05-08scripts: add mkmultidtb.py to package multiple dtbs to resource.imgAndy Yan
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>