Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/media/dvb/frontends/af9013_priv.h
15112 views
1
/*
2
* Afatech AF9013 demodulator driver
3
*
4
* Copyright (C) 2007 Antti Palosaari <[email protected]>
5
*
6
* Thanks to Afatech who kindly provided information.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
*
22
*/
23
24
#ifndef _AF9013_PRIV_
25
#define _AF9013_PRIV_
26
27
#define LOG_PREFIX "af9013"
28
extern int af9013_debug;
29
30
#define dprintk(var, level, args...) \
31
do { if ((var & level)) printk(args); } while (0)
32
33
#define debug_dump(b, l, func) {\
34
int loop_; \
35
for (loop_ = 0; loop_ < l; loop_++) \
36
func("%02x ", b[loop_]); \
37
func("\n");\
38
}
39
40
#define deb_info(args...) dprintk(af9013_debug, 0x01, args)
41
42
#undef err
43
#define err(f, arg...) printk(KERN_ERR LOG_PREFIX": " f "\n" , ## arg)
44
#undef info
45
#define info(f, arg...) printk(KERN_INFO LOG_PREFIX": " f "\n" , ## arg)
46
#undef warn
47
#define warn(f, arg...) printk(KERN_WARNING LOG_PREFIX": " f "\n" , ## arg)
48
49
#define AF9013_DEFAULT_FIRMWARE "dvb-fe-af9013.fw"
50
51
struct regdesc {
52
u16 addr;
53
u8 pos:4;
54
u8 len:4;
55
u8 val;
56
};
57
58
struct snr_table {
59
u32 val;
60
u8 snr;
61
};
62
63
struct coeff {
64
u32 adc_clock;
65
fe_bandwidth_t bw;
66
u8 val[24];
67
};
68
69
/* pre-calculated coeff lookup table */
70
static struct coeff coeff_table[] = {
71
/* 28.800 MHz */
72
{ 28800, BANDWIDTH_8_MHZ, { 0x02, 0x8a, 0x28, 0xa3, 0x05, 0x14,
73
0x51, 0x11, 0x00, 0xa2, 0x8f, 0x3d, 0x00, 0xa2, 0x8a,
74
0x29, 0x00, 0xa2, 0x85, 0x14, 0x01, 0x45, 0x14, 0x14 } },
75
{ 28800, BANDWIDTH_7_MHZ, { 0x02, 0x38, 0xe3, 0x8e, 0x04, 0x71,
76
0xc7, 0x07, 0x00, 0x8e, 0x3d, 0x55, 0x00, 0x8e, 0x38,
77
0xe4, 0x00, 0x8e, 0x34, 0x72, 0x01, 0x1c, 0x71, 0x32 } },
78
{ 28800, BANDWIDTH_6_MHZ, { 0x01, 0xe7, 0x9e, 0x7a, 0x03, 0xcf,
79
0x3c, 0x3d, 0x00, 0x79, 0xeb, 0x6e, 0x00, 0x79, 0xe7,
80
0x9e, 0x00, 0x79, 0xe3, 0xcf, 0x00, 0xf3, 0xcf, 0x0f } },
81
/* 20.480 MHz */
82
{ 20480, BANDWIDTH_8_MHZ, { 0x03, 0x92, 0x49, 0x26, 0x07, 0x24,
83
0x92, 0x13, 0x00, 0xe4, 0x99, 0x6e, 0x00, 0xe4, 0x92,
84
0x49, 0x00, 0xe4, 0x8b, 0x25, 0x01, 0xc9, 0x24, 0x25 } },
85
{ 20480, BANDWIDTH_7_MHZ, { 0x03, 0x20, 0x00, 0x01, 0x06, 0x40,
86
0x00, 0x00, 0x00, 0xc8, 0x06, 0x40, 0x00, 0xc8, 0x00,
87
0x00, 0x00, 0xc7, 0xf9, 0xc0, 0x01, 0x90, 0x00, 0x00 } },
88
{ 20480, BANDWIDTH_6_MHZ, { 0x02, 0xad, 0xb6, 0xdc, 0x05, 0x5b,
89
0x6d, 0x2e, 0x00, 0xab, 0x73, 0x13, 0x00, 0xab, 0x6d,
90
0xb7, 0x00, 0xab, 0x68, 0x5c, 0x01, 0x56, 0xdb, 0x1c } },
91
/* 28.000 MHz */
92
{ 28000, BANDWIDTH_8_MHZ, { 0x02, 0x9c, 0xbc, 0x15, 0x05, 0x39,
93
0x78, 0x0a, 0x00, 0xa7, 0x34, 0x3f, 0x00, 0xa7, 0x2f,
94
0x05, 0x00, 0xa7, 0x29, 0xcc, 0x01, 0x4e, 0x5e, 0x03 } },
95
{ 28000, BANDWIDTH_7_MHZ, { 0x02, 0x49, 0x24, 0x92, 0x04, 0x92,
96
0x49, 0x09, 0x00, 0x92, 0x4d, 0xb7, 0x00, 0x92, 0x49,
97
0x25, 0x00, 0x92, 0x44, 0x92, 0x01, 0x24, 0x92, 0x12 } },
98
{ 28000, BANDWIDTH_6_MHZ, { 0x01, 0xf5, 0x8d, 0x10, 0x03, 0xeb,
99
0x1a, 0x08, 0x00, 0x7d, 0x67, 0x2f, 0x00, 0x7d, 0x63,
100
0x44, 0x00, 0x7d, 0x5f, 0x59, 0x00, 0xfa, 0xc6, 0x22 } },
101
/* 25.000 MHz */
102
{ 25000, BANDWIDTH_8_MHZ, { 0x02, 0xec, 0xfb, 0x9d, 0x05, 0xd9,
103
0xf7, 0x0e, 0x00, 0xbb, 0x44, 0xc1, 0x00, 0xbb, 0x3e,
104
0xe7, 0x00, 0xbb, 0x39, 0x0d, 0x01, 0x76, 0x7d, 0x34 } },
105
{ 25000, BANDWIDTH_7_MHZ, { 0x02, 0x8f, 0x5c, 0x29, 0x05, 0x1e,
106
0xb8, 0x14, 0x00, 0xa3, 0xdc, 0x29, 0x00, 0xa3, 0xd7,
107
0x0a, 0x00, 0xa3, 0xd1, 0xec, 0x01, 0x47, 0xae, 0x05 } },
108
{ 25000, BANDWIDTH_6_MHZ, { 0x02, 0x31, 0xbc, 0xb5, 0x04, 0x63,
109
0x79, 0x1b, 0x00, 0x8c, 0x73, 0x91, 0x00, 0x8c, 0x6f,
110
0x2d, 0x00, 0x8c, 0x6a, 0xca, 0x01, 0x18, 0xde, 0x17 } },
111
};
112
113
/* QPSK SNR lookup table */
114
static struct snr_table qpsk_snr_table[] = {
115
{ 0x0b4771, 0 },
116
{ 0x0c1aed, 1 },
117
{ 0x0d0d27, 2 },
118
{ 0x0e4d19, 3 },
119
{ 0x0e5da8, 4 },
120
{ 0x107097, 5 },
121
{ 0x116975, 6 },
122
{ 0x1252d9, 7 },
123
{ 0x131fa4, 8 },
124
{ 0x13d5e1, 9 },
125
{ 0x148e53, 10 },
126
{ 0x15358b, 11 },
127
{ 0x15dd29, 12 },
128
{ 0x168112, 13 },
129
{ 0x170b61, 14 },
130
{ 0xffffff, 15 },
131
};
132
133
/* QAM16 SNR lookup table */
134
static struct snr_table qam16_snr_table[] = {
135
{ 0x05eb62, 5 },
136
{ 0x05fecf, 6 },
137
{ 0x060b80, 7 },
138
{ 0x062501, 8 },
139
{ 0x064865, 9 },
140
{ 0x069604, 10 },
141
{ 0x06f356, 11 },
142
{ 0x07706a, 12 },
143
{ 0x0804d3, 13 },
144
{ 0x089d1a, 14 },
145
{ 0x093e3d, 15 },
146
{ 0x09e35d, 16 },
147
{ 0x0a7c3c, 17 },
148
{ 0x0afaf8, 18 },
149
{ 0x0b719d, 19 },
150
{ 0xffffff, 20 },
151
};
152
153
/* QAM64 SNR lookup table */
154
static struct snr_table qam64_snr_table[] = {
155
{ 0x03109b, 12 },
156
{ 0x0310d4, 13 },
157
{ 0x031920, 14 },
158
{ 0x0322d0, 15 },
159
{ 0x0339fc, 16 },
160
{ 0x0364a1, 17 },
161
{ 0x038bcc, 18 },
162
{ 0x03c7d3, 19 },
163
{ 0x0408cc, 20 },
164
{ 0x043bed, 21 },
165
{ 0x048061, 22 },
166
{ 0x04be95, 23 },
167
{ 0x04fa7d, 24 },
168
{ 0x052405, 25 },
169
{ 0x05570d, 26 },
170
{ 0xffffff, 27 },
171
};
172
173
static struct regdesc ofsm_init[] = {
174
{ 0xd73a, 0, 8, 0xa1 },
175
{ 0xd73b, 0, 8, 0x1f },
176
{ 0xd73c, 4, 4, 0x0a },
177
{ 0xd732, 3, 1, 0x00 },
178
{ 0xd731, 4, 2, 0x03 },
179
{ 0xd73d, 7, 1, 0x01 },
180
{ 0xd740, 0, 1, 0x00 },
181
{ 0xd740, 1, 1, 0x00 },
182
{ 0xd740, 2, 1, 0x00 },
183
{ 0xd740, 3, 1, 0x01 },
184
{ 0xd3c1, 4, 1, 0x01 },
185
{ 0x9124, 0, 8, 0x58 },
186
{ 0x9125, 0, 2, 0x02 },
187
{ 0xd3a2, 0, 8, 0x00 },
188
{ 0xd3a3, 0, 8, 0x04 },
189
{ 0xd305, 0, 8, 0x32 },
190
{ 0xd306, 0, 8, 0x10 },
191
{ 0xd304, 0, 8, 0x04 },
192
{ 0x9112, 0, 1, 0x01 },
193
{ 0x911d, 0, 1, 0x01 },
194
{ 0x911a, 0, 1, 0x01 },
195
{ 0x911b, 0, 1, 0x01 },
196
{ 0x9bce, 0, 4, 0x02 },
197
{ 0x9116, 0, 1, 0x01 },
198
{ 0x9122, 0, 8, 0xd0 },
199
{ 0xd2e0, 0, 8, 0xd0 },
200
{ 0xd2e9, 0, 4, 0x0d },
201
{ 0xd38c, 0, 8, 0xfc },
202
{ 0xd38d, 0, 8, 0x00 },
203
{ 0xd38e, 0, 8, 0x7e },
204
{ 0xd38f, 0, 8, 0x00 },
205
{ 0xd390, 0, 8, 0x2f },
206
{ 0xd145, 4, 1, 0x01 },
207
{ 0xd1a9, 4, 1, 0x01 },
208
{ 0xd158, 5, 3, 0x01 },
209
{ 0xd159, 0, 6, 0x06 },
210
{ 0xd167, 0, 8, 0x00 },
211
{ 0xd168, 0, 4, 0x07 },
212
{ 0xd1c3, 5, 3, 0x00 },
213
{ 0xd1c4, 0, 6, 0x00 },
214
{ 0xd1c5, 0, 7, 0x10 },
215
{ 0xd1c6, 0, 3, 0x02 },
216
{ 0xd080, 2, 5, 0x03 },
217
{ 0xd081, 4, 4, 0x09 },
218
{ 0xd098, 4, 4, 0x0f },
219
{ 0xd098, 0, 4, 0x03 },
220
{ 0xdbc0, 4, 1, 0x01 },
221
{ 0xdbc7, 0, 8, 0x08 },
222
{ 0xdbc8, 4, 4, 0x00 },
223
{ 0xdbc9, 0, 5, 0x01 },
224
{ 0xd280, 0, 8, 0xe0 },
225
{ 0xd281, 0, 8, 0xff },
226
{ 0xd282, 0, 8, 0xff },
227
{ 0xd283, 0, 8, 0xc3 },
228
{ 0xd284, 0, 8, 0xff },
229
{ 0xd285, 0, 4, 0x01 },
230
{ 0xd0f0, 0, 7, 0x1a },
231
{ 0xd0f1, 4, 1, 0x01 },
232
{ 0xd0f2, 0, 8, 0x0c },
233
{ 0xd101, 5, 3, 0x06 },
234
{ 0xd103, 0, 4, 0x08 },
235
{ 0xd0f8, 0, 7, 0x20 },
236
{ 0xd111, 5, 1, 0x00 },
237
{ 0xd111, 6, 1, 0x00 },
238
{ 0x910b, 0, 8, 0x0a },
239
{ 0x9115, 0, 8, 0x02 },
240
{ 0x910c, 0, 8, 0x02 },
241
{ 0x910d, 0, 8, 0x08 },
242
{ 0x910e, 0, 8, 0x0a },
243
{ 0x9bf6, 0, 8, 0x06 },
244
{ 0x9bf8, 0, 8, 0x02 },
245
{ 0x9bf7, 0, 8, 0x05 },
246
{ 0x9bf9, 0, 8, 0x0f },
247
{ 0x9bfc, 0, 8, 0x13 },
248
{ 0x9bd3, 0, 8, 0xff },
249
{ 0x9bbe, 0, 1, 0x01 },
250
{ 0x9bcc, 0, 1, 0x01 },
251
};
252
253
/* Panasonic ENV77H11D5 tuner init
254
AF9013_TUNER_ENV77H11D5 = 129 */
255
static struct regdesc tuner_init_env77h11d5[] = {
256
{ 0x9bd5, 0, 8, 0x01 },
257
{ 0x9bd6, 0, 8, 0x03 },
258
{ 0x9bbe, 0, 8, 0x01 },
259
{ 0xd1a0, 1, 1, 0x01 },
260
{ 0xd000, 0, 1, 0x01 },
261
{ 0xd000, 1, 1, 0x00 },
262
{ 0xd001, 1, 1, 0x01 },
263
{ 0xd001, 0, 1, 0x00 },
264
{ 0xd001, 5, 1, 0x00 },
265
{ 0xd002, 0, 5, 0x19 },
266
{ 0xd003, 0, 5, 0x1a },
267
{ 0xd004, 0, 5, 0x19 },
268
{ 0xd005, 0, 5, 0x1a },
269
{ 0xd00e, 0, 5, 0x10 },
270
{ 0xd00f, 0, 3, 0x04 },
271
{ 0xd00f, 3, 3, 0x05 },
272
{ 0xd010, 0, 3, 0x04 },
273
{ 0xd010, 3, 3, 0x05 },
274
{ 0xd016, 4, 4, 0x03 },
275
{ 0xd01f, 0, 6, 0x0a },
276
{ 0xd020, 0, 6, 0x0a },
277
{ 0x9bda, 0, 8, 0x00 },
278
{ 0x9be3, 0, 8, 0x00 },
279
{ 0xd015, 0, 8, 0x50 },
280
{ 0xd016, 0, 1, 0x00 },
281
{ 0xd044, 0, 8, 0x46 },
282
{ 0xd045, 0, 1, 0x00 },
283
{ 0xd008, 0, 8, 0xdf },
284
{ 0xd009, 0, 2, 0x02 },
285
{ 0xd006, 0, 8, 0x44 },
286
{ 0xd007, 0, 2, 0x01 },
287
{ 0xd00c, 0, 8, 0xeb },
288
{ 0xd00d, 0, 2, 0x02 },
289
{ 0xd00a, 0, 8, 0xf4 },
290
{ 0xd00b, 0, 2, 0x01 },
291
{ 0x9bba, 0, 8, 0xf9 },
292
{ 0x9bc3, 0, 8, 0xdf },
293
{ 0x9bc4, 0, 8, 0x02 },
294
{ 0x9bc5, 0, 8, 0xeb },
295
{ 0x9bc6, 0, 8, 0x02 },
296
{ 0x9bc9, 0, 8, 0x52 },
297
{ 0xd011, 0, 8, 0x3c },
298
{ 0xd012, 0, 2, 0x01 },
299
{ 0xd013, 0, 8, 0xf7 },
300
{ 0xd014, 0, 2, 0x02 },
301
{ 0xd040, 0, 8, 0x0b },
302
{ 0xd041, 0, 2, 0x02 },
303
{ 0xd042, 0, 8, 0x4d },
304
{ 0xd043, 0, 2, 0x00 },
305
{ 0xd045, 1, 1, 0x00 },
306
{ 0x9bcf, 0, 1, 0x01 },
307
{ 0xd045, 2, 1, 0x01 },
308
{ 0xd04f, 0, 8, 0x9a },
309
{ 0xd050, 0, 1, 0x01 },
310
{ 0xd051, 0, 8, 0x5a },
311
{ 0xd052, 0, 1, 0x01 },
312
{ 0xd053, 0, 8, 0x50 },
313
{ 0xd054, 0, 8, 0x46 },
314
{ 0x9bd7, 0, 8, 0x0a },
315
{ 0x9bd8, 0, 8, 0x14 },
316
{ 0x9bd9, 0, 8, 0x08 },
317
};
318
319
/* Microtune MT2060 tuner init
320
AF9013_TUNER_MT2060 = 130 */
321
static struct regdesc tuner_init_mt2060[] = {
322
{ 0x9bd5, 0, 8, 0x01 },
323
{ 0x9bd6, 0, 8, 0x07 },
324
{ 0xd1a0, 1, 1, 0x01 },
325
{ 0xd000, 0, 1, 0x01 },
326
{ 0xd000, 1, 1, 0x00 },
327
{ 0xd001, 1, 1, 0x01 },
328
{ 0xd001, 0, 1, 0x00 },
329
{ 0xd001, 5, 1, 0x00 },
330
{ 0xd002, 0, 5, 0x19 },
331
{ 0xd003, 0, 5, 0x1a },
332
{ 0xd004, 0, 5, 0x19 },
333
{ 0xd005, 0, 5, 0x1a },
334
{ 0xd00e, 0, 5, 0x10 },
335
{ 0xd00f, 0, 3, 0x04 },
336
{ 0xd00f, 3, 3, 0x05 },
337
{ 0xd010, 0, 3, 0x04 },
338
{ 0xd010, 3, 3, 0x05 },
339
{ 0xd016, 4, 4, 0x03 },
340
{ 0xd01f, 0, 6, 0x0a },
341
{ 0xd020, 0, 6, 0x0a },
342
{ 0x9bda, 0, 8, 0x00 },
343
{ 0x9be3, 0, 8, 0x00 },
344
{ 0x9bbe, 0, 1, 0x00 },
345
{ 0x9bcc, 0, 1, 0x00 },
346
{ 0x9bb9, 0, 8, 0x75 },
347
{ 0x9bcd, 0, 8, 0x24 },
348
{ 0x9bff, 0, 8, 0x30 },
349
{ 0xd015, 0, 8, 0x46 },
350
{ 0xd016, 0, 1, 0x00 },
351
{ 0xd044, 0, 8, 0x46 },
352
{ 0xd045, 0, 1, 0x00 },
353
{ 0xd008, 0, 8, 0x0f },
354
{ 0xd009, 0, 2, 0x02 },
355
{ 0xd006, 0, 8, 0x32 },
356
{ 0xd007, 0, 2, 0x01 },
357
{ 0xd00c, 0, 8, 0x36 },
358
{ 0xd00d, 0, 2, 0x03 },
359
{ 0xd00a, 0, 8, 0x35 },
360
{ 0xd00b, 0, 2, 0x01 },
361
{ 0x9bc7, 0, 8, 0x07 },
362
{ 0x9bc8, 0, 8, 0x90 },
363
{ 0x9bc3, 0, 8, 0x0f },
364
{ 0x9bc4, 0, 8, 0x02 },
365
{ 0x9bc5, 0, 8, 0x36 },
366
{ 0x9bc6, 0, 8, 0x03 },
367
{ 0x9bba, 0, 8, 0xc9 },
368
{ 0x9bc9, 0, 8, 0x79 },
369
{ 0xd011, 0, 8, 0x10 },
370
{ 0xd012, 0, 2, 0x01 },
371
{ 0xd013, 0, 8, 0x45 },
372
{ 0xd014, 0, 2, 0x03 },
373
{ 0xd040, 0, 8, 0x98 },
374
{ 0xd041, 0, 2, 0x00 },
375
{ 0xd042, 0, 8, 0xcf },
376
{ 0xd043, 0, 2, 0x03 },
377
{ 0xd045, 1, 1, 0x00 },
378
{ 0x9bcf, 0, 1, 0x01 },
379
{ 0xd045, 2, 1, 0x01 },
380
{ 0xd04f, 0, 8, 0x9a },
381
{ 0xd050, 0, 1, 0x01 },
382
{ 0xd051, 0, 8, 0x5a },
383
{ 0xd052, 0, 1, 0x01 },
384
{ 0xd053, 0, 8, 0x50 },
385
{ 0xd054, 0, 8, 0x46 },
386
{ 0x9bd7, 0, 8, 0x0a },
387
{ 0x9bd8, 0, 8, 0x14 },
388
{ 0x9bd9, 0, 8, 0x08 },
389
{ 0x9bd0, 0, 8, 0xcc },
390
{ 0x9be4, 0, 8, 0xa0 },
391
{ 0x9bbd, 0, 8, 0x8e },
392
{ 0x9be2, 0, 8, 0x4d },
393
{ 0x9bee, 0, 1, 0x01 },
394
};
395
396
/* Microtune MT2060 tuner init
397
AF9013_TUNER_MT2060_2 = 147 */
398
static struct regdesc tuner_init_mt2060_2[] = {
399
{ 0x9bd5, 0, 8, 0x01 },
400
{ 0x9bd6, 0, 8, 0x06 },
401
{ 0x9bbe, 0, 8, 0x01 },
402
{ 0xd1a0, 1, 1, 0x01 },
403
{ 0xd000, 0, 1, 0x01 },
404
{ 0xd000, 1, 1, 0x00 },
405
{ 0xd001, 1, 1, 0x01 },
406
{ 0xd001, 0, 1, 0x00 },
407
{ 0xd001, 5, 1, 0x00 },
408
{ 0xd002, 0, 5, 0x19 },
409
{ 0xd003, 0, 5, 0x1a },
410
{ 0xd004, 0, 5, 0x19 },
411
{ 0xd005, 0, 5, 0x1a },
412
{ 0xd00e, 0, 5, 0x10 },
413
{ 0xd00f, 0, 3, 0x04 },
414
{ 0xd00f, 3, 3, 0x05 },
415
{ 0xd010, 0, 3, 0x04 },
416
{ 0xd010, 3, 3, 0x05 },
417
{ 0xd016, 4, 4, 0x03 },
418
{ 0xd01f, 0, 6, 0x0a },
419
{ 0xd020, 0, 6, 0x0a },
420
{ 0xd015, 0, 8, 0x46 },
421
{ 0xd016, 0, 1, 0x00 },
422
{ 0xd044, 0, 8, 0x46 },
423
{ 0xd045, 0, 1, 0x00 },
424
{ 0xd008, 0, 8, 0x0f },
425
{ 0xd009, 0, 2, 0x02 },
426
{ 0xd006, 0, 8, 0x32 },
427
{ 0xd007, 0, 2, 0x01 },
428
{ 0xd00c, 0, 8, 0x36 },
429
{ 0xd00d, 0, 2, 0x03 },
430
{ 0xd00a, 0, 8, 0x35 },
431
{ 0xd00b, 0, 2, 0x01 },
432
{ 0x9bc7, 0, 8, 0x07 },
433
{ 0x9bc8, 0, 8, 0x90 },
434
{ 0x9bc3, 0, 8, 0x0f },
435
{ 0x9bc4, 0, 8, 0x02 },
436
{ 0x9bc5, 0, 8, 0x36 },
437
{ 0x9bc6, 0, 8, 0x03 },
438
{ 0x9bba, 0, 8, 0xc9 },
439
{ 0x9bc9, 0, 8, 0x79 },
440
{ 0xd011, 0, 8, 0x10 },
441
{ 0xd012, 0, 2, 0x01 },
442
{ 0xd013, 0, 8, 0x45 },
443
{ 0xd014, 0, 2, 0x03 },
444
{ 0xd040, 0, 8, 0x98 },
445
{ 0xd041, 0, 2, 0x00 },
446
{ 0xd042, 0, 8, 0xcf },
447
{ 0xd043, 0, 2, 0x03 },
448
{ 0xd045, 1, 1, 0x00 },
449
{ 0x9bcf, 0, 8, 0x01 },
450
{ 0xd045, 2, 1, 0x01 },
451
{ 0xd04f, 0, 8, 0x9a },
452
{ 0xd050, 0, 1, 0x01 },
453
{ 0xd051, 0, 8, 0x5a },
454
{ 0xd052, 0, 1, 0x01 },
455
{ 0xd053, 0, 8, 0x96 },
456
{ 0xd054, 0, 8, 0x46 },
457
{ 0xd045, 7, 1, 0x00 },
458
{ 0x9bd7, 0, 8, 0x0a },
459
{ 0x9bd8, 0, 8, 0x14 },
460
{ 0x9bd9, 0, 8, 0x08 },
461
};
462
463
/* MaxLinear MXL5003 tuner init
464
AF9013_TUNER_MXL5003D = 3 */
465
static struct regdesc tuner_init_mxl5003d[] = {
466
{ 0x9bd5, 0, 8, 0x01 },
467
{ 0x9bd6, 0, 8, 0x09 },
468
{ 0xd1a0, 1, 1, 0x01 },
469
{ 0xd000, 0, 1, 0x01 },
470
{ 0xd000, 1, 1, 0x00 },
471
{ 0xd001, 1, 1, 0x01 },
472
{ 0xd001, 0, 1, 0x00 },
473
{ 0xd001, 5, 1, 0x00 },
474
{ 0xd002, 0, 5, 0x19 },
475
{ 0xd003, 0, 5, 0x1a },
476
{ 0xd004, 0, 5, 0x19 },
477
{ 0xd005, 0, 5, 0x1a },
478
{ 0xd00e, 0, 5, 0x10 },
479
{ 0xd00f, 0, 3, 0x04 },
480
{ 0xd00f, 3, 3, 0x05 },
481
{ 0xd010, 0, 3, 0x04 },
482
{ 0xd010, 3, 3, 0x05 },
483
{ 0xd016, 4, 4, 0x03 },
484
{ 0xd01f, 0, 6, 0x0a },
485
{ 0xd020, 0, 6, 0x0a },
486
{ 0x9bda, 0, 8, 0x00 },
487
{ 0x9be3, 0, 8, 0x00 },
488
{ 0x9bfc, 0, 8, 0x0f },
489
{ 0x9bf6, 0, 8, 0x01 },
490
{ 0x9bbe, 0, 1, 0x01 },
491
{ 0xd015, 0, 8, 0x33 },
492
{ 0xd016, 0, 1, 0x00 },
493
{ 0xd044, 0, 8, 0x40 },
494
{ 0xd045, 0, 1, 0x00 },
495
{ 0xd008, 0, 8, 0x0f },
496
{ 0xd009, 0, 2, 0x02 },
497
{ 0xd006, 0, 8, 0x6c },
498
{ 0xd007, 0, 2, 0x00 },
499
{ 0xd00c, 0, 8, 0x3d },
500
{ 0xd00d, 0, 2, 0x00 },
501
{ 0xd00a, 0, 8, 0x45 },
502
{ 0xd00b, 0, 2, 0x01 },
503
{ 0x9bc7, 0, 8, 0x07 },
504
{ 0x9bc8, 0, 8, 0x52 },
505
{ 0x9bc3, 0, 8, 0x0f },
506
{ 0x9bc4, 0, 8, 0x02 },
507
{ 0x9bc5, 0, 8, 0x3d },
508
{ 0x9bc6, 0, 8, 0x00 },
509
{ 0x9bba, 0, 8, 0xa2 },
510
{ 0x9bc9, 0, 8, 0xa0 },
511
{ 0xd011, 0, 8, 0x56 },
512
{ 0xd012, 0, 2, 0x00 },
513
{ 0xd013, 0, 8, 0x50 },
514
{ 0xd014, 0, 2, 0x00 },
515
{ 0xd040, 0, 8, 0x56 },
516
{ 0xd041, 0, 2, 0x00 },
517
{ 0xd042, 0, 8, 0x50 },
518
{ 0xd043, 0, 2, 0x00 },
519
{ 0xd045, 1, 1, 0x00 },
520
{ 0x9bcf, 0, 8, 0x01 },
521
{ 0xd045, 2, 1, 0x01 },
522
{ 0xd04f, 0, 8, 0x9a },
523
{ 0xd050, 0, 1, 0x01 },
524
{ 0xd051, 0, 8, 0x5a },
525
{ 0xd052, 0, 1, 0x01 },
526
{ 0xd053, 0, 8, 0x50 },
527
{ 0xd054, 0, 8, 0x46 },
528
{ 0x9bd7, 0, 8, 0x0a },
529
{ 0x9bd8, 0, 8, 0x14 },
530
{ 0x9bd9, 0, 8, 0x08 },
531
};
532
533
/* MaxLinear MXL5005S & MXL5007T tuner init
534
AF9013_TUNER_MXL5005D = 13
535
AF9013_TUNER_MXL5005R = 30
536
AF9013_TUNER_MXL5007T = 177 */
537
static struct regdesc tuner_init_mxl5005[] = {
538
{ 0x9bd5, 0, 8, 0x01 },
539
{ 0x9bd6, 0, 8, 0x07 },
540
{ 0xd1a0, 1, 1, 0x01 },
541
{ 0xd000, 0, 1, 0x01 },
542
{ 0xd000, 1, 1, 0x00 },
543
{ 0xd001, 1, 1, 0x01 },
544
{ 0xd001, 0, 1, 0x00 },
545
{ 0xd001, 5, 1, 0x00 },
546
{ 0xd002, 0, 5, 0x19 },
547
{ 0xd003, 0, 5, 0x1a },
548
{ 0xd004, 0, 5, 0x19 },
549
{ 0xd005, 0, 5, 0x1a },
550
{ 0xd00e, 0, 5, 0x10 },
551
{ 0xd00f, 0, 3, 0x04 },
552
{ 0xd00f, 3, 3, 0x05 },
553
{ 0xd010, 0, 3, 0x04 },
554
{ 0xd010, 3, 3, 0x05 },
555
{ 0xd016, 4, 4, 0x03 },
556
{ 0xd01f, 0, 6, 0x0a },
557
{ 0xd020, 0, 6, 0x0a },
558
{ 0x9bda, 0, 8, 0x01 },
559
{ 0x9be3, 0, 8, 0x01 },
560
{ 0x9bbe, 0, 1, 0x01 },
561
{ 0x9bcc, 0, 1, 0x01 },
562
{ 0x9bb9, 0, 8, 0x00 },
563
{ 0x9bcd, 0, 8, 0x28 },
564
{ 0x9bff, 0, 8, 0x24 },
565
{ 0xd015, 0, 8, 0x40 },
566
{ 0xd016, 0, 1, 0x00 },
567
{ 0xd044, 0, 8, 0x40 },
568
{ 0xd045, 0, 1, 0x00 },
569
{ 0xd008, 0, 8, 0x0f },
570
{ 0xd009, 0, 2, 0x02 },
571
{ 0xd006, 0, 8, 0x73 },
572
{ 0xd007, 0, 2, 0x01 },
573
{ 0xd00c, 0, 8, 0xfa },
574
{ 0xd00d, 0, 2, 0x01 },
575
{ 0xd00a, 0, 8, 0xff },
576
{ 0xd00b, 0, 2, 0x01 },
577
{ 0x9bc7, 0, 8, 0x23 },
578
{ 0x9bc8, 0, 8, 0x55 },
579
{ 0x9bc3, 0, 8, 0x01 },
580
{ 0x9bc4, 0, 8, 0x02 },
581
{ 0x9bc5, 0, 8, 0xfa },
582
{ 0x9bc6, 0, 8, 0x01 },
583
{ 0x9bba, 0, 8, 0xff },
584
{ 0x9bc9, 0, 8, 0xff },
585
{ 0x9bd3, 0, 8, 0x95 },
586
{ 0xd011, 0, 8, 0x70 },
587
{ 0xd012, 0, 2, 0x01 },
588
{ 0xd013, 0, 8, 0xfb },
589
{ 0xd014, 0, 2, 0x01 },
590
{ 0xd040, 0, 8, 0x70 },
591
{ 0xd041, 0, 2, 0x01 },
592
{ 0xd042, 0, 8, 0xfb },
593
{ 0xd043, 0, 2, 0x01 },
594
{ 0xd045, 1, 1, 0x00 },
595
{ 0x9bcf, 0, 1, 0x01 },
596
{ 0xd045, 2, 1, 0x01 },
597
{ 0xd04f, 0, 8, 0x9a },
598
{ 0xd050, 0, 1, 0x01 },
599
{ 0xd051, 0, 8, 0x5a },
600
{ 0xd052, 0, 1, 0x01 },
601
{ 0xd053, 0, 8, 0x50 },
602
{ 0xd054, 0, 8, 0x46 },
603
{ 0x9bd7, 0, 8, 0x0a },
604
{ 0x9bd8, 0, 8, 0x14 },
605
{ 0x9bd9, 0, 8, 0x08 },
606
{ 0x9bd0, 0, 8, 0x93 },
607
{ 0x9be4, 0, 8, 0xfe },
608
{ 0x9bbd, 0, 8, 0x63 },
609
{ 0x9be2, 0, 8, 0xfe },
610
{ 0x9bee, 0, 1, 0x01 },
611
};
612
613
/* Quantek QT1010 tuner init
614
AF9013_TUNER_QT1010 = 134
615
AF9013_TUNER_QT1010A = 162 */
616
static struct regdesc tuner_init_qt1010[] = {
617
{ 0x9bd5, 0, 8, 0x01 },
618
{ 0x9bd6, 0, 8, 0x09 },
619
{ 0xd1a0, 1, 1, 0x01 },
620
{ 0xd000, 0, 1, 0x01 },
621
{ 0xd000, 1, 1, 0x00 },
622
{ 0xd001, 1, 1, 0x01 },
623
{ 0xd001, 0, 1, 0x00 },
624
{ 0xd001, 5, 1, 0x00 },
625
{ 0xd002, 0, 5, 0x19 },
626
{ 0xd003, 0, 5, 0x1a },
627
{ 0xd004, 0, 5, 0x19 },
628
{ 0xd005, 0, 5, 0x1a },
629
{ 0xd00e, 0, 5, 0x10 },
630
{ 0xd00f, 0, 3, 0x04 },
631
{ 0xd00f, 3, 3, 0x05 },
632
{ 0xd010, 0, 3, 0x04 },
633
{ 0xd010, 3, 3, 0x05 },
634
{ 0xd016, 4, 4, 0x03 },
635
{ 0xd01f, 0, 6, 0x0a },
636
{ 0xd020, 0, 6, 0x0a },
637
{ 0x9bda, 0, 8, 0x01 },
638
{ 0x9be3, 0, 8, 0x01 },
639
{ 0xd015, 0, 8, 0x46 },
640
{ 0xd016, 0, 1, 0x00 },
641
{ 0xd044, 0, 8, 0x46 },
642
{ 0xd045, 0, 1, 0x00 },
643
{ 0x9bbe, 0, 1, 0x01 },
644
{ 0x9bcc, 0, 1, 0x01 },
645
{ 0x9bb9, 0, 8, 0x00 },
646
{ 0x9bcd, 0, 8, 0x28 },
647
{ 0x9bff, 0, 8, 0x20 },
648
{ 0xd008, 0, 8, 0x0f },
649
{ 0xd009, 0, 2, 0x02 },
650
{ 0xd006, 0, 8, 0x99 },
651
{ 0xd007, 0, 2, 0x01 },
652
{ 0xd00c, 0, 8, 0x0f },
653
{ 0xd00d, 0, 2, 0x02 },
654
{ 0xd00a, 0, 8, 0x50 },
655
{ 0xd00b, 0, 2, 0x01 },
656
{ 0x9bc7, 0, 8, 0x00 },
657
{ 0x9bc8, 0, 8, 0x00 },
658
{ 0x9bc3, 0, 8, 0x0f },
659
{ 0x9bc4, 0, 8, 0x02 },
660
{ 0x9bc5, 0, 8, 0x0f },
661
{ 0x9bc6, 0, 8, 0x02 },
662
{ 0x9bba, 0, 8, 0xc5 },
663
{ 0x9bc9, 0, 8, 0xff },
664
{ 0xd011, 0, 8, 0x58 },
665
{ 0xd012, 0, 2, 0x02 },
666
{ 0xd013, 0, 8, 0x89 },
667
{ 0xd014, 0, 2, 0x01 },
668
{ 0xd040, 0, 8, 0x58 },
669
{ 0xd041, 0, 2, 0x02 },
670
{ 0xd042, 0, 8, 0x89 },
671
{ 0xd043, 0, 2, 0x01 },
672
{ 0xd045, 1, 1, 0x00 },
673
{ 0x9bcf, 0, 1, 0x01 },
674
{ 0xd045, 2, 1, 0x01 },
675
{ 0xd04f, 0, 8, 0x9a },
676
{ 0xd050, 0, 1, 0x01 },
677
{ 0xd051, 0, 8, 0x5a },
678
{ 0xd052, 0, 1, 0x01 },
679
{ 0xd053, 0, 8, 0x50 },
680
{ 0xd054, 0, 8, 0x46 },
681
{ 0x9bd7, 0, 8, 0x0a },
682
{ 0x9bd8, 0, 8, 0x14 },
683
{ 0x9bd9, 0, 8, 0x08 },
684
{ 0x9bd0, 0, 8, 0xcd },
685
{ 0x9be4, 0, 8, 0xbb },
686
{ 0x9bbd, 0, 8, 0x93 },
687
{ 0x9be2, 0, 8, 0x80 },
688
{ 0x9bee, 0, 1, 0x01 },
689
};
690
691
/* Freescale MC44S803 tuner init
692
AF9013_TUNER_MC44S803 = 133 */
693
static struct regdesc tuner_init_mc44s803[] = {
694
{ 0x9bd5, 0, 8, 0x01 },
695
{ 0x9bd6, 0, 8, 0x06 },
696
{ 0xd1a0, 1, 1, 0x01 },
697
{ 0xd000, 0, 1, 0x01 },
698
{ 0xd000, 1, 1, 0x00 },
699
{ 0xd001, 1, 1, 0x01 },
700
{ 0xd001, 0, 1, 0x00 },
701
{ 0xd001, 5, 1, 0x00 },
702
{ 0xd002, 0, 5, 0x19 },
703
{ 0xd003, 0, 5, 0x1a },
704
{ 0xd004, 0, 5, 0x19 },
705
{ 0xd005, 0, 5, 0x1a },
706
{ 0xd00e, 0, 5, 0x10 },
707
{ 0xd00f, 0, 3, 0x04 },
708
{ 0xd00f, 3, 3, 0x05 },
709
{ 0xd010, 0, 3, 0x04 },
710
{ 0xd010, 3, 3, 0x05 },
711
{ 0xd016, 4, 4, 0x03 },
712
{ 0xd01f, 0, 6, 0x0a },
713
{ 0xd020, 0, 6, 0x0a },
714
{ 0x9bda, 0, 8, 0x00 },
715
{ 0x9be3, 0, 8, 0x00 },
716
{ 0x9bf6, 0, 8, 0x01 },
717
{ 0x9bf8, 0, 8, 0x02 },
718
{ 0x9bf9, 0, 8, 0x02 },
719
{ 0x9bfc, 0, 8, 0x1f },
720
{ 0x9bbe, 0, 1, 0x01 },
721
{ 0x9bcc, 0, 1, 0x01 },
722
{ 0x9bb9, 0, 8, 0x00 },
723
{ 0x9bcd, 0, 8, 0x24 },
724
{ 0x9bff, 0, 8, 0x24 },
725
{ 0xd015, 0, 8, 0x46 },
726
{ 0xd016, 0, 1, 0x00 },
727
{ 0xd044, 0, 8, 0x46 },
728
{ 0xd045, 0, 1, 0x00 },
729
{ 0xd008, 0, 8, 0x01 },
730
{ 0xd009, 0, 2, 0x02 },
731
{ 0xd006, 0, 8, 0x7b },
732
{ 0xd007, 0, 2, 0x00 },
733
{ 0xd00c, 0, 8, 0x7c },
734
{ 0xd00d, 0, 2, 0x02 },
735
{ 0xd00a, 0, 8, 0xfe },
736
{ 0xd00b, 0, 2, 0x01 },
737
{ 0x9bc7, 0, 8, 0x08 },
738
{ 0x9bc8, 0, 8, 0x9a },
739
{ 0x9bc3, 0, 8, 0x01 },
740
{ 0x9bc4, 0, 8, 0x02 },
741
{ 0x9bc5, 0, 8, 0x7c },
742
{ 0x9bc6, 0, 8, 0x02 },
743
{ 0x9bba, 0, 8, 0xfc },
744
{ 0x9bc9, 0, 8, 0xaa },
745
{ 0xd011, 0, 8, 0x6b },
746
{ 0xd012, 0, 2, 0x00 },
747
{ 0xd013, 0, 8, 0x88 },
748
{ 0xd014, 0, 2, 0x02 },
749
{ 0xd040, 0, 8, 0x6b },
750
{ 0xd041, 0, 2, 0x00 },
751
{ 0xd042, 0, 8, 0x7c },
752
{ 0xd043, 0, 2, 0x02 },
753
{ 0xd045, 1, 1, 0x00 },
754
{ 0x9bcf, 0, 1, 0x01 },
755
{ 0xd045, 2, 1, 0x01 },
756
{ 0xd04f, 0, 8, 0x9a },
757
{ 0xd050, 0, 1, 0x01 },
758
{ 0xd051, 0, 8, 0x5a },
759
{ 0xd052, 0, 1, 0x01 },
760
{ 0xd053, 0, 8, 0x50 },
761
{ 0xd054, 0, 8, 0x46 },
762
{ 0x9bd7, 0, 8, 0x0a },
763
{ 0x9bd8, 0, 8, 0x14 },
764
{ 0x9bd9, 0, 8, 0x08 },
765
{ 0x9bd0, 0, 8, 0x9e },
766
{ 0x9be4, 0, 8, 0xff },
767
{ 0x9bbd, 0, 8, 0x9e },
768
{ 0x9be2, 0, 8, 0x25 },
769
{ 0x9bee, 0, 1, 0x01 },
770
{ 0xd73b, 3, 1, 0x00 },
771
};
772
773
/* unknown, probably for tin can tuner, tuner init
774
AF9013_TUNER_UNKNOWN = 140 */
775
static struct regdesc tuner_init_unknown[] = {
776
{ 0x9bd5, 0, 8, 0x01 },
777
{ 0x9bd6, 0, 8, 0x02 },
778
{ 0xd1a0, 1, 1, 0x01 },
779
{ 0xd000, 0, 1, 0x01 },
780
{ 0xd000, 1, 1, 0x00 },
781
{ 0xd001, 1, 1, 0x01 },
782
{ 0xd001, 0, 1, 0x00 },
783
{ 0xd001, 5, 1, 0x00 },
784
{ 0xd002, 0, 5, 0x19 },
785
{ 0xd003, 0, 5, 0x1a },
786
{ 0xd004, 0, 5, 0x19 },
787
{ 0xd005, 0, 5, 0x1a },
788
{ 0xd00e, 0, 5, 0x10 },
789
{ 0xd00f, 0, 3, 0x04 },
790
{ 0xd00f, 3, 3, 0x05 },
791
{ 0xd010, 0, 3, 0x04 },
792
{ 0xd010, 3, 3, 0x05 },
793
{ 0xd016, 4, 4, 0x03 },
794
{ 0xd01f, 0, 6, 0x0a },
795
{ 0xd020, 0, 6, 0x0a },
796
{ 0x9bda, 0, 8, 0x01 },
797
{ 0x9be3, 0, 8, 0x01 },
798
{ 0xd1a0, 1, 1, 0x00 },
799
{ 0x9bbe, 0, 1, 0x01 },
800
{ 0x9bcc, 0, 1, 0x01 },
801
{ 0x9bb9, 0, 8, 0x00 },
802
{ 0x9bcd, 0, 8, 0x18 },
803
{ 0x9bff, 0, 8, 0x2c },
804
{ 0xd015, 0, 8, 0x46 },
805
{ 0xd016, 0, 1, 0x00 },
806
{ 0xd044, 0, 8, 0x46 },
807
{ 0xd045, 0, 1, 0x00 },
808
{ 0xd008, 0, 8, 0xdf },
809
{ 0xd009, 0, 2, 0x02 },
810
{ 0xd006, 0, 8, 0x44 },
811
{ 0xd007, 0, 2, 0x01 },
812
{ 0xd00c, 0, 8, 0x00 },
813
{ 0xd00d, 0, 2, 0x02 },
814
{ 0xd00a, 0, 8, 0xf6 },
815
{ 0xd00b, 0, 2, 0x01 },
816
{ 0x9bba, 0, 8, 0xf9 },
817
{ 0x9bc8, 0, 8, 0xaa },
818
{ 0x9bc3, 0, 8, 0xdf },
819
{ 0x9bc4, 0, 8, 0x02 },
820
{ 0x9bc5, 0, 8, 0x00 },
821
{ 0x9bc6, 0, 8, 0x02 },
822
{ 0x9bc9, 0, 8, 0xf0 },
823
{ 0xd011, 0, 8, 0x3c },
824
{ 0xd012, 0, 2, 0x01 },
825
{ 0xd013, 0, 8, 0xf7 },
826
{ 0xd014, 0, 2, 0x02 },
827
{ 0xd040, 0, 8, 0x0b },
828
{ 0xd041, 0, 2, 0x02 },
829
{ 0xd042, 0, 8, 0x4d },
830
{ 0xd043, 0, 2, 0x00 },
831
{ 0xd045, 1, 1, 0x00 },
832
{ 0x9bcf, 0, 1, 0x01 },
833
{ 0xd045, 2, 1, 0x01 },
834
{ 0xd04f, 0, 8, 0x9a },
835
{ 0xd050, 0, 1, 0x01 },
836
{ 0xd051, 0, 8, 0x5a },
837
{ 0xd052, 0, 1, 0x01 },
838
{ 0xd053, 0, 8, 0x50 },
839
{ 0xd054, 0, 8, 0x46 },
840
{ 0x9bd7, 0, 8, 0x0a },
841
{ 0x9bd8, 0, 8, 0x14 },
842
{ 0x9bd9, 0, 8, 0x08 },
843
};
844
845
/* NXP TDA18271 & TDA18218 tuner init
846
AF9013_TUNER_TDA18271 = 156
847
AF9013_TUNER_TDA18218 = 179 */
848
static struct regdesc tuner_init_tda18271[] = {
849
{ 0x9bd5, 0, 8, 0x01 },
850
{ 0x9bd6, 0, 8, 0x04 },
851
{ 0xd1a0, 1, 1, 0x01 },
852
{ 0xd000, 0, 1, 0x01 },
853
{ 0xd000, 1, 1, 0x00 },
854
{ 0xd001, 1, 1, 0x01 },
855
{ 0xd001, 0, 1, 0x00 },
856
{ 0xd001, 5, 1, 0x00 },
857
{ 0xd002, 0, 5, 0x19 },
858
{ 0xd003, 0, 5, 0x1a },
859
{ 0xd004, 0, 5, 0x19 },
860
{ 0xd005, 0, 5, 0x1a },
861
{ 0xd00e, 0, 5, 0x10 },
862
{ 0xd00f, 0, 3, 0x04 },
863
{ 0xd00f, 3, 3, 0x05 },
864
{ 0xd010, 0, 3, 0x04 },
865
{ 0xd010, 3, 3, 0x05 },
866
{ 0xd016, 4, 4, 0x03 },
867
{ 0xd01f, 0, 6, 0x0a },
868
{ 0xd020, 0, 6, 0x0a },
869
{ 0x9bda, 0, 8, 0x01 },
870
{ 0x9be3, 0, 8, 0x01 },
871
{ 0xd1a0, 1, 1, 0x00 },
872
{ 0x9bbe, 0, 1, 0x01 },
873
{ 0x9bcc, 0, 1, 0x01 },
874
{ 0x9bb9, 0, 8, 0x00 },
875
{ 0x9bcd, 0, 8, 0x18 },
876
{ 0x9bff, 0, 8, 0x2c },
877
{ 0xd015, 0, 8, 0x46 },
878
{ 0xd016, 0, 1, 0x00 },
879
{ 0xd044, 0, 8, 0x46 },
880
{ 0xd045, 0, 1, 0x00 },
881
{ 0xd008, 0, 8, 0xdf },
882
{ 0xd009, 0, 2, 0x02 },
883
{ 0xd006, 0, 8, 0x44 },
884
{ 0xd007, 0, 2, 0x01 },
885
{ 0xd00c, 0, 8, 0x00 },
886
{ 0xd00d, 0, 2, 0x02 },
887
{ 0xd00a, 0, 8, 0xf6 },
888
{ 0xd00b, 0, 2, 0x01 },
889
{ 0x9bba, 0, 8, 0xf9 },
890
{ 0x9bc8, 0, 8, 0xaa },
891
{ 0x9bc3, 0, 8, 0xdf },
892
{ 0x9bc4, 0, 8, 0x02 },
893
{ 0x9bc5, 0, 8, 0x00 },
894
{ 0x9bc6, 0, 8, 0x02 },
895
{ 0x9bc9, 0, 8, 0xf0 },
896
{ 0xd011, 0, 8, 0x3c },
897
{ 0xd012, 0, 2, 0x01 },
898
{ 0xd013, 0, 8, 0xf7 },
899
{ 0xd014, 0, 2, 0x02 },
900
{ 0xd040, 0, 8, 0x0b },
901
{ 0xd041, 0, 2, 0x02 },
902
{ 0xd042, 0, 8, 0x4d },
903
{ 0xd043, 0, 2, 0x00 },
904
{ 0xd045, 1, 1, 0x00 },
905
{ 0x9bcf, 0, 1, 0x01 },
906
{ 0xd045, 2, 1, 0x01 },
907
{ 0xd04f, 0, 8, 0x9a },
908
{ 0xd050, 0, 1, 0x01 },
909
{ 0xd051, 0, 8, 0x5a },
910
{ 0xd052, 0, 1, 0x01 },
911
{ 0xd053, 0, 8, 0x50 },
912
{ 0xd054, 0, 8, 0x46 },
913
{ 0x9bd7, 0, 8, 0x0a },
914
{ 0x9bd8, 0, 8, 0x14 },
915
{ 0x9bd9, 0, 8, 0x08 },
916
{ 0x9bd0, 0, 8, 0xa8 },
917
{ 0x9be4, 0, 8, 0x7f },
918
{ 0x9bbd, 0, 8, 0xa8 },
919
{ 0x9be2, 0, 8, 0x20 },
920
{ 0x9bee, 0, 1, 0x01 },
921
};
922
923
#endif /* _AF9013_PRIV_ */
924
925