xref: /openbmc/linux/scripts/extract_xc3028.pl (revision eee1cba5)
1cb77f0d6SKamil Rytarowski#!/usr/bin/env perl
2eee1cba5SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
3d8e9230cSMauro Carvalho Chehab
432590819SMauro Carvalho Chehab# Copyright (c) Mauro Carvalho Chehab <mchehab@kernel.org>
5d8e9230cSMauro Carvalho Chehab#
6d8e9230cSMauro Carvalho Chehab# In order to use, you need to:
7d8e9230cSMauro Carvalho Chehab#	1) Download the windows driver with something like:
8d8e9230cSMauro Carvalho Chehab#	Version 2.4
9d8e9230cSMauro Carvalho Chehab#		wget http://www.twinhan.com/files/AW/BDA T/20080303_V1.0.6.7.zip
10d8e9230cSMauro Carvalho Chehab#		or wget http://www.stefanringel.de/pub/20080303_V1.0.6.7.zip
11d8e9230cSMauro Carvalho Chehab#	Version 2.7
12d8e9230cSMauro Carvalho Chehab#		wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
13d8e9230cSMauro Carvalho Chehab#	2) Extract the files from the zip into the current dir:
14d8e9230cSMauro Carvalho Chehab#		unzip -j 20080303_V1.0.6.7.zip 20080303_v1.0.6.7/UDXTTM6000.sys
15d8e9230cSMauro Carvalho Chehab#		unzip -j HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85bda.sys
16d8e9230cSMauro Carvalho Chehab#	3) run the script:
17d8e9230cSMauro Carvalho Chehab#		./extract_xc3028.pl
18d8e9230cSMauro Carvalho Chehab#	4) copy the generated files:
19d8e9230cSMauro Carvalho Chehab#		cp xc3028-v24.fw /lib/firmware
20d8e9230cSMauro Carvalho Chehab#		cp xc3028-v27.fw /lib/firmware
21d8e9230cSMauro Carvalho Chehab
22d8e9230cSMauro Carvalho Chehab#use strict;
23d8e9230cSMauro Carvalho Chehabuse IO::Handle;
24d8e9230cSMauro Carvalho Chehab
25d8e9230cSMauro Carvalho Chehabmy $debug=0;
26d8e9230cSMauro Carvalho Chehab
27d8e9230cSMauro Carvalho Chehabsub verify ($$)
28d8e9230cSMauro Carvalho Chehab{
29d8e9230cSMauro Carvalho Chehab	my ($filename, $hash) = @_;
30d8e9230cSMauro Carvalho Chehab	my ($testhash);
31d8e9230cSMauro Carvalho Chehab
32d8e9230cSMauro Carvalho Chehab	if (system("which md5sum > /dev/null 2>&1")) {
33d8e9230cSMauro Carvalho Chehab		die "This firmware requires the md5sum command - see http://www.gnu.org/software/coreutils/\n";
34d8e9230cSMauro Carvalho Chehab	}
35d8e9230cSMauro Carvalho Chehab
36d8e9230cSMauro Carvalho Chehab	open(CMD, "md5sum ".$filename."|");
37d8e9230cSMauro Carvalho Chehab	$testhash = <CMD>;
38d8e9230cSMauro Carvalho Chehab	$testhash =~ /([a-zA-Z0-9]*)/;
39d8e9230cSMauro Carvalho Chehab	$testhash = $1;
40d8e9230cSMauro Carvalho Chehab	close CMD;
41d8e9230cSMauro Carvalho Chehab		die "Hash of extracted file does not match (found $testhash, expected $hash!\n" if ($testhash ne $hash);
42d8e9230cSMauro Carvalho Chehab}
43d8e9230cSMauro Carvalho Chehab
44d8e9230cSMauro Carvalho Chehabsub get_hunk ($$)
45d8e9230cSMauro Carvalho Chehab{
46d8e9230cSMauro Carvalho Chehab	my ($offset, $length) = @_;
47d8e9230cSMauro Carvalho Chehab	my ($chunklength, $buf, $rcount, $out);
48d8e9230cSMauro Carvalho Chehab
49d8e9230cSMauro Carvalho Chehab	sysseek(INFILE, $offset, SEEK_SET);
50d8e9230cSMauro Carvalho Chehab	while ($length > 0) {
51d8e9230cSMauro Carvalho Chehab	# Calc chunk size
52d8e9230cSMauro Carvalho Chehab		$chunklength = 2048;
53d8e9230cSMauro Carvalho Chehab		$chunklength = $length if ($chunklength > $length);
54d8e9230cSMauro Carvalho Chehab
55d8e9230cSMauro Carvalho Chehab		$rcount = sysread(INFILE, $buf, $chunklength);
56d8e9230cSMauro Carvalho Chehab		die "Ran out of data\n" if ($rcount != $chunklength);
57d8e9230cSMauro Carvalho Chehab		$out .= $buf;
58d8e9230cSMauro Carvalho Chehab		$length -= $rcount;
59d8e9230cSMauro Carvalho Chehab	}
60d8e9230cSMauro Carvalho Chehab	return $out;
61d8e9230cSMauro Carvalho Chehab}
62d8e9230cSMauro Carvalho Chehab
63d8e9230cSMauro Carvalho Chehabsub write_le16($)
64d8e9230cSMauro Carvalho Chehab{
65d8e9230cSMauro Carvalho Chehab	my $val = shift;
66d8e9230cSMauro Carvalho Chehab	my $msb = ($val >> 8) &0xff;
67d8e9230cSMauro Carvalho Chehab	my $lsb = $val & 0xff;
68d8e9230cSMauro Carvalho Chehab
69d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE, chr($lsb).chr($msb));
70d8e9230cSMauro Carvalho Chehab}
71d8e9230cSMauro Carvalho Chehab
72d8e9230cSMauro Carvalho Chehabsub write_le32($)
73d8e9230cSMauro Carvalho Chehab{
74d8e9230cSMauro Carvalho Chehab	my $val = shift;
75d8e9230cSMauro Carvalho Chehab	my $l3 = ($val >> 24) & 0xff;
76d8e9230cSMauro Carvalho Chehab	my $l2 = ($val >> 16) & 0xff;
77d8e9230cSMauro Carvalho Chehab	my $l1 = ($val >> 8)  & 0xff;
78d8e9230cSMauro Carvalho Chehab	my $l0 = $val         & 0xff;
79d8e9230cSMauro Carvalho Chehab
80d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE, chr($l0).chr($l1).chr($l2).chr($l3));
81d8e9230cSMauro Carvalho Chehab}
82d8e9230cSMauro Carvalho Chehab
83d8e9230cSMauro Carvalho Chehabsub write_le64($$)
84d8e9230cSMauro Carvalho Chehab{
85d8e9230cSMauro Carvalho Chehab	my $msb_val = shift;
86d8e9230cSMauro Carvalho Chehab	my $lsb_val = shift;
87d8e9230cSMauro Carvalho Chehab	my $l7 = ($msb_val >> 24) & 0xff;
88d8e9230cSMauro Carvalho Chehab	my $l6 = ($msb_val >> 16) & 0xff;
89d8e9230cSMauro Carvalho Chehab	my $l5 = ($msb_val >> 8)  & 0xff;
90d8e9230cSMauro Carvalho Chehab	my $l4 = $msb_val         & 0xff;
91d8e9230cSMauro Carvalho Chehab
92d8e9230cSMauro Carvalho Chehab	my $l3 = ($lsb_val >> 24) & 0xff;
93d8e9230cSMauro Carvalho Chehab	my $l2 = ($lsb_val >> 16) & 0xff;
94d8e9230cSMauro Carvalho Chehab	my $l1 = ($lsb_val >> 8)  & 0xff;
95d8e9230cSMauro Carvalho Chehab	my $l0 = $lsb_val         & 0xff;
96d8e9230cSMauro Carvalho Chehab
97d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE,
98d8e9230cSMauro Carvalho Chehab		 chr($l0).chr($l1).chr($l2).chr($l3).
99d8e9230cSMauro Carvalho Chehab		 chr($l4).chr($l5).chr($l6).chr($l7));
100d8e9230cSMauro Carvalho Chehab}
101d8e9230cSMauro Carvalho Chehab
102d8e9230cSMauro Carvalho Chehabsub write_hunk($$)
103d8e9230cSMauro Carvalho Chehab{
104d8e9230cSMauro Carvalho Chehab	my ($offset, $length) = @_;
105d8e9230cSMauro Carvalho Chehab	my $out = get_hunk($offset, $length);
106d8e9230cSMauro Carvalho Chehab
107d8e9230cSMauro Carvalho Chehab	printf "(len %d) ",$length if ($debug);
108d8e9230cSMauro Carvalho Chehab
109d8e9230cSMauro Carvalho Chehab	for (my $i=0;$i<$length;$i++) {
110d8e9230cSMauro Carvalho Chehab		printf "%02x ",ord(substr($out,$i,1)) if ($debug);
111d8e9230cSMauro Carvalho Chehab	}
112d8e9230cSMauro Carvalho Chehab	printf "\n" if ($debug);
113d8e9230cSMauro Carvalho Chehab
114d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE, $out);
115d8e9230cSMauro Carvalho Chehab}
116d8e9230cSMauro Carvalho Chehab
117d8e9230cSMauro Carvalho Chehabsub write_hunk_fix_endian($$)
118d8e9230cSMauro Carvalho Chehab{
119d8e9230cSMauro Carvalho Chehab	my ($offset, $length) = @_;
120d8e9230cSMauro Carvalho Chehab	my $out = get_hunk($offset, $length);
121d8e9230cSMauro Carvalho Chehab
122d8e9230cSMauro Carvalho Chehab	printf "(len_fix %d) ",$length if ($debug);
123d8e9230cSMauro Carvalho Chehab
124d8e9230cSMauro Carvalho Chehab	for (my $i=0;$i<$length;$i++) {
125d8e9230cSMauro Carvalho Chehab		printf "%02x ",ord(substr($out,$i,1)) if ($debug);
126d8e9230cSMauro Carvalho Chehab	}
127d8e9230cSMauro Carvalho Chehab	printf "\n" if ($debug);
128d8e9230cSMauro Carvalho Chehab
129d8e9230cSMauro Carvalho Chehab	my $i=0;
130d8e9230cSMauro Carvalho Chehab	while ($i<$length) {
131d8e9230cSMauro Carvalho Chehab		my $size = ord(substr($out,$i,1))*256+ord(substr($out,$i+1,1));
132d8e9230cSMauro Carvalho Chehab		syswrite(OUTFILE, substr($out,$i+1,1));
133d8e9230cSMauro Carvalho Chehab		syswrite(OUTFILE, substr($out,$i,1));
134d8e9230cSMauro Carvalho Chehab		$i+=2;
135d8e9230cSMauro Carvalho Chehab		if ($size>0 && $size <0x8000) {
136d8e9230cSMauro Carvalho Chehab			for (my $j=0;$j<$size;$j++) {
137d8e9230cSMauro Carvalho Chehab				syswrite(OUTFILE, substr($out,$j+$i,1));
138d8e9230cSMauro Carvalho Chehab			}
139d8e9230cSMauro Carvalho Chehab			$i+=$size;
140d8e9230cSMauro Carvalho Chehab		}
141d8e9230cSMauro Carvalho Chehab	}
142d8e9230cSMauro Carvalho Chehab}
143d8e9230cSMauro Carvalho Chehab
144d8e9230cSMauro Carvalho Chehabsub main_firmware_24($$$$)
145d8e9230cSMauro Carvalho Chehab{
146d8e9230cSMauro Carvalho Chehab	my $out;
147d8e9230cSMauro Carvalho Chehab	my $j=0;
148d8e9230cSMauro Carvalho Chehab	my $outfile = shift;
149d8e9230cSMauro Carvalho Chehab	my $name    = shift;
150d8e9230cSMauro Carvalho Chehab	my $version = shift;
151d8e9230cSMauro Carvalho Chehab	my $nr_desc = shift;
152d8e9230cSMauro Carvalho Chehab
153d8e9230cSMauro Carvalho Chehab	for ($j = length($name); $j <32; $j++) {
154d8e9230cSMauro Carvalho Chehab		$name = $name.chr(0);
155d8e9230cSMauro Carvalho Chehab	}
156d8e9230cSMauro Carvalho Chehab
157d8e9230cSMauro Carvalho Chehab	open OUTFILE, ">$outfile";
158d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE, $name);
159d8e9230cSMauro Carvalho Chehab	write_le16($version);
160d8e9230cSMauro Carvalho Chehab	write_le16($nr_desc);
161d8e9230cSMauro Carvalho Chehab
162d8e9230cSMauro Carvalho Chehab	#
163d8e9230cSMauro Carvalho Chehab	# Firmware 0, type: BASE FW   F8MHZ (0x00000003), id: (0000000000000000), size: 6635
164d8e9230cSMauro Carvalho Chehab	#
165d8e9230cSMauro Carvalho Chehab
166d8e9230cSMauro Carvalho Chehab	write_le32(0x00000003);			# Type
167d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
168d8e9230cSMauro Carvalho Chehab	write_le32(6635);			# Size
169d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(257752, 6635);
170d8e9230cSMauro Carvalho Chehab
171d8e9230cSMauro Carvalho Chehab	#
172d8e9230cSMauro Carvalho Chehab	# Firmware 1, type: BASE FW   F8MHZ MTS (0x00000007), id: (0000000000000000), size: 6635
173d8e9230cSMauro Carvalho Chehab	#
174d8e9230cSMauro Carvalho Chehab
175d8e9230cSMauro Carvalho Chehab	write_le32(0x00000007);			# Type
176d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
177d8e9230cSMauro Carvalho Chehab	write_le32(6635);			# Size
178d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(264392, 6635);
179d8e9230cSMauro Carvalho Chehab
180d8e9230cSMauro Carvalho Chehab	#
181d8e9230cSMauro Carvalho Chehab	# Firmware 2, type: BASE FW   FM (0x00000401), id: (0000000000000000), size: 6525
182d8e9230cSMauro Carvalho Chehab	#
183d8e9230cSMauro Carvalho Chehab
184d8e9230cSMauro Carvalho Chehab	write_le32(0x00000401);			# Type
185d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
186d8e9230cSMauro Carvalho Chehab	write_le32(6525);			# Size
187d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(271040, 6525);
188d8e9230cSMauro Carvalho Chehab
189d8e9230cSMauro Carvalho Chehab	#
190d8e9230cSMauro Carvalho Chehab	# Firmware 3, type: BASE FW   FM INPUT1 (0x00000c01), id: (0000000000000000), size: 6539
191d8e9230cSMauro Carvalho Chehab	#
192d8e9230cSMauro Carvalho Chehab
193d8e9230cSMauro Carvalho Chehab	write_le32(0x00000c01);			# Type
194d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
195d8e9230cSMauro Carvalho Chehab	write_le32(6539);			# Size
196d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(277568, 6539);
197d8e9230cSMauro Carvalho Chehab
198d8e9230cSMauro Carvalho Chehab	#
199d8e9230cSMauro Carvalho Chehab	# Firmware 4, type: BASE FW   (0x00000001), id: (0000000000000000), size: 6633
200d8e9230cSMauro Carvalho Chehab	#
201d8e9230cSMauro Carvalho Chehab
202d8e9230cSMauro Carvalho Chehab	write_le32(0x00000001);			# Type
203d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
204d8e9230cSMauro Carvalho Chehab	write_le32(6633);			# Size
205d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(284120, 6633);
206d8e9230cSMauro Carvalho Chehab
207d8e9230cSMauro Carvalho Chehab	#
208d8e9230cSMauro Carvalho Chehab	# Firmware 5, type: BASE FW   MTS (0x00000005), id: (0000000000000000), size: 6617
209d8e9230cSMauro Carvalho Chehab	#
210d8e9230cSMauro Carvalho Chehab
211d8e9230cSMauro Carvalho Chehab	write_le32(0x00000005);			# Type
212d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
213d8e9230cSMauro Carvalho Chehab	write_le32(6617);			# Size
214d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(290760, 6617);
215d8e9230cSMauro Carvalho Chehab
216d8e9230cSMauro Carvalho Chehab	#
217d8e9230cSMauro Carvalho Chehab	# Firmware 6, type: STD FW    (0x00000000), id: PAL/BG A2/A (0000000100000007), size: 161
218d8e9230cSMauro Carvalho Chehab	#
219d8e9230cSMauro Carvalho Chehab
220d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
221d8e9230cSMauro Carvalho Chehab	write_le64(0x00000001, 0x00000007);	# ID
222d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
223d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(297384, 161);
224d8e9230cSMauro Carvalho Chehab
225d8e9230cSMauro Carvalho Chehab	#
226d8e9230cSMauro Carvalho Chehab	# Firmware 7, type: STD FW    MTS (0x00000004), id: PAL/BG A2/A (0000000100000007), size: 169
227d8e9230cSMauro Carvalho Chehab	#
228d8e9230cSMauro Carvalho Chehab
229d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
230d8e9230cSMauro Carvalho Chehab	write_le64(0x00000001, 0x00000007);	# ID
231d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
232d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(297552, 169);
233d8e9230cSMauro Carvalho Chehab
234d8e9230cSMauro Carvalho Chehab	#
235d8e9230cSMauro Carvalho Chehab	# Firmware 8, type: STD FW    (0x00000000), id: PAL/BG A2/B (0000000200000007), size: 161
236d8e9230cSMauro Carvalho Chehab	#
237d8e9230cSMauro Carvalho Chehab
238d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
239d8e9230cSMauro Carvalho Chehab	write_le64(0x00000002, 0x00000007);	# ID
240d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
241d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(297728, 161);
242d8e9230cSMauro Carvalho Chehab
243d8e9230cSMauro Carvalho Chehab	#
244d8e9230cSMauro Carvalho Chehab	# Firmware 9, type: STD FW    MTS (0x00000004), id: PAL/BG A2/B (0000000200000007), size: 169
245d8e9230cSMauro Carvalho Chehab	#
246d8e9230cSMauro Carvalho Chehab
247d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
248d8e9230cSMauro Carvalho Chehab	write_le64(0x00000002, 0x00000007);	# ID
249d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
250d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(297896, 169);
251d8e9230cSMauro Carvalho Chehab
252d8e9230cSMauro Carvalho Chehab	#
253d8e9230cSMauro Carvalho Chehab	# Firmware 10, type: STD FW    (0x00000000), id: PAL/BG NICAM/A (0000000400000007), size: 161
254d8e9230cSMauro Carvalho Chehab	#
255d8e9230cSMauro Carvalho Chehab
256d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
257d8e9230cSMauro Carvalho Chehab	write_le64(0x00000004, 0x00000007);	# ID
258d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
259d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298072, 161);
260d8e9230cSMauro Carvalho Chehab
261d8e9230cSMauro Carvalho Chehab	#
262d8e9230cSMauro Carvalho Chehab	# Firmware 11, type: STD FW    MTS (0x00000004), id: PAL/BG NICAM/A (0000000400000007), size: 169
263d8e9230cSMauro Carvalho Chehab	#
264d8e9230cSMauro Carvalho Chehab
265d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
266d8e9230cSMauro Carvalho Chehab	write_le64(0x00000004, 0x00000007);	# ID
267d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
268d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298240, 169);
269d8e9230cSMauro Carvalho Chehab
270d8e9230cSMauro Carvalho Chehab	#
271d8e9230cSMauro Carvalho Chehab	# Firmware 12, type: STD FW    (0x00000000), id: PAL/BG NICAM/B (0000000800000007), size: 161
272d8e9230cSMauro Carvalho Chehab	#
273d8e9230cSMauro Carvalho Chehab
274d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
275d8e9230cSMauro Carvalho Chehab	write_le64(0x00000008, 0x00000007);	# ID
276d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
277d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298416, 161);
278d8e9230cSMauro Carvalho Chehab
279d8e9230cSMauro Carvalho Chehab	#
280d8e9230cSMauro Carvalho Chehab	# Firmware 13, type: STD FW    MTS (0x00000004), id: PAL/BG NICAM/B (0000000800000007), size: 169
281d8e9230cSMauro Carvalho Chehab	#
282d8e9230cSMauro Carvalho Chehab
283d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
284d8e9230cSMauro Carvalho Chehab	write_le64(0x00000008, 0x00000007);	# ID
285d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
286d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298584, 169);
287d8e9230cSMauro Carvalho Chehab
288d8e9230cSMauro Carvalho Chehab	#
289d8e9230cSMauro Carvalho Chehab	# Firmware 14, type: STD FW    (0x00000000), id: PAL/DK A2 (00000003000000e0), size: 161
290d8e9230cSMauro Carvalho Chehab	#
291d8e9230cSMauro Carvalho Chehab
292d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
293d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
294d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
295d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298760, 161);
296d8e9230cSMauro Carvalho Chehab
297d8e9230cSMauro Carvalho Chehab	#
298d8e9230cSMauro Carvalho Chehab	# Firmware 15, type: STD FW    MTS (0x00000004), id: PAL/DK A2 (00000003000000e0), size: 169
299d8e9230cSMauro Carvalho Chehab	#
300d8e9230cSMauro Carvalho Chehab
301d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
302d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
303d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
304d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(298928, 169);
305d8e9230cSMauro Carvalho Chehab
306d8e9230cSMauro Carvalho Chehab	#
307d8e9230cSMauro Carvalho Chehab	# Firmware 16, type: STD FW    (0x00000000), id: PAL/DK NICAM (0000000c000000e0), size: 161
308d8e9230cSMauro Carvalho Chehab	#
309d8e9230cSMauro Carvalho Chehab
310d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
311d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x000000e0);	# ID
312d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
313d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299104, 161);
314d8e9230cSMauro Carvalho Chehab
315d8e9230cSMauro Carvalho Chehab	#
316d8e9230cSMauro Carvalho Chehab	# Firmware 17, type: STD FW    MTS (0x00000004), id: PAL/DK NICAM (0000000c000000e0), size: 169
317d8e9230cSMauro Carvalho Chehab	#
318d8e9230cSMauro Carvalho Chehab
319d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
320d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x000000e0);	# ID
321d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
322d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299272, 169);
323d8e9230cSMauro Carvalho Chehab
324d8e9230cSMauro Carvalho Chehab	#
325d8e9230cSMauro Carvalho Chehab	# Firmware 18, type: STD FW    (0x00000000), id: SECAM/K1 (0000000000200000), size: 161
326d8e9230cSMauro Carvalho Chehab	#
327d8e9230cSMauro Carvalho Chehab
328d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
329d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
330d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
331d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299448, 161);
332d8e9230cSMauro Carvalho Chehab
333d8e9230cSMauro Carvalho Chehab	#
334d8e9230cSMauro Carvalho Chehab	# Firmware 19, type: STD FW    MTS (0x00000004), id: SECAM/K1 (0000000000200000), size: 169
335d8e9230cSMauro Carvalho Chehab	#
336d8e9230cSMauro Carvalho Chehab
337d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
338d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
339d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
340d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299616, 169);
341d8e9230cSMauro Carvalho Chehab
342d8e9230cSMauro Carvalho Chehab	#
343d8e9230cSMauro Carvalho Chehab	# Firmware 20, type: STD FW    (0x00000000), id: SECAM/K3 (0000000004000000), size: 161
344d8e9230cSMauro Carvalho Chehab	#
345d8e9230cSMauro Carvalho Chehab
346d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
347d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x04000000);	# ID
348d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
349d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299792, 161);
350d8e9230cSMauro Carvalho Chehab
351d8e9230cSMauro Carvalho Chehab	#
352d8e9230cSMauro Carvalho Chehab	# Firmware 21, type: STD FW    MTS (0x00000004), id: SECAM/K3 (0000000004000000), size: 169
353d8e9230cSMauro Carvalho Chehab	#
354d8e9230cSMauro Carvalho Chehab
355d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
356d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x04000000);	# ID
357d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
358d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(299960, 169);
359d8e9230cSMauro Carvalho Chehab
360d8e9230cSMauro Carvalho Chehab	#
361d8e9230cSMauro Carvalho Chehab	# Firmware 22, type: STD FW    D2633 DTV6 ATSC (0x00010030), id: (0000000000000000), size: 149
362d8e9230cSMauro Carvalho Chehab	#
363d8e9230cSMauro Carvalho Chehab
364d8e9230cSMauro Carvalho Chehab	write_le32(0x00010030);			# Type
365d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
366d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
367d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300136, 149);
368d8e9230cSMauro Carvalho Chehab
369d8e9230cSMauro Carvalho Chehab	#
370d8e9230cSMauro Carvalho Chehab	# Firmware 23, type: STD FW    D2620 DTV6 QAM (0x00000068), id: (0000000000000000), size: 149
371d8e9230cSMauro Carvalho Chehab	#
372d8e9230cSMauro Carvalho Chehab
373d8e9230cSMauro Carvalho Chehab	write_le32(0x00000068);			# Type
374d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
375d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
376d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300296, 149);
377d8e9230cSMauro Carvalho Chehab
378d8e9230cSMauro Carvalho Chehab	#
379d8e9230cSMauro Carvalho Chehab	# Firmware 24, type: STD FW    D2633 DTV6 QAM (0x00000070), id: (0000000000000000), size: 149
380d8e9230cSMauro Carvalho Chehab	#
381d8e9230cSMauro Carvalho Chehab
382d8e9230cSMauro Carvalho Chehab	write_le32(0x00000070);			# Type
383d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
384d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
385d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300448, 149);
386d8e9230cSMauro Carvalho Chehab
387d8e9230cSMauro Carvalho Chehab	#
388d8e9230cSMauro Carvalho Chehab	# Firmware 25, type: STD FW    D2620 DTV7 (0x00000088), id: (0000000000000000), size: 149
389d8e9230cSMauro Carvalho Chehab	#
390d8e9230cSMauro Carvalho Chehab
391d8e9230cSMauro Carvalho Chehab	write_le32(0x00000088);			# Type
392d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
393d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
394d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300608, 149);
395d8e9230cSMauro Carvalho Chehab
396d8e9230cSMauro Carvalho Chehab	#
397d8e9230cSMauro Carvalho Chehab	# Firmware 26, type: STD FW    D2633 DTV7 (0x00000090), id: (0000000000000000), size: 149
398d8e9230cSMauro Carvalho Chehab	#
399d8e9230cSMauro Carvalho Chehab
400d8e9230cSMauro Carvalho Chehab	write_le32(0x00000090);			# Type
401d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
402d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
403d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300760, 149);
404d8e9230cSMauro Carvalho Chehab
405d8e9230cSMauro Carvalho Chehab	#
406d8e9230cSMauro Carvalho Chehab	# Firmware 27, type: STD FW    D2620 DTV78 (0x00000108), id: (0000000000000000), size: 149
407d8e9230cSMauro Carvalho Chehab	#
408d8e9230cSMauro Carvalho Chehab
409d8e9230cSMauro Carvalho Chehab	write_le32(0x00000108);			# Type
410d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
411d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
412d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(300920, 149);
413d8e9230cSMauro Carvalho Chehab
414d8e9230cSMauro Carvalho Chehab	#
415d8e9230cSMauro Carvalho Chehab	# Firmware 28, type: STD FW    D2633 DTV78 (0x00000110), id: (0000000000000000), size: 149
416d8e9230cSMauro Carvalho Chehab	#
417d8e9230cSMauro Carvalho Chehab
418d8e9230cSMauro Carvalho Chehab	write_le32(0x00000110);			# Type
419d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
420d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
421d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301072, 149);
422d8e9230cSMauro Carvalho Chehab
423d8e9230cSMauro Carvalho Chehab	#
424d8e9230cSMauro Carvalho Chehab	# Firmware 29, type: STD FW    D2620 DTV8 (0x00000208), id: (0000000000000000), size: 149
425d8e9230cSMauro Carvalho Chehab	#
426d8e9230cSMauro Carvalho Chehab
427d8e9230cSMauro Carvalho Chehab	write_le32(0x00000208);			# Type
428d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
429d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
430d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301232, 149);
431d8e9230cSMauro Carvalho Chehab
432d8e9230cSMauro Carvalho Chehab	#
433d8e9230cSMauro Carvalho Chehab	# Firmware 30, type: STD FW    D2633 DTV8 (0x00000210), id: (0000000000000000), size: 149
434d8e9230cSMauro Carvalho Chehab	#
435d8e9230cSMauro Carvalho Chehab
436d8e9230cSMauro Carvalho Chehab	write_le32(0x00000210);			# Type
437d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
438d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
439d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301384, 149);
440d8e9230cSMauro Carvalho Chehab
441d8e9230cSMauro Carvalho Chehab	#
442d8e9230cSMauro Carvalho Chehab	# Firmware 31, type: STD FW    FM (0x00000400), id: (0000000000000000), size: 135
443d8e9230cSMauro Carvalho Chehab	#
444d8e9230cSMauro Carvalho Chehab
445d8e9230cSMauro Carvalho Chehab	write_le32(0x00000400);			# Type
446d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
447d8e9230cSMauro Carvalho Chehab	write_le32(135);			# Size
448d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301554, 135);
449d8e9230cSMauro Carvalho Chehab
450d8e9230cSMauro Carvalho Chehab	#
451d8e9230cSMauro Carvalho Chehab	# Firmware 32, type: STD FW    (0x00000000), id: PAL/I (0000000000000010), size: 161
452d8e9230cSMauro Carvalho Chehab	#
453d8e9230cSMauro Carvalho Chehab
454d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
455d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
456d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
457d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301688, 161);
458d8e9230cSMauro Carvalho Chehab
459d8e9230cSMauro Carvalho Chehab	#
460d8e9230cSMauro Carvalho Chehab	# Firmware 33, type: STD FW    MTS (0x00000004), id: PAL/I (0000000000000010), size: 169
461d8e9230cSMauro Carvalho Chehab	#
462d8e9230cSMauro Carvalho Chehab
463d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
464d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
465d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
466d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(301856, 169);
467d8e9230cSMauro Carvalho Chehab
468d8e9230cSMauro Carvalho Chehab	#
469d8e9230cSMauro Carvalho Chehab	# Firmware 34, type: STD FW    (0x00000000), id: SECAM/L AM (0000001000400000), size: 169
470d8e9230cSMauro Carvalho Chehab	#
471d8e9230cSMauro Carvalho Chehab
472d8e9230cSMauro Carvalho Chehab	#
473d8e9230cSMauro Carvalho Chehab	# Firmware 35, type: STD FW    (0x00000000), id: SECAM/L NICAM (0000000c00400000), size: 161
474d8e9230cSMauro Carvalho Chehab	#
475d8e9230cSMauro Carvalho Chehab
476d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
477d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x00400000);	# ID
478d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
479d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302032, 161);
480d8e9230cSMauro Carvalho Chehab
481d8e9230cSMauro Carvalho Chehab	#
482d8e9230cSMauro Carvalho Chehab	# Firmware 36, type: STD FW    (0x00000000), id: SECAM/Lc (0000000000800000), size: 161
483d8e9230cSMauro Carvalho Chehab	#
484d8e9230cSMauro Carvalho Chehab
485d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
486d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00800000);	# ID
487d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
488d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302200, 161);
489d8e9230cSMauro Carvalho Chehab
490d8e9230cSMauro Carvalho Chehab	#
491d8e9230cSMauro Carvalho Chehab	# Firmware 37, type: STD FW    (0x00000000), id: NTSC/M Kr (0000000000008000), size: 161
492d8e9230cSMauro Carvalho Chehab	#
493d8e9230cSMauro Carvalho Chehab
494d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
495d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
496d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
497d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302368, 161);
498d8e9230cSMauro Carvalho Chehab
499d8e9230cSMauro Carvalho Chehab	#
500d8e9230cSMauro Carvalho Chehab	# Firmware 38, type: STD FW    LCD (0x00001000), id: NTSC/M Kr (0000000000008000), size: 161
501d8e9230cSMauro Carvalho Chehab	#
502d8e9230cSMauro Carvalho Chehab
503d8e9230cSMauro Carvalho Chehab	write_le32(0x00001000);			# Type
504d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
505d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
506d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302536, 161);
507d8e9230cSMauro Carvalho Chehab
508d8e9230cSMauro Carvalho Chehab	#
509d8e9230cSMauro Carvalho Chehab	# Firmware 39, type: STD FW    LCD NOGD (0x00003000), id: NTSC/M Kr (0000000000008000), size: 161
510d8e9230cSMauro Carvalho Chehab	#
511d8e9230cSMauro Carvalho Chehab
512d8e9230cSMauro Carvalho Chehab	write_le32(0x00003000);			# Type
513d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
514d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
515d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302704, 161);
516d8e9230cSMauro Carvalho Chehab
517d8e9230cSMauro Carvalho Chehab	#
518d8e9230cSMauro Carvalho Chehab	# Firmware 40, type: STD FW    MTS (0x00000004), id: NTSC/M Kr (0000000000008000), size: 169
519d8e9230cSMauro Carvalho Chehab	#
520d8e9230cSMauro Carvalho Chehab
521d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
522d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
523d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
524d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(302872, 169);
525d8e9230cSMauro Carvalho Chehab
526d8e9230cSMauro Carvalho Chehab	#
527d8e9230cSMauro Carvalho Chehab	# Firmware 41, type: STD FW    (0x00000000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
528d8e9230cSMauro Carvalho Chehab	#
529d8e9230cSMauro Carvalho Chehab
530d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
531d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
532d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
533d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303048, 161);
534d8e9230cSMauro Carvalho Chehab
535d8e9230cSMauro Carvalho Chehab	#
536d8e9230cSMauro Carvalho Chehab	# Firmware 42, type: STD FW    LCD (0x00001000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
537d8e9230cSMauro Carvalho Chehab	#
538d8e9230cSMauro Carvalho Chehab
539d8e9230cSMauro Carvalho Chehab	write_le32(0x00001000);			# Type
540d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
541d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
542d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303216, 161);
543d8e9230cSMauro Carvalho Chehab
544d8e9230cSMauro Carvalho Chehab	#
545d8e9230cSMauro Carvalho Chehab	# Firmware 43, type: STD FW    LCD NOGD (0x00003000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
546d8e9230cSMauro Carvalho Chehab	#
547d8e9230cSMauro Carvalho Chehab
548d8e9230cSMauro Carvalho Chehab	write_le32(0x00003000);			# Type
549d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
550d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
551d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303384, 161);
552d8e9230cSMauro Carvalho Chehab
553d8e9230cSMauro Carvalho Chehab	#
554d8e9230cSMauro Carvalho Chehab	# Firmware 44, type: STD FW    (0x00000000), id: NTSC/M Jp (0000000000002000), size: 161
555d8e9230cSMauro Carvalho Chehab	#
556d8e9230cSMauro Carvalho Chehab
557d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
558d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00002000);	# ID
559d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
560d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303552, 161);
561d8e9230cSMauro Carvalho Chehab
562d8e9230cSMauro Carvalho Chehab	#
563d8e9230cSMauro Carvalho Chehab	# Firmware 45, type: STD FW    MTS (0x00000004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
564d8e9230cSMauro Carvalho Chehab	#
565d8e9230cSMauro Carvalho Chehab
566d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
567d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
568d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
569d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303720, 169);
570d8e9230cSMauro Carvalho Chehab
571d8e9230cSMauro Carvalho Chehab	#
572d8e9230cSMauro Carvalho Chehab	# Firmware 46, type: STD FW    MTS LCD (0x00001004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
573d8e9230cSMauro Carvalho Chehab	#
574d8e9230cSMauro Carvalho Chehab
575d8e9230cSMauro Carvalho Chehab	write_le32(0x00001004);			# Type
576d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
577d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
578d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(303896, 169);
579d8e9230cSMauro Carvalho Chehab
580d8e9230cSMauro Carvalho Chehab	#
581d8e9230cSMauro Carvalho Chehab	# Firmware 47, type: STD FW    MTS LCD NOGD (0x00003004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
582d8e9230cSMauro Carvalho Chehab	#
583d8e9230cSMauro Carvalho Chehab
584d8e9230cSMauro Carvalho Chehab	write_le32(0x00003004);			# Type
585d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
586d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
587d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(304072, 169);
588d8e9230cSMauro Carvalho Chehab
589d8e9230cSMauro Carvalho Chehab	#
590d8e9230cSMauro Carvalho Chehab	# Firmware 48, type: SCODE FW  HAS IF (0x60000000), IF = 3.28 MHz id: (0000000000000000), size: 192
591d8e9230cSMauro Carvalho Chehab	#
592d8e9230cSMauro Carvalho Chehab
593d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
594d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
595d8e9230cSMauro Carvalho Chehab	write_le16(3280);			# IF
596d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
597d8e9230cSMauro Carvalho Chehab	write_hunk(309048, 192);
598d8e9230cSMauro Carvalho Chehab
599d8e9230cSMauro Carvalho Chehab	#
600d8e9230cSMauro Carvalho Chehab	# Firmware 49, type: SCODE FW  HAS IF (0x60000000), IF = 3.30 MHz id: (0000000000000000), size: 192
601d8e9230cSMauro Carvalho Chehab	#
602d8e9230cSMauro Carvalho Chehab
603d8e9230cSMauro Carvalho Chehab#	write_le32(0x60000000);			# Type
604d8e9230cSMauro Carvalho Chehab#	write_le64(0x00000000, 0x00000000);	# ID
605d8e9230cSMauro Carvalho Chehab#	write_le16(3300);			# IF
606d8e9230cSMauro Carvalho Chehab#	write_le32(192);			# Size
607d8e9230cSMauro Carvalho Chehab#	write_hunk(304440, 192);
608d8e9230cSMauro Carvalho Chehab
609d8e9230cSMauro Carvalho Chehab	#
610d8e9230cSMauro Carvalho Chehab	# Firmware 50, type: SCODE FW  HAS IF (0x60000000), IF = 3.44 MHz id: (0000000000000000), size: 192
611d8e9230cSMauro Carvalho Chehab	#
612d8e9230cSMauro Carvalho Chehab
613d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
614d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
615d8e9230cSMauro Carvalho Chehab	write_le16(3440);			# IF
616d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
617d8e9230cSMauro Carvalho Chehab	write_hunk(309432, 192);
618d8e9230cSMauro Carvalho Chehab
619d8e9230cSMauro Carvalho Chehab	#
620d8e9230cSMauro Carvalho Chehab	# Firmware 51, type: SCODE FW  HAS IF (0x60000000), IF = 3.46 MHz id: (0000000000000000), size: 192
621d8e9230cSMauro Carvalho Chehab	#
622d8e9230cSMauro Carvalho Chehab
623d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
624d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
625d8e9230cSMauro Carvalho Chehab	write_le16(3460);			# IF
626d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
627d8e9230cSMauro Carvalho Chehab	write_hunk(309624, 192);
628d8e9230cSMauro Carvalho Chehab
629d8e9230cSMauro Carvalho Chehab	#
630d8e9230cSMauro Carvalho Chehab	# Firmware 52, type: SCODE FW  DTV6 ATSC OREN36 HAS IF (0x60210020), IF = 3.80 MHz id: (0000000000000000), size: 192
631d8e9230cSMauro Carvalho Chehab	#
632d8e9230cSMauro Carvalho Chehab
633d8e9230cSMauro Carvalho Chehab	write_le32(0x60210020);			# Type
634d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
635d8e9230cSMauro Carvalho Chehab	write_le16(3800);			# IF
636d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
637d8e9230cSMauro Carvalho Chehab	write_hunk(306936, 192);
638d8e9230cSMauro Carvalho Chehab
639d8e9230cSMauro Carvalho Chehab	#
640d8e9230cSMauro Carvalho Chehab	# Firmware 53, type: SCODE FW  HAS IF (0x60000000), IF = 4.00 MHz id: (0000000000000000), size: 192
641d8e9230cSMauro Carvalho Chehab	#
642d8e9230cSMauro Carvalho Chehab
643d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
644d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
645d8e9230cSMauro Carvalho Chehab	write_le16(4000);			# IF
646d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
647d8e9230cSMauro Carvalho Chehab	write_hunk(309240, 192);
648d8e9230cSMauro Carvalho Chehab
649d8e9230cSMauro Carvalho Chehab	#
650d8e9230cSMauro Carvalho Chehab	# Firmware 54, type: SCODE FW  DTV6 ATSC TOYOTA388 HAS IF (0x60410020), IF = 4.08 MHz id: (0000000000000000), size: 192
651d8e9230cSMauro Carvalho Chehab	#
652d8e9230cSMauro Carvalho Chehab
653d8e9230cSMauro Carvalho Chehab	write_le32(0x60410020);			# Type
654d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
655d8e9230cSMauro Carvalho Chehab	write_le16(4080);			# IF
656d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
657d8e9230cSMauro Carvalho Chehab	write_hunk(307128, 192);
658d8e9230cSMauro Carvalho Chehab
659d8e9230cSMauro Carvalho Chehab	#
660d8e9230cSMauro Carvalho Chehab	# Firmware 55, type: SCODE FW  HAS IF (0x60000000), IF = 4.20 MHz id: (0000000000000000), size: 192
661d8e9230cSMauro Carvalho Chehab	#
662d8e9230cSMauro Carvalho Chehab
663d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
664d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
665d8e9230cSMauro Carvalho Chehab	write_le16(4200);			# IF
666d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
667d8e9230cSMauro Carvalho Chehab	write_hunk(308856, 192);
668d8e9230cSMauro Carvalho Chehab
669d8e9230cSMauro Carvalho Chehab	#
670d8e9230cSMauro Carvalho Chehab	# Firmware 56, type: SCODE FW  MONO HAS IF (0x60008000), IF = 4.32 MHz id: NTSC/M Kr (0000000000008000), size: 192
671d8e9230cSMauro Carvalho Chehab	#
672d8e9230cSMauro Carvalho Chehab
673d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
674d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
675d8e9230cSMauro Carvalho Chehab	write_le16(4320);			# IF
676d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
677d8e9230cSMauro Carvalho Chehab	write_hunk(305208, 192);
678d8e9230cSMauro Carvalho Chehab
679d8e9230cSMauro Carvalho Chehab	#
680d8e9230cSMauro Carvalho Chehab	# Firmware 57, type: SCODE FW  HAS IF (0x60000000), IF = 4.45 MHz id: (0000000000000000), size: 192
681d8e9230cSMauro Carvalho Chehab	#
682d8e9230cSMauro Carvalho Chehab
683d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
684d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
685d8e9230cSMauro Carvalho Chehab	write_le16(4450);			# IF
686d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
687d8e9230cSMauro Carvalho Chehab	write_hunk(309816, 192);
688d8e9230cSMauro Carvalho Chehab
689d8e9230cSMauro Carvalho Chehab	#
690d8e9230cSMauro Carvalho Chehab	# Firmware 58, type: SCODE FW  MTS LCD NOGD MONO IF HAS IF (0x6002b004), IF = 4.50 MHz id: NTSC PAL/M PAL/N (000000000000b700), size: 192
691d8e9230cSMauro Carvalho Chehab	#
692d8e9230cSMauro Carvalho Chehab
693d8e9230cSMauro Carvalho Chehab	write_le32(0x6002b004);			# Type
694d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
695d8e9230cSMauro Carvalho Chehab	write_le16(4500);			# IF
696d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
697d8e9230cSMauro Carvalho Chehab	write_hunk(304824, 192);
698d8e9230cSMauro Carvalho Chehab
699d8e9230cSMauro Carvalho Chehab	#
700d8e9230cSMauro Carvalho Chehab	# Firmware 59, type: SCODE FW  LCD NOGD IF HAS IF (0x60023000), IF = 4.60 MHz id: NTSC/M Kr (0000000000008000), size: 192
701d8e9230cSMauro Carvalho Chehab	#
702d8e9230cSMauro Carvalho Chehab
703d8e9230cSMauro Carvalho Chehab	write_le32(0x60023000);			# Type
704d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
705d8e9230cSMauro Carvalho Chehab	write_le16(4600);			# IF
706d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
707d8e9230cSMauro Carvalho Chehab	write_hunk(305016, 192);
708d8e9230cSMauro Carvalho Chehab
709d8e9230cSMauro Carvalho Chehab	#
710d8e9230cSMauro Carvalho Chehab	# Firmware 60, type: SCODE FW  DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 HAS IF (0x620003e0), IF = 4.76 MHz id: (0000000000000000), size: 192
711d8e9230cSMauro Carvalho Chehab	#
712d8e9230cSMauro Carvalho Chehab
713d8e9230cSMauro Carvalho Chehab	write_le32(0x620003e0);			# Type
714d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
715d8e9230cSMauro Carvalho Chehab	write_le16(4760);			# IF
716d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
717d8e9230cSMauro Carvalho Chehab	write_hunk(304440, 192);
718d8e9230cSMauro Carvalho Chehab
719d8e9230cSMauro Carvalho Chehab	#
720d8e9230cSMauro Carvalho Chehab	# Firmware 61, type: SCODE FW  HAS IF (0x60000000), IF = 4.94 MHz id: (0000000000000000), size: 192
721d8e9230cSMauro Carvalho Chehab	#
722d8e9230cSMauro Carvalho Chehab
723d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
724d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
725d8e9230cSMauro Carvalho Chehab	write_le16(4940);			# IF
726d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
727d8e9230cSMauro Carvalho Chehab	write_hunk(308664, 192);
728d8e9230cSMauro Carvalho Chehab
729d8e9230cSMauro Carvalho Chehab	#
730d8e9230cSMauro Carvalho Chehab	# Firmware 62, type: SCODE FW  HAS IF (0x60000000), IF = 5.26 MHz id: (0000000000000000), size: 192
731d8e9230cSMauro Carvalho Chehab	#
732d8e9230cSMauro Carvalho Chehab
733d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
734d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
735d8e9230cSMauro Carvalho Chehab	write_le16(5260);			# IF
736d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
737d8e9230cSMauro Carvalho Chehab	write_hunk(307704, 192);
738d8e9230cSMauro Carvalho Chehab
739d8e9230cSMauro Carvalho Chehab	#
740d8e9230cSMauro Carvalho Chehab	# Firmware 63, type: SCODE FW  MONO HAS IF (0x60008000), IF = 5.32 MHz id: PAL/BG A2 NICAM (0000000f00000007), size: 192
741d8e9230cSMauro Carvalho Chehab	#
742d8e9230cSMauro Carvalho Chehab
743d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
744d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000f, 0x00000007);	# ID
745d8e9230cSMauro Carvalho Chehab	write_le16(5320);			# IF
746d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
747d8e9230cSMauro Carvalho Chehab	write_hunk(307896, 192);
748d8e9230cSMauro Carvalho Chehab
749d8e9230cSMauro Carvalho Chehab	#
750d8e9230cSMauro Carvalho Chehab	# Firmware 64, type: SCODE FW  DTV7 DTV78 DTV8 DIBCOM52 CHINA HAS IF (0x65000380), IF = 5.40 MHz id: (0000000000000000), size: 192
751d8e9230cSMauro Carvalho Chehab	#
752d8e9230cSMauro Carvalho Chehab
753d8e9230cSMauro Carvalho Chehab	write_le32(0x65000380);			# Type
754d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
755d8e9230cSMauro Carvalho Chehab	write_le16(5400);			# IF
756d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
757d8e9230cSMauro Carvalho Chehab	write_hunk(304248, 192);
758d8e9230cSMauro Carvalho Chehab
759d8e9230cSMauro Carvalho Chehab	#
760d8e9230cSMauro Carvalho Chehab	# Firmware 65, type: SCODE FW  DTV6 ATSC OREN538 HAS IF (0x60110020), IF = 5.58 MHz id: (0000000000000000), size: 192
761d8e9230cSMauro Carvalho Chehab	#
762d8e9230cSMauro Carvalho Chehab
763d8e9230cSMauro Carvalho Chehab	write_le32(0x60110020);			# Type
764d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
765d8e9230cSMauro Carvalho Chehab	write_le16(5580);			# IF
766d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
767d8e9230cSMauro Carvalho Chehab	write_hunk(306744, 192);
768d8e9230cSMauro Carvalho Chehab
769d8e9230cSMauro Carvalho Chehab	#
770d8e9230cSMauro Carvalho Chehab	# Firmware 66, type: SCODE FW  HAS IF (0x60000000), IF = 5.64 MHz id: PAL/BG A2 (0000000300000007), size: 192
771d8e9230cSMauro Carvalho Chehab	#
772d8e9230cSMauro Carvalho Chehab
773d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
774d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x00000007);	# ID
775d8e9230cSMauro Carvalho Chehab	write_le16(5640);			# IF
776d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
777d8e9230cSMauro Carvalho Chehab	write_hunk(305592, 192);
778d8e9230cSMauro Carvalho Chehab
779d8e9230cSMauro Carvalho Chehab	#
780d8e9230cSMauro Carvalho Chehab	# Firmware 67, type: SCODE FW  HAS IF (0x60000000), IF = 5.74 MHz id: PAL/BG NICAM (0000000c00000007), size: 192
781d8e9230cSMauro Carvalho Chehab	#
782d8e9230cSMauro Carvalho Chehab
783d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
784d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x00000007);	# ID
785d8e9230cSMauro Carvalho Chehab	write_le16(5740);			# IF
786d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
787d8e9230cSMauro Carvalho Chehab	write_hunk(305784, 192);
788d8e9230cSMauro Carvalho Chehab
789d8e9230cSMauro Carvalho Chehab	#
790d8e9230cSMauro Carvalho Chehab	# Firmware 68, type: SCODE FW  HAS IF (0x60000000), IF = 5.90 MHz id: (0000000000000000), size: 192
791d8e9230cSMauro Carvalho Chehab	#
792d8e9230cSMauro Carvalho Chehab
793d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
794d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
795d8e9230cSMauro Carvalho Chehab	write_le16(5900);			# IF
796d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
797d8e9230cSMauro Carvalho Chehab	write_hunk(307512, 192);
798d8e9230cSMauro Carvalho Chehab
799d8e9230cSMauro Carvalho Chehab	#
800d8e9230cSMauro Carvalho Chehab	# Firmware 69, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.00 MHz id: PAL/DK PAL/I SECAM/K3 SECAM/L SECAM/Lc NICAM (0000000c04c000f0), size: 192
801d8e9230cSMauro Carvalho Chehab	#
802d8e9230cSMauro Carvalho Chehab
803d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
804d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x04c000f0);	# ID
805d8e9230cSMauro Carvalho Chehab	write_le16(6000);			# IF
806d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
807d8e9230cSMauro Carvalho Chehab	write_hunk(305576, 192);
808d8e9230cSMauro Carvalho Chehab
809d8e9230cSMauro Carvalho Chehab	#
810d8e9230cSMauro Carvalho Chehab	# Firmware 70, type: SCODE FW  DTV6 QAM ATSC LG60 F6MHZ HAS IF (0x68050060), IF = 6.20 MHz id: (0000000000000000), size: 192
811d8e9230cSMauro Carvalho Chehab	#
812d8e9230cSMauro Carvalho Chehab
813d8e9230cSMauro Carvalho Chehab	write_le32(0x68050060);			# Type
814d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
815d8e9230cSMauro Carvalho Chehab	write_le16(6200);			# IF
816d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
817d8e9230cSMauro Carvalho Chehab	write_hunk(306552, 192);
818d8e9230cSMauro Carvalho Chehab
819d8e9230cSMauro Carvalho Chehab	#
820d8e9230cSMauro Carvalho Chehab	# Firmware 71, type: SCODE FW  HAS IF (0x60000000), IF = 6.24 MHz id: PAL/I (0000000000000010), size: 192
821d8e9230cSMauro Carvalho Chehab	#
822d8e9230cSMauro Carvalho Chehab
823d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
824d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
825d8e9230cSMauro Carvalho Chehab	write_le16(6240);			# IF
826d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
827d8e9230cSMauro Carvalho Chehab	write_hunk(305400, 192);
828d8e9230cSMauro Carvalho Chehab
829d8e9230cSMauro Carvalho Chehab	#
830d8e9230cSMauro Carvalho Chehab	# Firmware 72, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.32 MHz id: SECAM/K1 (0000000000200000), size: 192
831d8e9230cSMauro Carvalho Chehab	#
832d8e9230cSMauro Carvalho Chehab
833d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
834d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
835d8e9230cSMauro Carvalho Chehab	write_le16(6320);			# IF
836d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
837d8e9230cSMauro Carvalho Chehab	write_hunk(308472, 192);
838d8e9230cSMauro Carvalho Chehab
839d8e9230cSMauro Carvalho Chehab	#
840d8e9230cSMauro Carvalho Chehab	# Firmware 73, type: SCODE FW  HAS IF (0x60000000), IF = 6.34 MHz id: SECAM/K1 (0000000000200000), size: 192
841d8e9230cSMauro Carvalho Chehab	#
842d8e9230cSMauro Carvalho Chehab
843d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
844d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
845d8e9230cSMauro Carvalho Chehab	write_le16(6340);			# IF
846d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
847d8e9230cSMauro Carvalho Chehab	write_hunk(306360, 192);
848d8e9230cSMauro Carvalho Chehab
849d8e9230cSMauro Carvalho Chehab	#
850d8e9230cSMauro Carvalho Chehab	# Firmware 74, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.50 MHz id: PAL/DK SECAM/K3 SECAM/L NICAM (0000000c044000e0), size: 192
851d8e9230cSMauro Carvalho Chehab	#
852d8e9230cSMauro Carvalho Chehab
853d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
854d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x044000e0);	# ID
855d8e9230cSMauro Carvalho Chehab	write_le16(6500);			# IF
856d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
857d8e9230cSMauro Carvalho Chehab	write_hunk(308280, 192);
858d8e9230cSMauro Carvalho Chehab
859d8e9230cSMauro Carvalho Chehab	#
860d8e9230cSMauro Carvalho Chehab	# Firmware 75, type: SCODE FW  DTV6 ATSC ATI638 HAS IF (0x60090020), IF = 6.58 MHz id: (0000000000000000), size: 192
861d8e9230cSMauro Carvalho Chehab	#
862d8e9230cSMauro Carvalho Chehab
863d8e9230cSMauro Carvalho Chehab	write_le32(0x60090020);			# Type
864d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
865d8e9230cSMauro Carvalho Chehab	write_le16(6580);			# IF
866d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
867d8e9230cSMauro Carvalho Chehab	write_hunk(304632, 192);
868d8e9230cSMauro Carvalho Chehab
869d8e9230cSMauro Carvalho Chehab	#
870d8e9230cSMauro Carvalho Chehab	# Firmware 76, type: SCODE FW  HAS IF (0x60000000), IF = 6.60 MHz id: PAL/DK A2 (00000003000000e0), size: 192
871d8e9230cSMauro Carvalho Chehab	#
872d8e9230cSMauro Carvalho Chehab
873d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
874d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
875d8e9230cSMauro Carvalho Chehab	write_le16(6600);			# IF
876d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
877d8e9230cSMauro Carvalho Chehab	write_hunk(306168, 192);
878d8e9230cSMauro Carvalho Chehab
879d8e9230cSMauro Carvalho Chehab	#
880d8e9230cSMauro Carvalho Chehab	# Firmware 77, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.68 MHz id: PAL/DK A2 (00000003000000e0), size: 192
881d8e9230cSMauro Carvalho Chehab	#
882d8e9230cSMauro Carvalho Chehab
883d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
884d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
885d8e9230cSMauro Carvalho Chehab	write_le16(6680);			# IF
886d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
887d8e9230cSMauro Carvalho Chehab	write_hunk(308088, 192);
888d8e9230cSMauro Carvalho Chehab
889d8e9230cSMauro Carvalho Chehab	#
890d8e9230cSMauro Carvalho Chehab	# Firmware 78, type: SCODE FW  DTV6 ATSC TOYOTA794 HAS IF (0x60810020), IF = 8.14 MHz id: (0000000000000000), size: 192
891d8e9230cSMauro Carvalho Chehab	#
892d8e9230cSMauro Carvalho Chehab
893d8e9230cSMauro Carvalho Chehab	write_le32(0x60810020);			# Type
894d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
895d8e9230cSMauro Carvalho Chehab	write_le16(8140);			# IF
896d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
897d8e9230cSMauro Carvalho Chehab	write_hunk(307320, 192);
898d8e9230cSMauro Carvalho Chehab
899d8e9230cSMauro Carvalho Chehab	#
900d8e9230cSMauro Carvalho Chehab	# Firmware 79, type: SCODE FW  HAS IF (0x60000000), IF = 8.20 MHz id: (0000000000000000), size: 192
901d8e9230cSMauro Carvalho Chehab	#
902d8e9230cSMauro Carvalho Chehab
903d8e9230cSMauro Carvalho Chehab#	write_le32(0x60000000);			# Type
904d8e9230cSMauro Carvalho Chehab#	write_le64(0x00000000, 0x00000000);	# ID
905d8e9230cSMauro Carvalho Chehab#	write_le16(8200);			# IF
906d8e9230cSMauro Carvalho Chehab#	write_le32(192);			# Size
907d8e9230cSMauro Carvalho Chehab#	write_hunk(308088, 192);
908d8e9230cSMauro Carvalho Chehab}
909d8e9230cSMauro Carvalho Chehab
910d8e9230cSMauro Carvalho Chehabsub main_firmware_27($$$$)
911d8e9230cSMauro Carvalho Chehab{
912d8e9230cSMauro Carvalho Chehab	my $out;
913d8e9230cSMauro Carvalho Chehab	my $j=0;
914d8e9230cSMauro Carvalho Chehab	my $outfile = shift;
915d8e9230cSMauro Carvalho Chehab	my $name    = shift;
916d8e9230cSMauro Carvalho Chehab	my $version = shift;
917d8e9230cSMauro Carvalho Chehab	my $nr_desc = shift;
918d8e9230cSMauro Carvalho Chehab
919d8e9230cSMauro Carvalho Chehab	for ($j = length($name); $j <32; $j++) {
920d8e9230cSMauro Carvalho Chehab		$name = $name.chr(0);
921d8e9230cSMauro Carvalho Chehab	}
922d8e9230cSMauro Carvalho Chehab
923d8e9230cSMauro Carvalho Chehab	open OUTFILE, ">$outfile";
924d8e9230cSMauro Carvalho Chehab	syswrite(OUTFILE, $name);
925d8e9230cSMauro Carvalho Chehab	write_le16($version);
926d8e9230cSMauro Carvalho Chehab	write_le16($nr_desc);
927d8e9230cSMauro Carvalho Chehab
928d8e9230cSMauro Carvalho Chehab	#
929d8e9230cSMauro Carvalho Chehab	# Firmware 0, type: BASE FW   F8MHZ (0x00000003), id: (0000000000000000), size: 8718
930d8e9230cSMauro Carvalho Chehab	#
931d8e9230cSMauro Carvalho Chehab
932d8e9230cSMauro Carvalho Chehab	write_le32(0x00000003);			# Type
933d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
934d8e9230cSMauro Carvalho Chehab	write_le32(8718);			# Size
935d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(813432, 8718);
936d8e9230cSMauro Carvalho Chehab
937d8e9230cSMauro Carvalho Chehab	#
938d8e9230cSMauro Carvalho Chehab	# Firmware 1, type: BASE FW   F8MHZ MTS (0x00000007), id: (0000000000000000), size: 8712
939d8e9230cSMauro Carvalho Chehab	#
940d8e9230cSMauro Carvalho Chehab
941d8e9230cSMauro Carvalho Chehab	write_le32(0x00000007);			# Type
942d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
943d8e9230cSMauro Carvalho Chehab	write_le32(8712);			# Size
944d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(822152, 8712);
945d8e9230cSMauro Carvalho Chehab
946d8e9230cSMauro Carvalho Chehab	#
947d8e9230cSMauro Carvalho Chehab	# Firmware 2, type: BASE FW   FM (0x00000401), id: (0000000000000000), size: 8562
948d8e9230cSMauro Carvalho Chehab	#
949d8e9230cSMauro Carvalho Chehab
950d8e9230cSMauro Carvalho Chehab	write_le32(0x00000401);			# Type
951d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
952d8e9230cSMauro Carvalho Chehab	write_le32(8562);			# Size
953d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(830872, 8562);
954d8e9230cSMauro Carvalho Chehab
955d8e9230cSMauro Carvalho Chehab	#
956d8e9230cSMauro Carvalho Chehab	# Firmware 3, type: BASE FW   FM INPUT1 (0x00000c01), id: (0000000000000000), size: 8576
957d8e9230cSMauro Carvalho Chehab	#
958d8e9230cSMauro Carvalho Chehab
959d8e9230cSMauro Carvalho Chehab	write_le32(0x00000c01);			# Type
960d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
961d8e9230cSMauro Carvalho Chehab	write_le32(8576);			# Size
962d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(839440, 8576);
963d8e9230cSMauro Carvalho Chehab
964d8e9230cSMauro Carvalho Chehab	#
965d8e9230cSMauro Carvalho Chehab	# Firmware 4, type: BASE FW   (0x00000001), id: (0000000000000000), size: 8706
966d8e9230cSMauro Carvalho Chehab	#
967d8e9230cSMauro Carvalho Chehab
968d8e9230cSMauro Carvalho Chehab	write_le32(0x00000001);			# Type
969d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
970d8e9230cSMauro Carvalho Chehab	write_le32(8706);			# Size
971d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(848024, 8706);
972d8e9230cSMauro Carvalho Chehab
973d8e9230cSMauro Carvalho Chehab	#
974d8e9230cSMauro Carvalho Chehab	# Firmware 5, type: BASE FW   MTS (0x00000005), id: (0000000000000000), size: 8682
975d8e9230cSMauro Carvalho Chehab	#
976d8e9230cSMauro Carvalho Chehab
977d8e9230cSMauro Carvalho Chehab	write_le32(0x00000005);			# Type
978d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
979d8e9230cSMauro Carvalho Chehab	write_le32(8682);			# Size
980d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(856736, 8682);
981d8e9230cSMauro Carvalho Chehab
982d8e9230cSMauro Carvalho Chehab	#
983d8e9230cSMauro Carvalho Chehab	# Firmware 6, type: STD FW    (0x00000000), id: PAL/BG A2/A (0000000100000007), size: 161
984d8e9230cSMauro Carvalho Chehab	#
985d8e9230cSMauro Carvalho Chehab
986d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
987d8e9230cSMauro Carvalho Chehab	write_le64(0x00000001, 0x00000007);	# ID
988d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
989d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(865424, 161);
990d8e9230cSMauro Carvalho Chehab
991d8e9230cSMauro Carvalho Chehab	#
992d8e9230cSMauro Carvalho Chehab	# Firmware 7, type: STD FW    MTS (0x00000004), id: PAL/BG A2/A (0000000100000007), size: 169
993d8e9230cSMauro Carvalho Chehab	#
994d8e9230cSMauro Carvalho Chehab
995d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
996d8e9230cSMauro Carvalho Chehab	write_le64(0x00000001, 0x00000007);	# ID
997d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
998d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(865592, 169);
999d8e9230cSMauro Carvalho Chehab
1000d8e9230cSMauro Carvalho Chehab	#
1001d8e9230cSMauro Carvalho Chehab	# Firmware 8, type: STD FW    (0x00000000), id: PAL/BG A2/B (0000000200000007), size: 161
1002d8e9230cSMauro Carvalho Chehab	#
1003d8e9230cSMauro Carvalho Chehab
1004d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1005d8e9230cSMauro Carvalho Chehab	write_le64(0x00000002, 0x00000007);	# ID
1006d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1007d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(865424, 161);
1008d8e9230cSMauro Carvalho Chehab
1009d8e9230cSMauro Carvalho Chehab	#
1010d8e9230cSMauro Carvalho Chehab	# Firmware 9, type: STD FW    MTS (0x00000004), id: PAL/BG A2/B (0000000200000007), size: 169
1011d8e9230cSMauro Carvalho Chehab	#
1012d8e9230cSMauro Carvalho Chehab
1013d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1014d8e9230cSMauro Carvalho Chehab	write_le64(0x00000002, 0x00000007);	# ID
1015d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1016d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(865592, 169);
1017d8e9230cSMauro Carvalho Chehab
1018d8e9230cSMauro Carvalho Chehab	#
1019d8e9230cSMauro Carvalho Chehab	# Firmware 10, type: STD FW    (0x00000000), id: PAL/BG NICAM/A (0000000400000007), size: 161
1020d8e9230cSMauro Carvalho Chehab	#
1021d8e9230cSMauro Carvalho Chehab
1022d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1023d8e9230cSMauro Carvalho Chehab	write_le64(0x00000004, 0x00000007);	# ID
1024d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1025d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866112, 161);
1026d8e9230cSMauro Carvalho Chehab
1027d8e9230cSMauro Carvalho Chehab	#
1028d8e9230cSMauro Carvalho Chehab	# Firmware 11, type: STD FW    MTS (0x00000004), id: PAL/BG NICAM/A (0000000400000007), size: 169
1029d8e9230cSMauro Carvalho Chehab	#
1030d8e9230cSMauro Carvalho Chehab
1031d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1032d8e9230cSMauro Carvalho Chehab	write_le64(0x00000004, 0x00000007);	# ID
1033d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1034d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866280, 169);
1035d8e9230cSMauro Carvalho Chehab
1036d8e9230cSMauro Carvalho Chehab	#
1037d8e9230cSMauro Carvalho Chehab	# Firmware 12, type: STD FW    (0x00000000), id: PAL/BG NICAM/B (0000000800000007), size: 161
1038d8e9230cSMauro Carvalho Chehab	#
1039d8e9230cSMauro Carvalho Chehab
1040d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1041d8e9230cSMauro Carvalho Chehab	write_le64(0x00000008, 0x00000007);	# ID
1042d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1043d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866112, 161);
1044d8e9230cSMauro Carvalho Chehab
1045d8e9230cSMauro Carvalho Chehab	#
1046d8e9230cSMauro Carvalho Chehab	# Firmware 13, type: STD FW    MTS (0x00000004), id: PAL/BG NICAM/B (0000000800000007), size: 169
1047d8e9230cSMauro Carvalho Chehab	#
1048d8e9230cSMauro Carvalho Chehab
1049d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1050d8e9230cSMauro Carvalho Chehab	write_le64(0x00000008, 0x00000007);	# ID
1051d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1052d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866280, 169);
1053d8e9230cSMauro Carvalho Chehab
1054d8e9230cSMauro Carvalho Chehab	#
1055d8e9230cSMauro Carvalho Chehab	# Firmware 14, type: STD FW    (0x00000000), id: PAL/DK A2 (00000003000000e0), size: 161
1056d8e9230cSMauro Carvalho Chehab	#
1057d8e9230cSMauro Carvalho Chehab
1058d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1059d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
1060d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1061d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866800, 161);
1062d8e9230cSMauro Carvalho Chehab
1063d8e9230cSMauro Carvalho Chehab	#
1064d8e9230cSMauro Carvalho Chehab	# Firmware 15, type: STD FW    MTS (0x00000004), id: PAL/DK A2 (00000003000000e0), size: 169
1065d8e9230cSMauro Carvalho Chehab	#
1066d8e9230cSMauro Carvalho Chehab
1067d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1068d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
1069d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1070d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(866968, 169);
1071d8e9230cSMauro Carvalho Chehab
1072d8e9230cSMauro Carvalho Chehab	#
1073d8e9230cSMauro Carvalho Chehab	# Firmware 16, type: STD FW    (0x00000000), id: PAL/DK NICAM (0000000c000000e0), size: 161
1074d8e9230cSMauro Carvalho Chehab	#
1075d8e9230cSMauro Carvalho Chehab
1076d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1077d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x000000e0);	# ID
1078d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1079d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(867144, 161);
1080d8e9230cSMauro Carvalho Chehab
1081d8e9230cSMauro Carvalho Chehab	#
1082d8e9230cSMauro Carvalho Chehab	# Firmware 17, type: STD FW    MTS (0x00000004), id: PAL/DK NICAM (0000000c000000e0), size: 169
1083d8e9230cSMauro Carvalho Chehab	#
1084d8e9230cSMauro Carvalho Chehab
1085d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1086d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x000000e0);	# ID
1087d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1088d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(867312, 169);
1089d8e9230cSMauro Carvalho Chehab
1090d8e9230cSMauro Carvalho Chehab	#
1091d8e9230cSMauro Carvalho Chehab	# Firmware 18, type: STD FW    (0x00000000), id: SECAM/K1 (0000000000200000), size: 161
1092d8e9230cSMauro Carvalho Chehab	#
1093d8e9230cSMauro Carvalho Chehab
1094d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1095d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
1096d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1097d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(867488, 161);
1098d8e9230cSMauro Carvalho Chehab
1099d8e9230cSMauro Carvalho Chehab	#
1100d8e9230cSMauro Carvalho Chehab	# Firmware 19, type: STD FW    MTS (0x00000004), id: SECAM/K1 (0000000000200000), size: 169
1101d8e9230cSMauro Carvalho Chehab	#
1102d8e9230cSMauro Carvalho Chehab
1103d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1104d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
1105d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1106d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(867656, 169);
1107d8e9230cSMauro Carvalho Chehab
1108d8e9230cSMauro Carvalho Chehab	#
1109d8e9230cSMauro Carvalho Chehab	# Firmware 20, type: STD FW    (0x00000000), id: SECAM/K3 (0000000004000000), size: 161
1110d8e9230cSMauro Carvalho Chehab	#
1111d8e9230cSMauro Carvalho Chehab
1112d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1113d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x04000000);	# ID
1114d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1115d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(867832, 161);
1116d8e9230cSMauro Carvalho Chehab
1117d8e9230cSMauro Carvalho Chehab	#
1118d8e9230cSMauro Carvalho Chehab	# Firmware 21, type: STD FW    MTS (0x00000004), id: SECAM/K3 (0000000004000000), size: 169
1119d8e9230cSMauro Carvalho Chehab	#
1120d8e9230cSMauro Carvalho Chehab
1121d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1122d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x04000000);	# ID
1123d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1124d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868000, 169);
1125d8e9230cSMauro Carvalho Chehab
1126d8e9230cSMauro Carvalho Chehab	#
1127d8e9230cSMauro Carvalho Chehab	# Firmware 22, type: STD FW    D2633 DTV6 ATSC (0x00010030), id: (0000000000000000), size: 149
1128d8e9230cSMauro Carvalho Chehab	#
1129d8e9230cSMauro Carvalho Chehab
1130d8e9230cSMauro Carvalho Chehab	write_le32(0x00010030);			# Type
1131d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1132d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1133d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868176, 149);
1134d8e9230cSMauro Carvalho Chehab
1135d8e9230cSMauro Carvalho Chehab	#
1136d8e9230cSMauro Carvalho Chehab	# Firmware 23, type: STD FW    D2620 DTV6 QAM (0x00000068), id: (0000000000000000), size: 149
1137d8e9230cSMauro Carvalho Chehab	#
1138d8e9230cSMauro Carvalho Chehab
1139d8e9230cSMauro Carvalho Chehab	write_le32(0x00000068);			# Type
1140d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1141d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1142d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868336, 149);
1143d8e9230cSMauro Carvalho Chehab
1144d8e9230cSMauro Carvalho Chehab	#
1145d8e9230cSMauro Carvalho Chehab	# Firmware 24, type: STD FW    D2633 DTV6 QAM (0x00000070), id: (0000000000000000), size: 149
1146d8e9230cSMauro Carvalho Chehab	#
1147d8e9230cSMauro Carvalho Chehab
1148d8e9230cSMauro Carvalho Chehab	write_le32(0x00000070);			# Type
1149d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1150d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1151d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868488, 149);
1152d8e9230cSMauro Carvalho Chehab
1153d8e9230cSMauro Carvalho Chehab	#
1154d8e9230cSMauro Carvalho Chehab	# Firmware 25, type: STD FW    D2620 DTV7 (0x00000088), id: (0000000000000000), size: 149
1155d8e9230cSMauro Carvalho Chehab	#
1156d8e9230cSMauro Carvalho Chehab
1157d8e9230cSMauro Carvalho Chehab	write_le32(0x00000088);			# Type
1158d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1159d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1160d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868648, 149);
1161d8e9230cSMauro Carvalho Chehab
1162d8e9230cSMauro Carvalho Chehab	#
1163d8e9230cSMauro Carvalho Chehab	# Firmware 26, type: STD FW    D2633 DTV7 (0x00000090), id: (0000000000000000), size: 149
1164d8e9230cSMauro Carvalho Chehab	#
1165d8e9230cSMauro Carvalho Chehab
1166d8e9230cSMauro Carvalho Chehab	write_le32(0x00000090);			# Type
1167d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1168d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1169d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868800, 149);
1170d8e9230cSMauro Carvalho Chehab
1171d8e9230cSMauro Carvalho Chehab	#
1172d8e9230cSMauro Carvalho Chehab	# Firmware 27, type: STD FW    D2620 DTV78 (0x00000108), id: (0000000000000000), size: 149
1173d8e9230cSMauro Carvalho Chehab	#
1174d8e9230cSMauro Carvalho Chehab
1175d8e9230cSMauro Carvalho Chehab	write_le32(0x00000108);			# Type
1176d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1177d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1178d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868960, 149);
1179d8e9230cSMauro Carvalho Chehab
1180d8e9230cSMauro Carvalho Chehab	#
1181d8e9230cSMauro Carvalho Chehab	# Firmware 28, type: STD FW    D2633 DTV78 (0x00000110), id: (0000000000000000), size: 149
1182d8e9230cSMauro Carvalho Chehab	#
1183d8e9230cSMauro Carvalho Chehab
1184d8e9230cSMauro Carvalho Chehab	write_le32(0x00000110);			# Type
1185d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1186d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1187d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(869112, 149);
1188d8e9230cSMauro Carvalho Chehab
1189d8e9230cSMauro Carvalho Chehab	#
1190d8e9230cSMauro Carvalho Chehab	# Firmware 29, type: STD FW    D2620 DTV8 (0x00000208), id: (0000000000000000), size: 149
1191d8e9230cSMauro Carvalho Chehab	#
1192d8e9230cSMauro Carvalho Chehab
1193d8e9230cSMauro Carvalho Chehab	write_le32(0x00000208);			# Type
1194d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1195d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1196d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868648, 149);
1197d8e9230cSMauro Carvalho Chehab
1198d8e9230cSMauro Carvalho Chehab	#
1199d8e9230cSMauro Carvalho Chehab	# Firmware 30, type: STD FW    D2633 DTV8 (0x00000210), id: (0000000000000000), size: 149
1200d8e9230cSMauro Carvalho Chehab	#
1201d8e9230cSMauro Carvalho Chehab
1202d8e9230cSMauro Carvalho Chehab	write_le32(0x00000210);			# Type
1203d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1204d8e9230cSMauro Carvalho Chehab	write_le32(149);			# Size
1205d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(868800, 149);
1206d8e9230cSMauro Carvalho Chehab
1207d8e9230cSMauro Carvalho Chehab	#
1208d8e9230cSMauro Carvalho Chehab	# Firmware 31, type: STD FW    FM (0x00000400), id: (0000000000000000), size: 135
1209d8e9230cSMauro Carvalho Chehab	#
1210d8e9230cSMauro Carvalho Chehab
1211d8e9230cSMauro Carvalho Chehab	write_le32(0x00000400);			# Type
1212d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1213d8e9230cSMauro Carvalho Chehab	write_le32(135);			# Size
1214d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(869584, 135);
1215d8e9230cSMauro Carvalho Chehab
1216d8e9230cSMauro Carvalho Chehab	#
1217d8e9230cSMauro Carvalho Chehab	# Firmware 32, type: STD FW    (0x00000000), id: PAL/I (0000000000000010), size: 161
1218d8e9230cSMauro Carvalho Chehab	#
1219d8e9230cSMauro Carvalho Chehab
1220d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1221d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
1222d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1223d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(869728, 161);
1224d8e9230cSMauro Carvalho Chehab
1225d8e9230cSMauro Carvalho Chehab	#
1226d8e9230cSMauro Carvalho Chehab	# Firmware 33, type: STD FW    MTS (0x00000004), id: PAL/I (0000000000000010), size: 169
1227d8e9230cSMauro Carvalho Chehab	#
1228d8e9230cSMauro Carvalho Chehab
1229d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1230d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
1231d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1232d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(869896, 169);
1233d8e9230cSMauro Carvalho Chehab
1234d8e9230cSMauro Carvalho Chehab	#
1235d8e9230cSMauro Carvalho Chehab	# Firmware 34, type: STD FW    (0x00000000), id: SECAM/L AM (0000001000400000), size: 169
1236d8e9230cSMauro Carvalho Chehab	#
1237d8e9230cSMauro Carvalho Chehab
1238d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1239d8e9230cSMauro Carvalho Chehab	write_le64(0x00000010, 0x00400000);	# ID
1240d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1241d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870072, 169);
1242d8e9230cSMauro Carvalho Chehab
1243d8e9230cSMauro Carvalho Chehab	#
1244d8e9230cSMauro Carvalho Chehab	# Firmware 35, type: STD FW    (0x00000000), id: SECAM/L NICAM (0000000c00400000), size: 161
1245d8e9230cSMauro Carvalho Chehab	#
1246d8e9230cSMauro Carvalho Chehab
1247d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1248d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x00400000);	# ID
1249d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1250d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870248, 161);
1251d8e9230cSMauro Carvalho Chehab
1252d8e9230cSMauro Carvalho Chehab	#
1253d8e9230cSMauro Carvalho Chehab	# Firmware 36, type: STD FW    (0x00000000), id: SECAM/Lc (0000000000800000), size: 161
1254d8e9230cSMauro Carvalho Chehab	#
1255d8e9230cSMauro Carvalho Chehab
1256d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1257d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00800000);	# ID
1258d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1259d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870416, 161);
1260d8e9230cSMauro Carvalho Chehab
1261d8e9230cSMauro Carvalho Chehab	#
1262d8e9230cSMauro Carvalho Chehab	# Firmware 37, type: STD FW    (0x00000000), id: NTSC/M Kr (0000000000008000), size: 161
1263d8e9230cSMauro Carvalho Chehab	#
1264d8e9230cSMauro Carvalho Chehab
1265d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1266d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1267d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1268d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870584, 161);
1269d8e9230cSMauro Carvalho Chehab
1270d8e9230cSMauro Carvalho Chehab	#
1271d8e9230cSMauro Carvalho Chehab	# Firmware 38, type: STD FW    LCD (0x00001000), id: NTSC/M Kr (0000000000008000), size: 161
1272d8e9230cSMauro Carvalho Chehab	#
1273d8e9230cSMauro Carvalho Chehab
1274d8e9230cSMauro Carvalho Chehab	write_le32(0x00001000);			# Type
1275d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1276d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1277d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870752, 161);
1278d8e9230cSMauro Carvalho Chehab
1279d8e9230cSMauro Carvalho Chehab	#
1280d8e9230cSMauro Carvalho Chehab	# Firmware 39, type: STD FW    LCD NOGD (0x00003000), id: NTSC/M Kr (0000000000008000), size: 161
1281d8e9230cSMauro Carvalho Chehab	#
1282d8e9230cSMauro Carvalho Chehab
1283d8e9230cSMauro Carvalho Chehab	write_le32(0x00003000);			# Type
1284d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1285d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1286d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(870920, 161);
1287d8e9230cSMauro Carvalho Chehab
1288d8e9230cSMauro Carvalho Chehab	#
1289d8e9230cSMauro Carvalho Chehab	# Firmware 40, type: STD FW    MTS (0x00000004), id: NTSC/M Kr (0000000000008000), size: 169
1290d8e9230cSMauro Carvalho Chehab	#
1291d8e9230cSMauro Carvalho Chehab
1292d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1293d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1294d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1295d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871088, 169);
1296d8e9230cSMauro Carvalho Chehab
1297d8e9230cSMauro Carvalho Chehab	#
1298d8e9230cSMauro Carvalho Chehab	# Firmware 41, type: STD FW    (0x00000000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
1299d8e9230cSMauro Carvalho Chehab	#
1300d8e9230cSMauro Carvalho Chehab
1301d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1302d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1303d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1304d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871264, 161);
1305d8e9230cSMauro Carvalho Chehab
1306d8e9230cSMauro Carvalho Chehab	#
1307d8e9230cSMauro Carvalho Chehab	# Firmware 42, type: STD FW    LCD (0x00001000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
1308d8e9230cSMauro Carvalho Chehab	#
1309d8e9230cSMauro Carvalho Chehab
1310d8e9230cSMauro Carvalho Chehab	write_le32(0x00001000);			# Type
1311d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1312d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1313d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871432, 161);
1314d8e9230cSMauro Carvalho Chehab
1315d8e9230cSMauro Carvalho Chehab	#
1316d8e9230cSMauro Carvalho Chehab	# Firmware 43, type: STD FW    LCD NOGD (0x00003000), id: NTSC PAL/M PAL/N (000000000000b700), size: 161
1317d8e9230cSMauro Carvalho Chehab	#
1318d8e9230cSMauro Carvalho Chehab
1319d8e9230cSMauro Carvalho Chehab	write_le32(0x00003000);			# Type
1320d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1321d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1322d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871600, 161);
1323d8e9230cSMauro Carvalho Chehab
1324d8e9230cSMauro Carvalho Chehab	#
1325d8e9230cSMauro Carvalho Chehab	# Firmware 44, type: STD FW    (0x00000000), id: NTSC/M Jp (0000000000002000), size: 161
1326d8e9230cSMauro Carvalho Chehab	#
1327d8e9230cSMauro Carvalho Chehab
1328d8e9230cSMauro Carvalho Chehab	write_le32(0x00000000);			# Type
1329d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00002000);	# ID
1330d8e9230cSMauro Carvalho Chehab	write_le32(161);			# Size
1331d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871264, 161);
1332d8e9230cSMauro Carvalho Chehab
1333d8e9230cSMauro Carvalho Chehab	#
1334d8e9230cSMauro Carvalho Chehab	# Firmware 45, type: STD FW    MTS (0x00000004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
1335d8e9230cSMauro Carvalho Chehab	#
1336d8e9230cSMauro Carvalho Chehab
1337d8e9230cSMauro Carvalho Chehab	write_le32(0x00000004);			# Type
1338d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1339d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1340d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(871936, 169);
1341d8e9230cSMauro Carvalho Chehab
1342d8e9230cSMauro Carvalho Chehab	#
1343d8e9230cSMauro Carvalho Chehab	# Firmware 46, type: STD FW    MTS LCD (0x00001004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
1344d8e9230cSMauro Carvalho Chehab	#
1345d8e9230cSMauro Carvalho Chehab
1346d8e9230cSMauro Carvalho Chehab	write_le32(0x00001004);			# Type
1347d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1348d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1349d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(872112, 169);
1350d8e9230cSMauro Carvalho Chehab
1351d8e9230cSMauro Carvalho Chehab	#
1352d8e9230cSMauro Carvalho Chehab	# Firmware 47, type: STD FW    MTS LCD NOGD (0x00003004), id: NTSC PAL/M PAL/N (000000000000b700), size: 169
1353d8e9230cSMauro Carvalho Chehab	#
1354d8e9230cSMauro Carvalho Chehab
1355d8e9230cSMauro Carvalho Chehab	write_le32(0x00003004);			# Type
1356d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1357d8e9230cSMauro Carvalho Chehab	write_le32(169);			# Size
1358d8e9230cSMauro Carvalho Chehab	write_hunk_fix_endian(872288, 169);
1359d8e9230cSMauro Carvalho Chehab
1360d8e9230cSMauro Carvalho Chehab	#
1361d8e9230cSMauro Carvalho Chehab	# Firmware 48, type: SCODE FW  HAS IF (0x60000000), IF = 3.28 MHz id: (0000000000000000), size: 192
1362d8e9230cSMauro Carvalho Chehab	#
1363d8e9230cSMauro Carvalho Chehab
1364d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1365d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1366d8e9230cSMauro Carvalho Chehab	write_le16(3280);			# IF
1367d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1368d8e9230cSMauro Carvalho Chehab	write_hunk(811896, 192);
1369d8e9230cSMauro Carvalho Chehab
1370d8e9230cSMauro Carvalho Chehab	#
1371d8e9230cSMauro Carvalho Chehab	# Firmware 49, type: SCODE FW  HAS IF (0x60000000), IF = 3.30 MHz id: (0000000000000000), size: 192
1372d8e9230cSMauro Carvalho Chehab	#
1373d8e9230cSMauro Carvalho Chehab
1374d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1375d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1376d8e9230cSMauro Carvalho Chehab	write_le16(3300);			# IF
1377d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1378d8e9230cSMauro Carvalho Chehab	write_hunk(813048, 192);
1379d8e9230cSMauro Carvalho Chehab
1380d8e9230cSMauro Carvalho Chehab	#
1381d8e9230cSMauro Carvalho Chehab	# Firmware 50, type: SCODE FW  HAS IF (0x60000000), IF = 3.44 MHz id: (0000000000000000), size: 192
1382d8e9230cSMauro Carvalho Chehab	#
1383d8e9230cSMauro Carvalho Chehab
1384d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1385d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1386d8e9230cSMauro Carvalho Chehab	write_le16(3440);			# IF
1387d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1388d8e9230cSMauro Carvalho Chehab	write_hunk(812280, 192);
1389d8e9230cSMauro Carvalho Chehab
1390d8e9230cSMauro Carvalho Chehab	#
1391d8e9230cSMauro Carvalho Chehab	# Firmware 51, type: SCODE FW  HAS IF (0x60000000), IF = 3.46 MHz id: (0000000000000000), size: 192
1392d8e9230cSMauro Carvalho Chehab	#
1393d8e9230cSMauro Carvalho Chehab
1394d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1395d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1396d8e9230cSMauro Carvalho Chehab	write_le16(3460);			# IF
1397d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1398d8e9230cSMauro Carvalho Chehab	write_hunk(812472, 192);
1399d8e9230cSMauro Carvalho Chehab
1400d8e9230cSMauro Carvalho Chehab	#
1401d8e9230cSMauro Carvalho Chehab	# Firmware 52, type: SCODE FW  DTV6 ATSC OREN36 HAS IF (0x60210020), IF = 3.80 MHz id: (0000000000000000), size: 192
1402d8e9230cSMauro Carvalho Chehab	#
1403d8e9230cSMauro Carvalho Chehab
1404d8e9230cSMauro Carvalho Chehab	write_le32(0x60210020);			# Type
1405d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1406d8e9230cSMauro Carvalho Chehab	write_le16(3800);			# IF
1407d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1408d8e9230cSMauro Carvalho Chehab	write_hunk(809784, 192);
1409d8e9230cSMauro Carvalho Chehab
1410d8e9230cSMauro Carvalho Chehab	#
1411d8e9230cSMauro Carvalho Chehab	# Firmware 53, type: SCODE FW  HAS IF (0x60000000), IF = 4.00 MHz id: (0000000000000000), size: 192
1412d8e9230cSMauro Carvalho Chehab	#
1413d8e9230cSMauro Carvalho Chehab
1414d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1415d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1416d8e9230cSMauro Carvalho Chehab	write_le16(4000);			# IF
1417d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1418d8e9230cSMauro Carvalho Chehab	write_hunk(812088, 192);
1419d8e9230cSMauro Carvalho Chehab
1420d8e9230cSMauro Carvalho Chehab	#
1421d8e9230cSMauro Carvalho Chehab	# Firmware 54, type: SCODE FW  DTV6 ATSC TOYOTA388 HAS IF (0x60410020), IF = 4.08 MHz id: (0000000000000000), size: 192
1422d8e9230cSMauro Carvalho Chehab	#
1423d8e9230cSMauro Carvalho Chehab
1424d8e9230cSMauro Carvalho Chehab	write_le32(0x60410020);			# Type
1425d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1426d8e9230cSMauro Carvalho Chehab	write_le16(4080);			# IF
1427d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1428d8e9230cSMauro Carvalho Chehab	write_hunk(809976, 192);
1429d8e9230cSMauro Carvalho Chehab
1430d8e9230cSMauro Carvalho Chehab	#
1431d8e9230cSMauro Carvalho Chehab	# Firmware 55, type: SCODE FW  HAS IF (0x60000000), IF = 4.20 MHz id: (0000000000000000), size: 192
1432d8e9230cSMauro Carvalho Chehab	#
1433d8e9230cSMauro Carvalho Chehab
1434d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1435d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1436d8e9230cSMauro Carvalho Chehab	write_le16(4200);			# IF
1437d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1438d8e9230cSMauro Carvalho Chehab	write_hunk(811704, 192);
1439d8e9230cSMauro Carvalho Chehab
1440d8e9230cSMauro Carvalho Chehab	#
1441d8e9230cSMauro Carvalho Chehab	# Firmware 56, type: SCODE FW  MONO HAS IF (0x60008000), IF = 4.32 MHz id: NTSC/M Kr (0000000000008000), size: 192
1442d8e9230cSMauro Carvalho Chehab	#
1443d8e9230cSMauro Carvalho Chehab
1444d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1445d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1446d8e9230cSMauro Carvalho Chehab	write_le16(4320);			# IF
1447d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1448d8e9230cSMauro Carvalho Chehab	write_hunk(808056, 192);
1449d8e9230cSMauro Carvalho Chehab
1450d8e9230cSMauro Carvalho Chehab	#
1451d8e9230cSMauro Carvalho Chehab	# Firmware 57, type: SCODE FW  HAS IF (0x60000000), IF = 4.45 MHz id: (0000000000000000), size: 192
1452d8e9230cSMauro Carvalho Chehab	#
1453d8e9230cSMauro Carvalho Chehab
1454d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1455d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1456d8e9230cSMauro Carvalho Chehab	write_le16(4450);			# IF
1457d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1458d8e9230cSMauro Carvalho Chehab	write_hunk(812664, 192);
1459d8e9230cSMauro Carvalho Chehab
1460d8e9230cSMauro Carvalho Chehab	#
1461d8e9230cSMauro Carvalho Chehab	# Firmware 58, type: SCODE FW  MTS LCD NOGD MONO IF HAS IF (0x6002b004), IF = 4.50 MHz id: NTSC PAL/M PAL/N (000000000000b700), size: 192
1462d8e9230cSMauro Carvalho Chehab	#
1463d8e9230cSMauro Carvalho Chehab
1464d8e9230cSMauro Carvalho Chehab	write_le32(0x6002b004);			# Type
1465d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x0000b700);	# ID
1466d8e9230cSMauro Carvalho Chehab	write_le16(4500);			# IF
1467d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1468d8e9230cSMauro Carvalho Chehab	write_hunk(807672, 192);
1469d8e9230cSMauro Carvalho Chehab
1470d8e9230cSMauro Carvalho Chehab	#
1471d8e9230cSMauro Carvalho Chehab	# Firmware 59, type: SCODE FW  LCD NOGD IF HAS IF (0x60023000), IF = 4.60 MHz id: NTSC/M Kr (0000000000008000), size: 192
1472d8e9230cSMauro Carvalho Chehab	#
1473d8e9230cSMauro Carvalho Chehab
1474d8e9230cSMauro Carvalho Chehab	write_le32(0x60023000);			# Type
1475d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00008000);	# ID
1476d8e9230cSMauro Carvalho Chehab	write_le16(4600);			# IF
1477d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1478d8e9230cSMauro Carvalho Chehab	write_hunk(807864, 192);
1479d8e9230cSMauro Carvalho Chehab
1480d8e9230cSMauro Carvalho Chehab	#
1481d8e9230cSMauro Carvalho Chehab	# Firmware 60, type: SCODE FW  DTV6 QAM DTV7 DTV78 DTV8 ZARLINK456 HAS IF (0x620003e0), IF = 4.76 MHz id: (0000000000000000), size: 192
1482d8e9230cSMauro Carvalho Chehab	#
1483d8e9230cSMauro Carvalho Chehab
1484d8e9230cSMauro Carvalho Chehab	write_le32(0x620003e0);			# Type
1485d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1486d8e9230cSMauro Carvalho Chehab	write_le16(4760);			# IF
1487d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1488d8e9230cSMauro Carvalho Chehab	write_hunk(807288, 192);
1489d8e9230cSMauro Carvalho Chehab
1490d8e9230cSMauro Carvalho Chehab	#
1491d8e9230cSMauro Carvalho Chehab	# Firmware 61, type: SCODE FW  HAS IF (0x60000000), IF = 4.94 MHz id: (0000000000000000), size: 192
1492d8e9230cSMauro Carvalho Chehab	#
1493d8e9230cSMauro Carvalho Chehab
1494d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1495d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1496d8e9230cSMauro Carvalho Chehab	write_le16(4940);			# IF
1497d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1498d8e9230cSMauro Carvalho Chehab	write_hunk(811512, 192);
1499d8e9230cSMauro Carvalho Chehab
1500d8e9230cSMauro Carvalho Chehab	#
1501d8e9230cSMauro Carvalho Chehab	# Firmware 62, type: SCODE FW  HAS IF (0x60000000), IF = 5.26 MHz id: (0000000000000000), size: 192
1502d8e9230cSMauro Carvalho Chehab	#
1503d8e9230cSMauro Carvalho Chehab
1504d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1505d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1506d8e9230cSMauro Carvalho Chehab	write_le16(5260);			# IF
1507d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1508d8e9230cSMauro Carvalho Chehab	write_hunk(810552, 192);
1509d8e9230cSMauro Carvalho Chehab
1510d8e9230cSMauro Carvalho Chehab	#
1511d8e9230cSMauro Carvalho Chehab	# Firmware 63, type: SCODE FW  MONO HAS IF (0x60008000), IF = 5.32 MHz id: PAL/BG A2 NICAM (0000000f00000007), size: 192
1512d8e9230cSMauro Carvalho Chehab	#
1513d8e9230cSMauro Carvalho Chehab
1514d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1515d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000f, 0x00000007);	# ID
1516d8e9230cSMauro Carvalho Chehab	write_le16(5320);			# IF
1517d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1518d8e9230cSMauro Carvalho Chehab	write_hunk(810744, 192);
1519d8e9230cSMauro Carvalho Chehab
1520d8e9230cSMauro Carvalho Chehab	#
1521d8e9230cSMauro Carvalho Chehab	# Firmware 64, type: SCODE FW  DTV7 DTV78 DTV8 DIBCOM52 CHINA HAS IF (0x65000380), IF = 5.40 MHz id: (0000000000000000), size: 192
1522d8e9230cSMauro Carvalho Chehab	#
1523d8e9230cSMauro Carvalho Chehab
1524d8e9230cSMauro Carvalho Chehab	write_le32(0x65000380);			# Type
1525d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1526d8e9230cSMauro Carvalho Chehab	write_le16(5400);			# IF
1527d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1528d8e9230cSMauro Carvalho Chehab	write_hunk(807096, 192);
1529d8e9230cSMauro Carvalho Chehab
1530d8e9230cSMauro Carvalho Chehab	#
1531d8e9230cSMauro Carvalho Chehab	# Firmware 65, type: SCODE FW  DTV6 ATSC OREN538 HAS IF (0x60110020), IF = 5.58 MHz id: (0000000000000000), size: 192
1532d8e9230cSMauro Carvalho Chehab	#
1533d8e9230cSMauro Carvalho Chehab
1534d8e9230cSMauro Carvalho Chehab	write_le32(0x60110020);			# Type
1535d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1536d8e9230cSMauro Carvalho Chehab	write_le16(5580);			# IF
1537d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1538d8e9230cSMauro Carvalho Chehab	write_hunk(809592, 192);
1539d8e9230cSMauro Carvalho Chehab
1540d8e9230cSMauro Carvalho Chehab	#
1541d8e9230cSMauro Carvalho Chehab	# Firmware 66, type: SCODE FW  HAS IF (0x60000000), IF = 5.64 MHz id: PAL/BG A2 (0000000300000007), size: 192
1542d8e9230cSMauro Carvalho Chehab	#
1543d8e9230cSMauro Carvalho Chehab
1544d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1545d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x00000007);	# ID
1546d8e9230cSMauro Carvalho Chehab	write_le16(5640);			# IF
1547d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1548d8e9230cSMauro Carvalho Chehab	write_hunk(808440, 192);
1549d8e9230cSMauro Carvalho Chehab
1550d8e9230cSMauro Carvalho Chehab	#
1551d8e9230cSMauro Carvalho Chehab	# Firmware 67, type: SCODE FW  HAS IF (0x60000000), IF = 5.74 MHz id: PAL/BG NICAM (0000000c00000007), size: 192
1552d8e9230cSMauro Carvalho Chehab	#
1553d8e9230cSMauro Carvalho Chehab
1554d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1555d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x00000007);	# ID
1556d8e9230cSMauro Carvalho Chehab	write_le16(5740);			# IF
1557d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1558d8e9230cSMauro Carvalho Chehab	write_hunk(808632, 192);
1559d8e9230cSMauro Carvalho Chehab
1560d8e9230cSMauro Carvalho Chehab	#
1561d8e9230cSMauro Carvalho Chehab	# Firmware 68, type: SCODE FW  HAS IF (0x60000000), IF = 5.90 MHz id: (0000000000000000), size: 192
1562d8e9230cSMauro Carvalho Chehab	#
1563d8e9230cSMauro Carvalho Chehab
1564d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1565d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1566d8e9230cSMauro Carvalho Chehab	write_le16(5900);			# IF
1567d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1568d8e9230cSMauro Carvalho Chehab	write_hunk(810360, 192);
1569d8e9230cSMauro Carvalho Chehab
1570d8e9230cSMauro Carvalho Chehab	#
1571d8e9230cSMauro Carvalho Chehab	# Firmware 69, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.00 MHz id: PAL/DK PAL/I SECAM/K3 SECAM/L SECAM/Lc NICAM (0000000c04c000f0), size: 192
1572d8e9230cSMauro Carvalho Chehab	#
1573d8e9230cSMauro Carvalho Chehab
1574d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1575d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x04c000f0);	# ID
1576d8e9230cSMauro Carvalho Chehab	write_le16(6000);			# IF
1577d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1578d8e9230cSMauro Carvalho Chehab	write_hunk(808824, 192);
1579d8e9230cSMauro Carvalho Chehab
1580d8e9230cSMauro Carvalho Chehab	#
1581d8e9230cSMauro Carvalho Chehab	# Firmware 70, type: SCODE FW  DTV6 QAM ATSC LG60 F6MHZ HAS IF (0x68050060), IF = 6.20 MHz id: (0000000000000000), size: 192
1582d8e9230cSMauro Carvalho Chehab	#
1583d8e9230cSMauro Carvalho Chehab
1584d8e9230cSMauro Carvalho Chehab	write_le32(0x68050060);			# Type
1585d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1586d8e9230cSMauro Carvalho Chehab	write_le16(6200);			# IF
1587d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1588d8e9230cSMauro Carvalho Chehab	write_hunk(809400, 192);
1589d8e9230cSMauro Carvalho Chehab
1590d8e9230cSMauro Carvalho Chehab	#
1591d8e9230cSMauro Carvalho Chehab	# Firmware 71, type: SCODE FW  HAS IF (0x60000000), IF = 6.24 MHz id: PAL/I (0000000000000010), size: 192
1592d8e9230cSMauro Carvalho Chehab	#
1593d8e9230cSMauro Carvalho Chehab
1594d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1595d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000010);	# ID
1596d8e9230cSMauro Carvalho Chehab	write_le16(6240);			# IF
1597d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1598d8e9230cSMauro Carvalho Chehab	write_hunk(808248, 192);
1599d8e9230cSMauro Carvalho Chehab
1600d8e9230cSMauro Carvalho Chehab	#
1601d8e9230cSMauro Carvalho Chehab	# Firmware 72, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.32 MHz id: SECAM/K1 (0000000000200000), size: 192
1602d8e9230cSMauro Carvalho Chehab	#
1603d8e9230cSMauro Carvalho Chehab
1604d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1605d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
1606d8e9230cSMauro Carvalho Chehab	write_le16(6320);			# IF
1607d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1608d8e9230cSMauro Carvalho Chehab	write_hunk(811320, 192);
1609d8e9230cSMauro Carvalho Chehab
1610d8e9230cSMauro Carvalho Chehab	#
1611d8e9230cSMauro Carvalho Chehab	# Firmware 73, type: SCODE FW  HAS IF (0x60000000), IF = 6.34 MHz id: SECAM/K1 (0000000000200000), size: 192
1612d8e9230cSMauro Carvalho Chehab	#
1613d8e9230cSMauro Carvalho Chehab
1614d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1615d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00200000);	# ID
1616d8e9230cSMauro Carvalho Chehab	write_le16(6340);			# IF
1617d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1618d8e9230cSMauro Carvalho Chehab	write_hunk(809208, 192);
1619d8e9230cSMauro Carvalho Chehab
1620d8e9230cSMauro Carvalho Chehab	#
1621d8e9230cSMauro Carvalho Chehab	# Firmware 74, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.50 MHz id: PAL/DK SECAM/K3 SECAM/L NICAM (0000000c044000e0), size: 192
1622d8e9230cSMauro Carvalho Chehab	#
1623d8e9230cSMauro Carvalho Chehab
1624d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1625d8e9230cSMauro Carvalho Chehab	write_le64(0x0000000c, 0x044000e0);	# ID
1626d8e9230cSMauro Carvalho Chehab	write_le16(6500);			# IF
1627d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1628d8e9230cSMauro Carvalho Chehab	write_hunk(811128, 192);
1629d8e9230cSMauro Carvalho Chehab
1630d8e9230cSMauro Carvalho Chehab	#
1631d8e9230cSMauro Carvalho Chehab	# Firmware 75, type: SCODE FW  DTV6 ATSC ATI638 HAS IF (0x60090020), IF = 6.58 MHz id: (0000000000000000), size: 192
1632d8e9230cSMauro Carvalho Chehab	#
1633d8e9230cSMauro Carvalho Chehab
1634d8e9230cSMauro Carvalho Chehab	write_le32(0x60090020);			# Type
1635d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1636d8e9230cSMauro Carvalho Chehab	write_le16(6580);			# IF
1637d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1638d8e9230cSMauro Carvalho Chehab	write_hunk(807480, 192);
1639d8e9230cSMauro Carvalho Chehab
1640d8e9230cSMauro Carvalho Chehab	#
1641d8e9230cSMauro Carvalho Chehab	# Firmware 76, type: SCODE FW  HAS IF (0x60000000), IF = 6.60 MHz id: PAL/DK A2 (00000003000000e0), size: 192
1642d8e9230cSMauro Carvalho Chehab	#
1643d8e9230cSMauro Carvalho Chehab
1644d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1645d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
1646d8e9230cSMauro Carvalho Chehab	write_le16(6600);			# IF
1647d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1648d8e9230cSMauro Carvalho Chehab	write_hunk(809016, 192);
1649d8e9230cSMauro Carvalho Chehab
1650d8e9230cSMauro Carvalho Chehab	#
1651d8e9230cSMauro Carvalho Chehab	# Firmware 77, type: SCODE FW  MONO HAS IF (0x60008000), IF = 6.68 MHz id: PAL/DK A2 (00000003000000e0), size: 192
1652d8e9230cSMauro Carvalho Chehab	#
1653d8e9230cSMauro Carvalho Chehab
1654d8e9230cSMauro Carvalho Chehab	write_le32(0x60008000);			# Type
1655d8e9230cSMauro Carvalho Chehab	write_le64(0x00000003, 0x000000e0);	# ID
1656d8e9230cSMauro Carvalho Chehab	write_le16(6680);			# IF
1657d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1658d8e9230cSMauro Carvalho Chehab	write_hunk(810936, 192);
1659d8e9230cSMauro Carvalho Chehab
1660d8e9230cSMauro Carvalho Chehab	#
1661d8e9230cSMauro Carvalho Chehab	# Firmware 78, type: SCODE FW  DTV6 ATSC TOYOTA794 HAS IF (0x60810020), IF = 8.14 MHz id: (0000000000000000), size: 192
1662d8e9230cSMauro Carvalho Chehab	#
1663d8e9230cSMauro Carvalho Chehab
1664d8e9230cSMauro Carvalho Chehab	write_le32(0x60810020);			# Type
1665d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1666d8e9230cSMauro Carvalho Chehab	write_le16(8140);			# IF
1667d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1668d8e9230cSMauro Carvalho Chehab	write_hunk(810168, 192);
1669d8e9230cSMauro Carvalho Chehab
1670d8e9230cSMauro Carvalho Chehab	#
1671d8e9230cSMauro Carvalho Chehab	# Firmware 79, type: SCODE FW  HAS IF (0x60000000), IF = 8.20 MHz id: (0000000000000000), size: 192
1672d8e9230cSMauro Carvalho Chehab	#
1673d8e9230cSMauro Carvalho Chehab
1674d8e9230cSMauro Carvalho Chehab	write_le32(0x60000000);			# Type
1675d8e9230cSMauro Carvalho Chehab	write_le64(0x00000000, 0x00000000);	# ID
1676d8e9230cSMauro Carvalho Chehab	write_le16(8200);			# IF
1677d8e9230cSMauro Carvalho Chehab	write_le32(192);			# Size
1678d8e9230cSMauro Carvalho Chehab	write_hunk(812856, 192);
1679d8e9230cSMauro Carvalho Chehab}
1680d8e9230cSMauro Carvalho Chehab
1681d8e9230cSMauro Carvalho Chehab
1682d8e9230cSMauro Carvalho Chehabsub extract_firmware {
1683d8e9230cSMauro Carvalho Chehab	my $sourcefile_24 = "UDXTTM6000.sys";
1684d8e9230cSMauro Carvalho Chehab	my $hash_24 = "cb9deb5508a5e150af2880f5b0066d78";
1685d8e9230cSMauro Carvalho Chehab	my $outfile_24 = "xc3028-v24.fw";
1686d8e9230cSMauro Carvalho Chehab	my $name_24 = "xc2028 firmware";
1687d8e9230cSMauro Carvalho Chehab	my $version_24 = 516;
1688d8e9230cSMauro Carvalho Chehab	my $nr_desc_24 = 77;
1689d8e9230cSMauro Carvalho Chehab	my $out;
1690d8e9230cSMauro Carvalho Chehab
1691d8e9230cSMauro Carvalho Chehab	my $sourcefile_27 = "hcw85bda.sys";
1692d8e9230cSMauro Carvalho Chehab	my $hash_27 = "0e44dbf63bb0169d57446aec21881ff2";
1693d8e9230cSMauro Carvalho Chehab	my $outfile_27 = "xc3028-v27.fw";
1694d8e9230cSMauro Carvalho Chehab	my $name_27 = "xc2028 firmware";
1695d8e9230cSMauro Carvalho Chehab	my $version_27 = 519;
1696d8e9230cSMauro Carvalho Chehab	my $nr_desc_27 = 80;
1697d8e9230cSMauro Carvalho Chehab	my $out;
1698d8e9230cSMauro Carvalho Chehab
1699d8e9230cSMauro Carvalho Chehab	if (-e $sourcefile_24) {
1700d8e9230cSMauro Carvalho Chehab		verify($sourcefile_24, $hash_24);
1701d8e9230cSMauro Carvalho Chehab
1702d8e9230cSMauro Carvalho Chehab		open INFILE, "<$sourcefile_24";
1703d8e9230cSMauro Carvalho Chehab		main_firmware_24($outfile_24, $name_24, $version_24, $nr_desc_24);
1704d8e9230cSMauro Carvalho Chehab		close INFILE;
1705d8e9230cSMauro Carvalho Chehab	}
1706d8e9230cSMauro Carvalho Chehab
1707d8e9230cSMauro Carvalho Chehab	if (-e $sourcefile_27) {
1708d8e9230cSMauro Carvalho Chehab		verify($sourcefile_27, $hash_27);
1709d8e9230cSMauro Carvalho Chehab
1710d8e9230cSMauro Carvalho Chehab		open INFILE, "<$sourcefile_27";
1711d8e9230cSMauro Carvalho Chehab		main_firmware_27($outfile_27, $name_27, $version_27, $nr_desc_27);
1712d8e9230cSMauro Carvalho Chehab		close INFILE;
1713d8e9230cSMauro Carvalho Chehab	}
1714d8e9230cSMauro Carvalho Chehab}
1715d8e9230cSMauro Carvalho Chehab
1716d8e9230cSMauro Carvalho Chehabextract_firmware;
1717d8e9230cSMauro Carvalho Chehabprintf "Firmwares generated.\n";
1718