1*cd60bc56SAndroid Build Coastguard Worker#!/usr/bin/perl 2*cd60bc56SAndroid Build Coastguard Worker 3*cd60bc56SAndroid Build Coastguard Workermy $dtc_old = "/home/jdl/FSL/dtc/dtc-old"; 4*cd60bc56SAndroid Build Coastguard Workermy $dtc_new = "/home/jdl/FSL/dtc/dtc-new"; 5*cd60bc56SAndroid Build Coastguard Worker 6*cd60bc56SAndroid Build Coastguard Workermy $basic_options = "-b 0 -f -I dts -O dtb"; 7*cd60bc56SAndroid Build Coastguard Worker 8*cd60bc56SAndroid Build Coastguard Workermy $linux_dts_dir = "/usr/src/linux-2.6/arch/powerpc/boot/dts"; 9*cd60bc56SAndroid Build Coastguard Worker 10*cd60bc56SAndroid Build Coastguard Worker# Yeah, sure, we could, like, readdir() this instead... 11*cd60bc56SAndroid Build Coastguard Workermy @boards = ( 12*cd60bc56SAndroid Build Coastguard Worker "bamboo", 13*cd60bc56SAndroid Build Coastguard Worker "ebony", 14*cd60bc56SAndroid Build Coastguard Worker "ep88xc", 15*cd60bc56SAndroid Build Coastguard Worker "holly", 16*cd60bc56SAndroid Build Coastguard Worker "kilauea", 17*cd60bc56SAndroid Build Coastguard Worker "kuroboxHD", 18*cd60bc56SAndroid Build Coastguard Worker "kuroboxHG", 19*cd60bc56SAndroid Build Coastguard Worker "lite5200", 20*cd60bc56SAndroid Build Coastguard Worker "lite5200b", 21*cd60bc56SAndroid Build Coastguard Worker "mpc7448hpc2", 22*cd60bc56SAndroid Build Coastguard Worker "mpc8272ads", 23*cd60bc56SAndroid Build Coastguard Worker "mpc8313erdb", 24*cd60bc56SAndroid Build Coastguard Worker "mpc832x_mds", 25*cd60bc56SAndroid Build Coastguard Worker "mpc832x_rdb", 26*cd60bc56SAndroid Build Coastguard Worker "mpc8349emitx", 27*cd60bc56SAndroid Build Coastguard Worker "mpc8349emitxgp", 28*cd60bc56SAndroid Build Coastguard Worker "mpc834x_mds", 29*cd60bc56SAndroid Build Coastguard Worker "mpc836x_mds", 30*cd60bc56SAndroid Build Coastguard Worker "mpc8540ads", 31*cd60bc56SAndroid Build Coastguard Worker "mpc8541cds", 32*cd60bc56SAndroid Build Coastguard Worker "mpc8544ds", 33*cd60bc56SAndroid Build Coastguard Worker "mpc8548cds", 34*cd60bc56SAndroid Build Coastguard Worker "mpc8555cds", 35*cd60bc56SAndroid Build Coastguard Worker "mpc8560ads", 36*cd60bc56SAndroid Build Coastguard Worker "mpc8568mds", 37*cd60bc56SAndroid Build Coastguard Worker "mpc8572ds", 38*cd60bc56SAndroid Build Coastguard Worker "mpc8610_hpcd", 39*cd60bc56SAndroid Build Coastguard Worker "mpc8641_hpcn", 40*cd60bc56SAndroid Build Coastguard Worker "mpc866ads", # Feh. Bad node references... 41*cd60bc56SAndroid Build Coastguard Worker "mpc885ads", 42*cd60bc56SAndroid Build Coastguard Worker "pq2fads", 43*cd60bc56SAndroid Build Coastguard Worker "prpmc2800", 44*cd60bc56SAndroid Build Coastguard Worker "ps3", 45*cd60bc56SAndroid Build Coastguard Worker "sequoia", 46*cd60bc56SAndroid Build Coastguard Worker "walnut", 47*cd60bc56SAndroid Build Coastguard Worker); 48*cd60bc56SAndroid Build Coastguard Worker 49*cd60bc56SAndroid Build Coastguard Workerforeach my $board (@boards) { 50*cd60bc56SAndroid Build Coastguard Worker my $dts_file = "$linux_dts_dir/$board.dts"; 51*cd60bc56SAndroid Build Coastguard Worker 52*cd60bc56SAndroid Build Coastguard Worker my $old_dtb_file = "/tmp/$board.dtb.old"; 53*cd60bc56SAndroid Build Coastguard Worker my $new_dtb_file = "/tmp/$board.dtb.new"; 54*cd60bc56SAndroid Build Coastguard Worker 55*cd60bc56SAndroid Build Coastguard Worker my $cmd_old = "$dtc_old $basic_options -o $old_dtb_file $dts_file"; 56*cd60bc56SAndroid Build Coastguard Worker my $cmd_new = "$dtc_new $basic_options -o $new_dtb_file $dts_file"; 57*cd60bc56SAndroid Build Coastguard Worker my $cmd_cmp = "cmp $old_dtb_file $new_dtb_file"; 58*cd60bc56SAndroid Build Coastguard Worker 59*cd60bc56SAndroid Build Coastguard Worker print "------------------------------------------------\n"; 60*cd60bc56SAndroid Build Coastguard Worker print "OLD: $cmd_old\n"; 61*cd60bc56SAndroid Build Coastguard Worker unlink($old_dtb_file) if (-f $old_dtb_file); 62*cd60bc56SAndroid Build Coastguard Worker system("$cmd_old >& /dev/null"); 63*cd60bc56SAndroid Build Coastguard Worker my $status = $?; 64*cd60bc56SAndroid Build Coastguard Worker if ($status) { 65*cd60bc56SAndroid Build Coastguard Worker print " FAILED to run old DTC on $board\n"; 66*cd60bc56SAndroid Build Coastguard Worker } 67*cd60bc56SAndroid Build Coastguard Worker 68*cd60bc56SAndroid Build Coastguard Worker print "NEW: $cmd_new\n"; 69*cd60bc56SAndroid Build Coastguard Worker unlink($new_dtb_file) if (-f $new_dtb_file); 70*cd60bc56SAndroid Build Coastguard Worker system("$cmd_new >& /dev/null"); 71*cd60bc56SAndroid Build Coastguard Worker $status = $?; 72*cd60bc56SAndroid Build Coastguard Worker if ($status) { 73*cd60bc56SAndroid Build Coastguard Worker print " FAILED to run new DTC on $board\n"; 74*cd60bc56SAndroid Build Coastguard Worker } 75*cd60bc56SAndroid Build Coastguard Worker 76*cd60bc56SAndroid Build Coastguard Worker if (-f $old_dtb_file && -f $new_dtb_file) { 77*cd60bc56SAndroid Build Coastguard Worker print "CMP: $cmd_cmp\n"; 78*cd60bc56SAndroid Build Coastguard Worker system($cmd_cmp); 79*cd60bc56SAndroid Build Coastguard Worker $status = $?; 80*cd60bc56SAndroid Build Coastguard Worker if ($status) { 81*cd60bc56SAndroid Build Coastguard Worker print " FAILED $board\n"; 82*cd60bc56SAndroid Build Coastguard Worker } 83*cd60bc56SAndroid Build Coastguard Worker } else { 84*cd60bc56SAndroid Build Coastguard Worker printf " FAILED: Missing dtb file\n"; 85*cd60bc56SAndroid Build Coastguard Worker } 86*cd60bc56SAndroid Build Coastguard Worker} 87