xref: /aosp_15_r20/external/dtc/tests/test_kernel_dts (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
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