coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
tas5825m.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <delay.h>
5 
6 int tas5825m_setup(struct device *dev, int id)
7 {
8  int res;
9 
10  res = tas5825m_set_book(dev, 0x00);
11  if (res < 0)
12  return res;
13 
14  res = tas5825m_write_at(dev, 0x03, 0x02);
15  if (res < 0)
16  return res;
17 
18  res = tas5825m_write_at(dev, 0x01, 0x11);
19  if (res < 0)
20  return res;
21 
22  res = tas5825m_set_page(dev, 0x00);
23  if (res < 0)
24  return res;
25 
26  res = tas5825m_set_page(dev, 0x00);
27  if (res < 0)
28  return res;
29 
30  res = tas5825m_set_page(dev, 0x00);
31  if (res < 0)
32  return res;
33 
34  res = tas5825m_set_page(dev, 0x00);
35  if (res < 0)
36  return res;
37 
38  res = tas5825m_set_page(dev, 0x00);
39  if (res < 0)
40  return res;
41 
42  res = tas5825m_set_book(dev, 0x00);
43  if (res < 0)
44  return res;
45 
46  res = tas5825m_write_at(dev, 0x46, 0x11);
47  if (res < 0)
48  return res;
49 
50  res = tas5825m_set_page(dev, 0x00);
51  if (res < 0)
52  return res;
53 
54  res = tas5825m_write_at(dev, 0x53, 0x01);
55  if (res < 0)
56  return res;
57 
58  res = tas5825m_write_at(dev, 0x54, 0x00);
59  if (res < 0)
60  return res;
61 
62  res = tas5825m_write_at(dev, 0x29, 0x7C);
63  if (res < 0)
64  return res;
65 
66  res = tas5825m_write_at(dev, 0x03, 0x02);
67  if (res < 0)
68  return res;
69 
70  mdelay(5);
71 
72  res = tas5825m_set_page(dev, 0x00);
73  if (res < 0)
74  return res;
75 
76  res = tas5825m_set_page(dev, 0x00);
77  if (res < 0)
78  return res;
79 
80  res = tas5825m_set_page(dev, 0x00);
81  if (res < 0)
82  return res;
83 
84  res = tas5825m_set_page(dev, 0x00);
85  if (res < 0)
86  return res;
87 
88  res = tas5825m_set_page(dev, 0x00);
89  if (res < 0)
90  return res;
91 
92  res = tas5825m_write_at(dev, 0x29, 0x00);
93  if (res < 0)
94  return res;
95 
96  res = tas5825m_set_book(dev, 0x00);
97  if (res < 0)
98  return res;
99 
100  res = tas5825m_write_at(dev, 0x03, 0x12);
101  if (res < 0)
102  return res;
103 
104  res = tas5825m_set_book(dev, 0x00);
105  if (res < 0)
106  return res;
107 
108  res = tas5825m_write_at(dev, 0x48, 0x0C);
109  if (res < 0)
110  return res;
111 
112  res = tas5825m_set_book(dev, 0x64);
113  if (res < 0)
114  return res;
115 
116  res = tas5825m_set_page(dev, 0x01);
117  if (res < 0)
118  return res;
119 
120  {
121  const uint8_t values[] = {
122  0x00, 0xFE, 0x00, 0x40, 0x00, 0xFC, 0x00, 0x00,
123  0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
124  0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
125  0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00
126  };
127  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
128  if (res < 0)
129  return res;
130  }
131 
132  {
133  const uint8_t values[] = {
134  0x00, 0x00, 0xFC, 0x50, 0x00, 0x00, 0xFC, 0x00,
135  0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00,
136  0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00,
137  0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC
138  };
139  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
140  if (res < 0)
141  return res;
142  }
143 
144  {
145  const uint8_t values[] = {
146  0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
147  0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
148  0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
149  0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00
150  };
151  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
152  if (res < 0)
153  return res;
154  }
155 
156  {
157  const uint8_t values[] = {
158  0xFC, 0x00, 0x00, 0x00, 0x82, 0x00, 0x93, 0x00,
159  0xFC, 0x00, 0x00, 0x84, 0xC1, 0x02, 0x9F, 0x08,
160  0x18, 0x10, 0x00, 0x02, 0x28, 0x00, 0x03, 0x8F,
161  0x00, 0xFF, 0xF8
162  };
163  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
164  if (res < 0)
165  return res;
166  }
167 
168  res = tas5825m_set_page(dev, 0x02);
169  if (res < 0)
170  return res;
171 
172  {
173  const uint8_t values[] = {
174  0x02, 0x60, 0x00, 0x01, 0x84, 0xA0, 0x02, 0x00,
175  0x84, 0x02, 0x04, 0x03, 0x00, 0x26, 0x20, 0x96,
176  0x84, 0xA2, 0x04, 0x02, 0x84, 0xC1, 0x02, 0xBC,
177  0x84, 0x49, 0x03, 0x64, 0x08, 0xFC, 0x0C
178  };
179  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
180  if (res < 0)
181  return res;
182  }
183 
184  {
185  const uint8_t values[] = {
186  0x99, 0x02, 0x70, 0x00, 0x04, 0x84, 0xC1, 0x02,
187  0xBD, 0xE0, 0x10, 0x31, 0xAD, 0x84, 0xCA, 0x20,
188  0xE0, 0xF0, 0x1C, 0x31, 0xAE, 0xF0, 0x1C, 0x31,
189  0xAF, 0x02, 0x68, 0x00, 0x03, 0xF0, 0x1C
190  };
191  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
192  if (res < 0)
193  return res;
194  }
195 
196  {
197  const uint8_t values[] = {
198  0x31, 0xB0, 0xF0, 0x1D, 0x31, 0xB1, 0x02, 0x78,
199  0x00, 0x02, 0x84, 0x41, 0x03, 0x78, 0x80, 0x27,
200  0x80, 0xF9, 0x08, 0xFC, 0x0C, 0x98, 0x84, 0x83,
201  0x03, 0x6A, 0xE0, 0x10, 0x11, 0xAD, 0x84
202  };
203  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
204  if (res < 0)
205  return res;
206  }
207 
208  {
209  const uint8_t values[] = {
210  0xC2, 0x00, 0xE0, 0xF0, 0x1C, 0x11, 0xAE, 0xF0,
211  0x1C, 0x11, 0xAF, 0xF0, 0x1C, 0x11, 0xB0, 0xF0,
212  0x1D, 0x11, 0xB1, 0x84, 0x59, 0x03, 0x65, 0x80,
213  0x27, 0x80, 0xF8
214  };
215  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
216  if (res < 0)
217  return res;
218  }
219 
220  res = tas5825m_set_page(dev, 0x03);
221  if (res < 0)
222  return res;
223 
224  {
225  const uint8_t values[] = {
226  0x84, 0x83, 0x03, 0x6B, 0xE2, 0x57, 0x91, 0xB2,
227  0x84, 0xC1, 0x02, 0xBD, 0x84, 0x82, 0x60, 0xE0,
228  0xF0, 0x1C, 0x71, 0xB3, 0xF0, 0x1C, 0x71, 0xB4,
229  0xF0, 0x1C, 0x71, 0xB5, 0xF0, 0x1D, 0x71
230  };
231  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
232  if (res < 0)
233  return res;
234  }
235 
236  {
237  const uint8_t values[] = {
238  0xB6, 0x84, 0x51, 0x03, 0x79, 0x80, 0x27, 0x80,
239  0xFB, 0x84, 0x83, 0x03, 0x6C, 0xE0, 0x10, 0x11,
240  0xB2, 0x84, 0xC2, 0x40, 0xE0, 0xF0, 0x1C, 0x51,
241  0xB3, 0xF0, 0x1C, 0x51, 0xB4, 0xF0, 0x1C
242  };
243  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
244  if (res < 0)
245  return res;
246  }
247 
248  {
249  const uint8_t values[] = {
250  0x51, 0xB5, 0xF0, 0x1D, 0x51, 0xB6, 0x84, 0x4B,
251  0x03, 0x64, 0x84, 0x49, 0x03, 0x77, 0x86, 0xA1,
252  0x01, 0xB7, 0x84, 0x43, 0x03, 0x78, 0x02, 0x11,
253  0xFF, 0xFC, 0x84, 0x41, 0x03, 0x7E, 0x80
254  };
255  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
256  if (res < 0)
257  return res;
258  }
259 
260  {
261  const uint8_t values[] = {
262  0x27, 0x80, 0xFA, 0x84, 0x83, 0x03, 0x6D, 0xE2,
263  0x57, 0x80, 0x00, 0x84, 0xC1, 0x02, 0xBD, 0x84,
264  0x82, 0x20, 0xE0, 0xF0, 0x1C, 0x31, 0xB8, 0xF0,
265  0x1C, 0x31, 0xB9
266  };
267  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
268  if (res < 0)
269  return res;
270  }
271 
272  res = tas5825m_set_page(dev, 0x04);
273  if (res < 0)
274  return res;
275 
276  {
277  const uint8_t values[] = {
278  0xF0, 0x1C, 0x31, 0xBA, 0xF0, 0x1D, 0x31, 0xBB,
279  0x86, 0xA1, 0x01, 0xB7, 0x80, 0x27, 0x80, 0xF9,
280  0x84, 0x83, 0x03, 0x6E, 0xE0, 0x10, 0x00, 0x00,
281  0x84, 0xC2, 0x00, 0xE0, 0xF0, 0x1C, 0x11
282  };
283  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
284  if (res < 0)
285  return res;
286  }
287 
288  {
289  const uint8_t values[] = {
290  0xB8, 0xF0, 0x1C, 0x11, 0xB9, 0xF0, 0x1C, 0x11,
291  0xBA, 0xF0, 0x1D, 0x11, 0xBB, 0x86, 0xA1, 0x01,
292  0x9D, 0x80, 0x27, 0x80, 0xF8, 0x84, 0x83, 0x03,
293  0x6F, 0x84, 0x5B, 0x03, 0x65, 0x66, 0x6D
294  };
295  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
296  if (res < 0)
297  return res;
298  }
299 
300  {
301  const uint8_t values[] = {
302  0x60, 0x00, 0xEE, 0x64, 0x80, 0x00, 0x02, 0xC3,
303  0x00, 0x10, 0x62, 0x6D, 0x40, 0x00, 0xEA, 0x64,
304  0x60, 0x00, 0x02, 0xD3, 0x00, 0x10, 0x88, 0x47,
305  0x00, 0x81, 0x09, 0x07, 0x08, 0x88, 0x08
306  };
307  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
308  if (res < 0)
309  return res;
310  }
311 
312  {
313  const uint8_t values[] = {
314  0xFC, 0x28, 0x53, 0x0D, 0x00, 0x10, 0x18, 0x84,
315  0xC3, 0x03, 0x24, 0x08, 0x60, 0x28, 0x50, 0x84,
316  0x80, 0x04, 0x02, 0xE4, 0x00, 0x00, 0x80, 0x86,
317  0xC1, 0x01, 0x9F
318  };
319  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
320  if (res < 0)
321  return res;
322  }
323 
324  res = tas5825m_set_page(dev, 0x05);
325  if (res < 0)
326  return res;
327 
328  {
329  const uint8_t values[] = {
330  0x88, 0x47, 0x20, 0x81, 0x0D, 0x00, 0x10, 0x20,
331  0x84, 0x53, 0x03, 0x79, 0x84, 0x4B, 0x03, 0x77,
332  0x84, 0x43, 0x03, 0x7E, 0x00, 0x42, 0x20, 0x85,
333  0x84, 0xDB, 0x03, 0x23, 0x08, 0xFC, 0x38
334  };
335  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
336  if (res < 0)
337  return res;
338  }
339 
340  {
341  const uint8_t values[] = {
342  0x10, 0x02, 0x48, 0x02, 0xBC, 0x02, 0x40, 0x02,
343  0xBD, 0xE4, 0x10, 0x11, 0x9E, 0x00, 0xFE, 0x20,
344  0x88, 0x88, 0x6C, 0x00, 0x00, 0x02, 0x48, 0x02,
345  0xBC, 0x02, 0x40, 0x02, 0xBD, 0x02, 0x80
346  };
347  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
348  if (res < 0)
349  return res;
350  }
351 
352  {
353  const uint8_t values[] = {
354  0x00, 0x00, 0x84, 0xA1, 0x03, 0x6F, 0xE4, 0x00,
355  0x00, 0x00, 0x84, 0xA1, 0x03, 0x6E, 0x84, 0xD1,
356  0x03, 0x6C, 0xE0, 0x00, 0x00, 0x00, 0xE8, 0x00,
357  0x00, 0x82, 0x84, 0xC9, 0x03, 0x6D, 0x88
358  };
359  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
360  if (res < 0)
361  return res;
362  }
363 
364  {
365  const uint8_t values[] = {
366  0x07, 0x00, 0x80, 0xEC, 0x00, 0x00, 0x81, 0x10,
367  0x00, 0x18, 0x01, 0x88, 0x47, 0x00, 0x80, 0x02,
368  0x50, 0x02, 0xBC, 0x00, 0xFE, 0x20, 0x99, 0x0C,
369  0x20, 0x08, 0x20
370  };
371  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
372  if (res < 0)
373  return res;
374  }
375 
376  res = tas5825m_set_page(dev, 0x06);
377  if (res < 0)
378  return res;
379 
380  {
381  const uint8_t values[] = {
382  0x02, 0x78, 0x00, 0x02, 0x02, 0x50, 0x02, 0xBC,
383  0x02, 0x40, 0x02, 0xBD, 0x02, 0x70, 0x00, 0x06,
384  0x84, 0x59, 0x03, 0x4F, 0xE2, 0x57, 0x91, 0xBC,
385  0x02, 0xC3, 0x00, 0x10, 0x84, 0xC9, 0x02
386  };
387  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
388  if (res < 0)
389  return res;
390  }
391 
392  {
393  const uint8_t values[] = {
394  0xBD, 0x84, 0xC2, 0x60, 0xE0, 0xF0, 0x1C, 0x71,
395  0xBD, 0xF0, 0x1C, 0x71, 0xBE, 0x02, 0x68, 0x00,
396  0x05, 0xF0, 0x1C, 0x71, 0xBF, 0xF0, 0x1D, 0x71,
397  0xC0, 0xE4, 0x00, 0x11, 0xC3, 0x80, 0x27
398  };
399  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
400  if (res < 0)
401  return res;
402  }
403 
404  {
405  const uint8_t values[] = {
406  0x80, 0xE3, 0xF4, 0x00, 0x11, 0xC1, 0xF4, 0x1F,
407  0x71, 0xC2, 0xF4, 0x1C, 0x71, 0xC4, 0xF4, 0x1D,
408  0x71, 0xC5, 0x84, 0x49, 0x03, 0x57, 0x80, 0x67,
409  0x80, 0xFB, 0x02, 0xD3, 0x00, 0x10, 0xE0
410  };
411  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
412  if (res < 0)
413  return res;
414  }
415 
416  {
417  const uint8_t values[] = {
418  0x10, 0x31, 0xBC, 0x84, 0xCA, 0x20, 0xE0, 0xF0,
419  0x1C, 0x31, 0xBD, 0xF0, 0x1C, 0x31, 0xBE, 0xF0,
420  0x1C, 0x31, 0xBF, 0xF0, 0x1D, 0x31, 0xC0, 0xE4,
421  0x00, 0x11, 0xC3
422  };
423  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
424  if (res < 0)
425  return res;
426  }
427 
428  res = tas5825m_set_page(dev, 0x07);
429  if (res < 0)
430  return res;
431 
432  {
433  const uint8_t values[] = {
434  0x80, 0x27, 0x80, 0xE1, 0xF4, 0x00, 0x11, 0xC1,
435  0xF4, 0x1F, 0x31, 0xC2, 0xF4, 0x1C, 0x31, 0xC4,
436  0xF4, 0x1D, 0x31, 0xC5, 0x84, 0xC2, 0x04, 0x05,
437  0x08, 0xFC, 0x58, 0x10, 0x80, 0x67, 0x80
438  };
439  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
440  if (res < 0)
441  return res;
442  }
443 
444  {
445  const uint8_t values[] = {
446  0xF9, 0x02, 0xD3, 0x00, 0x10, 0x84, 0xCA, 0x04,
447  0x04, 0x08, 0xFC, 0x58, 0x31, 0x84, 0xCA, 0x04,
448  0x06, 0x08, 0x00, 0x0A, 0x21, 0x84, 0xC2, 0x04,
449  0x07, 0x08, 0x00, 0x0A, 0x00, 0xE4, 0x10
450  };
451  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
452  if (res < 0)
453  return res;
454  }
455 
456  {
457  const uint8_t values[] = {
458  0x31, 0xA3, 0xE0, 0x10, 0x00, 0x00, 0xEA, 0x65,
459  0x60, 0x00, 0x02, 0xC3, 0x00, 0x10, 0xEE, 0x65,
460  0x80, 0x00, 0x02, 0xCB, 0x00, 0x10, 0x88, 0x47,
461  0x00, 0x82, 0x09, 0x07, 0x09, 0x31, 0x08
462  };
463  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
464  if (res < 0)
465  return res;
466  }
467 
468  {
469  const uint8_t values[] = {
470  0xFC, 0x48, 0x13, 0x0D, 0x00, 0x10, 0x38, 0x84,
471  0xCB, 0x03, 0x2C, 0x08, 0x60, 0x48, 0x11, 0x84,
472  0x80, 0x04, 0x02, 0xE4, 0x00, 0x00, 0x81, 0x02,
473  0x28, 0x00, 0x02
474  };
475  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
476  if (res < 0)
477  return res;
478  }
479 
480  res = tas5825m_set_page(dev, 0x08);
481  if (res < 0)
482  return res;
483 
484  {
485  const uint8_t values[] = {
486  0x88, 0x67, 0x20, 0x00, 0xE4, 0x00, 0x02, 0x00,
487  0x84, 0xDB, 0x03, 0x2B, 0x80, 0x48, 0x00, 0x81,
488  0x86, 0xD9, 0x01, 0xA9, 0x86, 0xC1, 0x01, 0xAA,
489  0x0D, 0x00, 0x10, 0x38, 0x08, 0xFC, 0x3C
490  };
491  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
492  if (res < 0)
493  return res;
494  }
495 
496  {
497  const uint8_t values[] = {
498  0x12, 0x84, 0x5B, 0x03, 0x4F, 0x84, 0x4B, 0x03,
499  0x57, 0x84, 0xD2, 0x04, 0x02, 0x00, 0x62, 0x20,
500  0xE4, 0x86, 0xD1, 0x01, 0xAC, 0x0D, 0x00, 0x10,
501  0x20, 0x86, 0xC9, 0x01, 0xA8, 0x86, 0xC1
502  };
503  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
504  if (res < 0)
505  return res;
506  }
507 
508  {
509  const uint8_t values[] = {
510  0x01, 0xA7, 0x00, 0xFE, 0x20, 0xE8, 0x08, 0x44,
511  0x26, 0x30, 0x08, 0xFC, 0x3C, 0x71, 0x86, 0xC1,
512  0x01, 0xA6, 0x84, 0xCA, 0x04, 0x02, 0x86, 0xD1,
513  0x01, 0xAB, 0x84, 0x80, 0x04, 0x02, 0xE4
514  };
515  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
516  if (res < 0)
517  return res;
518  }
519 
520  {
521  const uint8_t values[] = {
522  0x00, 0x00, 0x80, 0x88, 0x40, 0x00, 0x80, 0x08,
523  0xFC, 0x08, 0x50, 0x02, 0x28, 0x00, 0x01, 0x02,
524  0xA3, 0x00, 0x18, 0xE4, 0x40, 0x00, 0x00, 0x88,
525  0xC8, 0x00, 0x82
526  };
527  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
528  if (res < 0)
529  return res;
530  }
531 
532  res = tas5825m_set_page(dev, 0x09);
533  if (res < 0)
534  return res;
535 
536  {
537  const uint8_t values[] = {
538  0x84, 0xC9, 0x03, 0x2D, 0x86, 0xC1, 0x01, 0xA5,
539  0x86, 0xD9, 0x01, 0xA4, 0x0D, 0x00, 0x10, 0x48,
540  0x08, 0x44, 0x06, 0x13, 0x86, 0xC1, 0x01, 0xEF,
541  0x84, 0x49, 0x03, 0x37, 0x00, 0xFC, 0x00
542  };
543  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
544  if (res < 0)
545  return res;
546  }
547 
548  {
549  const uint8_t values[] = {
550  0x00, 0xE4, 0x10, 0x40, 0x83, 0xEC, 0x10, 0x20,
551  0x00, 0x88, 0x47, 0x00, 0x82, 0x04, 0x80, 0xA8,
552  0xB3, 0x84, 0x80, 0x04, 0x07, 0xE4, 0x00, 0x00,
553  0x83, 0x84, 0xDB, 0x03, 0x2D, 0x88, 0x40
554  };
555  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
556  if (res < 0)
557  return res;
558  }
559 
560  {
561  const uint8_t values[] = {
562  0x00, 0x83, 0x10, 0x00, 0x1A, 0x22, 0xE4, 0x80,
563  0xC0, 0x00, 0x88, 0x40, 0x00, 0x81, 0x84, 0xD8,
564  0x04, 0x04, 0x0C, 0x20, 0x08, 0x39, 0x86, 0xD1,
565  0x01, 0xF0, 0x84, 0x81, 0x02, 0xBC, 0x86
566  };
567  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
568  if (res < 0)
569  return res;
570  }
571 
572  {
573  const uint8_t values[] = {
574  0xC9, 0x01, 0xF1, 0xE0, 0x00, 0x11, 0xC7, 0x84,
575  0x82, 0x20, 0xE0, 0x84, 0x82, 0x04, 0x02, 0xF0,
576  0x1C, 0x31, 0xC8, 0xF0, 0x1C, 0x31, 0xC9, 0xF0,
577  0x1C, 0x31, 0xCA
578  };
579  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
580  if (res < 0)
581  return res;
582  }
583 
584  res = tas5825m_set_page(dev, 0x0A);
585  if (res < 0)
586  return res;
587 
588  {
589  const uint8_t values[] = {
590  0xF0, 0x1D, 0x31, 0xCB, 0xE4, 0x00, 0x11, 0xCE,
591  0x80, 0x27, 0x80, 0xE1, 0xF4, 0x00, 0x11, 0xCC,
592  0xF4, 0x1F, 0x31, 0xCD, 0xF4, 0x1C, 0x31, 0xCF,
593  0xF4, 0x1D, 0x31, 0xD0, 0x84, 0x41, 0x03
594  };
595  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
596  if (res < 0)
597  return res;
598  }
599 
600  {
601  const uint8_t values[] = {
602  0x2F, 0x80, 0x67, 0x80, 0xF9, 0x02, 0xDB, 0x00,
603  0x10, 0x8F, 0x30, 0x00, 0x00, 0x0C, 0x1C, 0x11,
604  0x74, 0x08, 0x64, 0x66, 0x72, 0x0D, 0x00, 0x10,
605  0x40, 0x08, 0x44, 0x06, 0x12, 0x84, 0xD2
606  };
607  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
608  if (res < 0)
609  return res;
610  }
611 
612  {
613  const uint8_t values[] = {
614  0x41, 0x00, 0xE0, 0x10, 0x51, 0xD1, 0xF0, 0x1C,
615  0x11, 0xD2, 0xF0, 0x1C, 0x11, 0xD3, 0xF0, 0x1C,
616  0x11, 0xD4, 0xF0, 0x1D, 0x11, 0xD5, 0xE4, 0x00,
617  0x11, 0xD8, 0x80, 0x27, 0x80, 0xE0, 0xF4
618  };
619  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
620  if (res < 0)
621  return res;
622  }
623 
624  {
625  const uint8_t values[] = {
626  0x00, 0x11, 0xD6, 0xF4, 0x20, 0x11, 0xD7, 0x84,
627  0x84, 0x00, 0xF8, 0xF4, 0x1C, 0x11, 0xD9, 0x84,
628  0x4B, 0x03, 0x37, 0xF4, 0x1D, 0x11, 0xDA, 0x84,
629  0x49, 0x03, 0x5F
630  };
631  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
632  if (res < 0)
633  return res;
634  }
635 
636  res = tas5825m_set_page(dev, 0x0B);
637  if (res < 0)
638  return res;
639 
640  {
641  const uint8_t values[] = {
642  0x80, 0x67, 0x80, 0xF8, 0xE0, 0x00, 0x11, 0xDB,
643  0x84, 0x82, 0x21, 0x00, 0x84, 0x82, 0x20, 0xE0,
644  0xF0, 0x1C, 0x31, 0xDC, 0xF0, 0x1C, 0x31, 0xDD,
645  0xF0, 0x1C, 0x31, 0xDE, 0xF0, 0x1D, 0x31
646  };
647  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
648  if (res < 0)
649  return res;
650  }
651 
652  {
653  const uint8_t values[] = {
654  0xDF, 0xE4, 0x00, 0x11, 0xE2, 0x80, 0x27, 0x80,
655  0xE1, 0xF4, 0x00, 0x11, 0xE0, 0xF4, 0x1F, 0x31,
656  0xE1, 0xF4, 0x1C, 0x31, 0xE3, 0xF4, 0x1D, 0x31,
657  0xE4, 0x84, 0x51, 0x03, 0x60, 0x80, 0x67
658  };
659  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
660  if (res < 0)
661  return res;
662  }
663 
664  {
665  const uint8_t values[] = {
666  0x80, 0xF9, 0xE4, 0x00, 0x00, 0x81, 0xE0, 0x80,
667  0x51, 0xE5, 0x84, 0x82, 0x40, 0xE0, 0xF0, 0x1C,
668  0x51, 0xE6, 0xF0, 0x1C, 0x51, 0xE7, 0xF0, 0x1C,
669  0x51, 0xE8, 0x88, 0x47, 0x00, 0x80, 0xF0
670  };
671  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
672  if (res < 0)
673  return res;
674  }
675 
676  {
677  const uint8_t values[] = {
678  0x1D, 0x51, 0xE9, 0xE4, 0x00, 0x11, 0xEC, 0x80,
679  0x27, 0x80, 0xE2, 0xF4, 0x00, 0x11, 0xEA, 0xF4,
680  0x1F, 0x51, 0xEB, 0xF4, 0x1C, 0x51, 0xED, 0xF4,
681  0x1D, 0x51, 0xEE
682  };
683  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
684  if (res < 0)
685  return res;
686  }
687 
688  res = tas5825m_set_page(dev, 0x0C);
689  if (res < 0)
690  return res;
691 
692  {
693  const uint8_t values[] = {
694  0x02, 0x58, 0x02, 0xBC, 0x08, 0xFC, 0x0D, 0x18,
695  0x80, 0x67, 0x80, 0xFA, 0x02, 0xD3, 0x00, 0x10,
696  0x10, 0x00, 0x18, 0x03, 0x84, 0x43, 0x03, 0x2F,
697  0x84, 0x4B, 0x03, 0x5F, 0x84, 0x53, 0x03
698  };
699  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
700  if (res < 0)
701  return res;
702  }
703 
704  {
705  const uint8_t values[] = {
706  0x60, 0x84, 0x41, 0x03, 0x47, 0x84, 0x51, 0x03,
707  0x3F, 0x84, 0xC1, 0x02, 0xBD, 0x00, 0xFC, 0x00,
708  0x00, 0x02, 0x48, 0x02, 0xBD, 0x02, 0x11, 0xFF,
709  0xF8, 0x86, 0xD1, 0x01, 0xEF, 0x86, 0xC9
710  };
711  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
712  if (res < 0)
713  return res;
714  }
715 
716  {
717  const uint8_t values[] = {
718  0x01, 0xF0, 0x86, 0x1D, 0x01, 0xF1, 0xE0, 0x10,
719  0x11, 0xC7, 0x86, 0xA1, 0x01, 0xC8, 0x84, 0xC2,
720  0x00, 0xE0, 0xF0, 0x1C, 0x00, 0x00, 0xF0, 0x1C,
721  0x11, 0xC9, 0xF0, 0x1C, 0x11, 0xCA, 0xF0
722  };
723  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
724  if (res < 0)
725  return res;
726  }
727 
728  {
729  const uint8_t values[] = {
730  0x1D, 0x11, 0xCB, 0xE4, 0x00, 0x11, 0xCE, 0x80,
731  0x27, 0x80, 0xE0, 0x84, 0x1E, 0x04, 0x02, 0x02,
732  0x78, 0x00, 0x02, 0xF4, 0x00, 0x11, 0xCC, 0xF4,
733  0x1F, 0x11, 0xCD
734  };
735  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
736  if (res < 0)
737  return res;
738  }
739 
740  res = tas5825m_set_page(dev, 0x0D);
741  if (res < 0)
742  return res;
743 
744  {
745  const uint8_t values[] = {
746  0xF4, 0x1C, 0x11, 0xCF, 0xF4, 0x1D, 0x11, 0xD0,
747  0x86, 0xA1, 0x01, 0xD1, 0x80, 0x67, 0x80, 0xF8,
748  0x84, 0x43, 0x03, 0x47, 0x84, 0x59, 0x03, 0x62,
749  0x8F, 0xA0, 0x00, 0x00, 0x02, 0xDB, 0x00
750  };
751  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
752  if (res < 0)
753  return res;
754  }
755 
756  {
757  const uint8_t values[] = {
758  0x10, 0x0C, 0x1C, 0x51, 0x6C, 0x08, 0x64, 0x66,
759  0x71, 0x0D, 0x00, 0x10, 0x30, 0x08, 0x44, 0x46,
760  0x51, 0x84, 0xCA, 0x01, 0x00, 0xE0, 0x10, 0x20,
761  0x00, 0xF0, 0x1C, 0x51, 0xD2, 0xF0, 0x1C
762  };
763  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
764  if (res < 0)
765  return res;
766  }
767 
768  {
769  const uint8_t values[] = {
770  0x51, 0xD3, 0xF0, 0x1C, 0x51, 0xD4, 0xF0, 0x1D,
771  0x51, 0xD5, 0xE4, 0x00, 0x11, 0xD8, 0x80, 0x27,
772  0x80, 0xE2, 0xF4, 0x00, 0x11, 0xD6, 0xF4, 0x1F,
773  0x51, 0xD7, 0xF4, 0x1C, 0x51, 0xD9, 0xF4
774  };
775  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
776  if (res < 0)
777  return res;
778  }
779 
780  {
781  const uint8_t values[] = {
782  0x1D, 0x51, 0xDA, 0x84, 0x41, 0x03, 0x61, 0x80,
783  0x67, 0x80, 0xFA, 0xE0, 0x00, 0x11, 0xDB, 0x84,
784  0x82, 0x01, 0x00, 0x84, 0x82, 0x00, 0xE0, 0xF0,
785  0x1C, 0x11, 0xDC
786  };
787  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
788  if (res < 0)
789  return res;
790  }
791 
792  res = tas5825m_set_page(dev, 0x0E);
793  if (res < 0)
794  return res;
795 
796  {
797  const uint8_t values[] = {
798  0xF0, 0x1C, 0x11, 0xDD, 0xF0, 0x1C, 0x11, 0xDE,
799  0xF0, 0x1D, 0x11, 0xDF, 0xE4, 0x00, 0x11, 0xE2,
800  0x80, 0x27, 0x80, 0xE0, 0xF4, 0x00, 0x11, 0xE0,
801  0xF4, 0x1F, 0x11, 0xE1, 0xF4, 0x1C, 0x11
802  };
803  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
804  if (res < 0)
805  return res;
806  }
807 
808  {
809  const uint8_t values[] = {
810  0xE3, 0x02, 0x83, 0x00, 0x18, 0x84, 0xC2, 0x60,
811  0xE0, 0x86, 0xC1, 0x01, 0xE4, 0xE0, 0x00, 0x11,
812  0xE5, 0xF4, 0x1D, 0x00, 0x80, 0x84, 0xA0, 0x04,
813  0x02, 0x80, 0x67, 0x80, 0xF8, 0xE4, 0x00
814  };
815  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
816  if (res < 0)
817  return res;
818  }
819 
820  {
821  const uint8_t values[] = {
822  0x00, 0x00, 0xF0, 0x1C, 0x71, 0xE6, 0xF0, 0x1C,
823  0x71, 0xE7, 0xF0, 0x1C, 0x71, 0xE8, 0xF0, 0x1D,
824  0x71, 0xE9, 0x86, 0xA1, 0x01, 0xEC, 0x88, 0x47,
825  0x00, 0x80, 0xE4, 0x00, 0x00, 0x00, 0x80
826  };
827  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
828  if (res < 0)
829  return res;
830  }
831 
832  {
833  const uint8_t values[] = {
834  0x27, 0x80, 0xE3, 0xF4, 0x00, 0x11, 0xEA, 0xF4,
835  0x1F, 0x71, 0xEB, 0xF4, 0x1C, 0x71, 0xED, 0xF4,
836  0x1D, 0x71, 0xEE, 0x86, 0xC9, 0x01, 0xA1, 0x80,
837  0x67, 0x80, 0xFB
838  };
839  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
840  if (res < 0)
841  return res;
842  }
843 
844  res = tas5825m_set_page(dev, 0x0F);
845  if (res < 0)
846  return res;
847 
848  {
849  const uint8_t values[] = {
850  0x84, 0x5B, 0x03, 0x62, 0x08, 0x00, 0x10, 0x20,
851  0x02, 0xD3, 0x00, 0x10, 0x84, 0x53, 0x03, 0x3F,
852  0x84, 0x43, 0x03, 0x61, 0x08, 0xFC, 0x0D, 0x18,
853  0x02, 0x50, 0x02, 0xBD, 0x00, 0x26, 0x21
854  };
855  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
856  if (res < 0)
857  return res;
858  }
859 
860  {
861  const uint8_t values[] = {
862  0xB7, 0x10, 0x00, 0x18, 0x01, 0x86, 0xC1, 0x01,
863  0xC6, 0x84, 0xC3, 0x03, 0x63, 0x02, 0xC0, 0x03,
864  0x63, 0x84, 0x52, 0x04, 0x00, 0x02, 0x48, 0x02,
865  0xBC, 0x84, 0xC2, 0x04, 0x01, 0x00, 0xFF
866  };
867  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
868  if (res < 0)
869  return res;
870  }
871 
872  {
873  const uint8_t values[] = {
874  0x10, 0xB0, 0x8C, 0xFF, 0x02, 0xBC, 0x00, 0xFE,
875  0x21, 0xDA, 0x00, 0xFC, 0x00, 0x00, 0x86, 0xC9,
876  0x01, 0xA0, 0x84, 0x81, 0x02, 0xBC, 0x02, 0xA3,
877  0x00, 0x10, 0xE4, 0x00, 0x00, 0x00, 0x84
878  };
879  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
880  if (res < 0)
881  return res;
882  }
883 
884  {
885  const uint8_t values[] = {
886  0x81, 0x02, 0xBD, 0x88, 0x47, 0x13, 0x25, 0x02,
887  0xA3, 0x00, 0x10, 0xE4, 0x00, 0x00, 0x00, 0x88,
888  0x47, 0x13, 0x26, 0x02, 0x40, 0x03, 0x28, 0x84,
889  0xC1, 0x03, 0x25
890  };
891  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
892  if (res < 0)
893  return res;
894  }
895 
896  res = tas5825m_set_page(dev, 0x10);
897  if (res < 0)
898  return res;
899 
900  {
901  const uint8_t values[] = {
902  0x00, 0xFF, 0x11, 0x4E, 0x00, 0xFC, 0x00, 0x00,
903  0x02, 0x40, 0x03, 0x29, 0x86, 0xC9, 0x01, 0xA0,
904  0x84, 0xC1, 0x03, 0x26, 0x00, 0xFF, 0x11, 0x4E,
905  0x00, 0xFC, 0x00, 0x00, 0x86, 0xC1, 0x01
906  };
907  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
908  if (res < 0)
909  return res;
910  }
911 
912  {
913  const uint8_t values[] = {
914  0xA2, 0x84, 0xC3, 0x03, 0x2A, 0x02, 0xC0, 0x03,
915  0x29, 0x02, 0xC8, 0x03, 0x26, 0x02, 0x40, 0x03,
916  0x28, 0x02, 0x48, 0x03, 0x25, 0x02, 0x50, 0x03,
917  0x2A, 0x84, 0xC2, 0x04, 0x00, 0x84, 0xCA
918  };
919  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
920  if (res < 0)
921  return res;
922  }
923 
924  {
925  const uint8_t values[] = {
926  0x04, 0x01, 0x00, 0xFF, 0x21, 0xDF, 0x00, 0xFC,
927  0x00, 0x00, 0x84, 0xA1, 0x02, 0xBC, 0xE6, 0x64,
928  0xA0, 0x00, 0x88, 0x47, 0x12, 0xBC, 0x84, 0xA1,
929  0x03, 0x26, 0xE6, 0x57, 0xA0, 0x00, 0x88
930  };
931  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
932  if (res < 0)
933  return res;
934  }
935 
936  {
937  const uint8_t values[] = {
938  0x47, 0x12, 0xBD, 0x84, 0x00, 0x04, 0x03, 0x00,
939  0xFC, 0x00, 0x00, 0x02, 0xC0, 0x00, 0x00, 0x00,
940  0xFC, 0x50, 0x00, 0x8F, 0x00, 0x00, 0x08, 0x8F,
941  0x00, 0xFF, 0xFF
942  };
943  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
944  if (res < 0)
945  return res;
946  }
947 
948  res = tas5825m_set_page(dev, 0x11);
949  if (res < 0)
950  return res;
951 
952  {
953  const uint8_t values[] = {
954  0x84, 0x58, 0x04, 0x01, 0x84, 0xA1, 0x03, 0x68,
955  0x84, 0xC1, 0x03, 0x67, 0xE0, 0xE0, 0x00, 0x00,
956  0x02, 0xCA, 0x60, 0x00, 0x40, 0x40, 0xA0, 0x00,
957  0x80, 0x00, 0xC0, 0x82, 0x08, 0xFC, 0x48
958  };
959  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
960  if (res < 0)
961  return res;
962  }
963 
964  {
965  const uint8_t values[] = {
966  0x3A, 0x08, 0xFC, 0x38, 0x52, 0x84, 0x58, 0x04,
967  0x02, 0xE0, 0x10, 0x40, 0x00, 0x84, 0xA0, 0x41,
968  0x00, 0x40, 0x47, 0x20, 0x00, 0x02, 0xD3, 0x00,
969  0x10, 0x84, 0xA2, 0x04, 0x00, 0x84, 0xA1
970  };
971  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
972  if (res < 0)
973  return res;
974  }
975 
976  {
977  const uint8_t values[] = {
978  0x03, 0x66, 0xE4, 0x20, 0x00, 0x00, 0x08, 0x00,
979  0x28, 0x42, 0x45, 0x40, 0xA0, 0x00, 0x80, 0x40,
980  0xC0, 0x83, 0x08, 0xFC, 0x68, 0x3B, 0x08, 0xFC,
981  0x38, 0x71, 0x84, 0xD3, 0x03, 0x68, 0xE4
982  };
983  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
984  if (res < 0)
985  return res;
986  }
987 
988  {
989  const uint8_t values[] = {
990  0x10, 0x20, 0x00, 0x84, 0xA0, 0x04, 0x00, 0x45,
991  0x47, 0x20, 0x00, 0x02, 0xD3, 0x00, 0x10, 0x80,
992  0x40, 0xC0, 0x81, 0x0D, 0x00, 0x10, 0x20, 0x08,
993  0x00, 0x28, 0x42
994  };
995  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
996  if (res < 0)
997  return res;
998  }
999 
1000  res = tas5825m_set_page(dev, 0x12);
1001  if (res < 0)
1002  return res;
1003 
1004  {
1005  const uint8_t values[] = {
1006  0x84, 0xD3, 0x03, 0x66, 0x86, 0xD1, 0x01, 0x9C,
1007  0x86, 0xD9, 0x01, 0x9B, 0x08, 0xFC, 0x3C, 0x11,
1008  0x08, 0x44, 0x46, 0x53, 0x00, 0xFC, 0x00, 0x00,
1009  0x02, 0x83, 0x00, 0x19, 0x02, 0xA3, 0x00
1010  };
1011  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1012  if (res < 0)
1013  return res;
1014  }
1015 
1016  {
1017  const uint8_t values[] = {
1018  0x1B, 0x80, 0x00, 0xC0, 0x83, 0x84, 0xC9, 0x03,
1019  0x69, 0x0D, 0x00, 0x10, 0x68, 0x08, 0xFC, 0x7C,
1020  0x33, 0xE0, 0x00, 0x00, 0x00, 0x02, 0x83, 0x00,
1021  0x1B, 0x86, 0xD9, 0x01, 0x9B, 0x08, 0x44
1022  };
1023  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1024  if (res < 0)
1025  return res;
1026  }
1027 
1028  {
1029  const uint8_t values[] = {
1030  0x46, 0x53, 0x80, 0x07, 0x00, 0x82, 0xE0, 0x00,
1031  0x00, 0x83, 0x80, 0x07, 0x00, 0x83, 0x0C, 0x60,
1032  0x0C, 0x10, 0x0C, 0xE0, 0x0C, 0x39, 0x84, 0xC3,
1033  0x03, 0x67, 0x84, 0xCB, 0x03, 0x69, 0x00
1034  };
1035  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1036  if (res < 0)
1037  return res;
1038  }
1039 
1040  {
1041  const uint8_t values[] = {
1042  0xFC, 0x50, 0x00, 0x8F, 0x00, 0x00, 0x01
1043  };
1044  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
1045  if (res < 0)
1046  return res;
1047  }
1048 
1049  res = tas5825m_set_book(dev, 0x78);
1050  if (res < 0)
1051  return res;
1052 
1053  res = tas5825m_set_page(dev, 0x18);
1054  if (res < 0)
1055  return res;
1056 
1057  {
1058  const uint8_t values[] = {
1059  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1060  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1061  0x00, 0x00, 0x00, 0x00
1062  };
1063  res = tas5825m_write_block_at(dev, 0x30, values, ARRAY_SIZE(values));
1064  if (res < 0)
1065  return res;
1066  }
1067 
1068  res = tas5825m_set_book(dev, 0x78);
1069  if (res < 0)
1070  return res;
1071 
1072  res = tas5825m_set_page(dev, 0x1C);
1073  if (res < 0)
1074  return res;
1075 
1076  {
1077  const uint8_t values[] = {
1078  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1079  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1080  0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
1081  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1082  };
1083  res = tas5825m_write_block_at(dev, 0x0C, values, ARRAY_SIZE(values));
1084  if (res < 0)
1085  return res;
1086  }
1087 
1088  {
1089  const uint8_t values[] = {
1090  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1091  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1092  0x00
1093  };
1094  res = tas5825m_write_block_at(dev, 0x2B, values, ARRAY_SIZE(values));
1095  if (res < 0)
1096  return res;
1097  }
1098 
1099  res = tas5825m_set_book(dev, 0x78);
1100  if (res < 0)
1101  return res;
1102 
1103  res = tas5825m_set_page(dev, 0x1C);
1104  if (res < 0)
1105  return res;
1106 
1107  {
1108  const uint8_t values[] = {
1109  0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00,
1110  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1111  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1112  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1113  };
1114  res = tas5825m_write_block_at(dev, 0x3C, values, ARRAY_SIZE(values));
1115  if (res < 0)
1116  return res;
1117  }
1118 
1119  res = tas5825m_write_at(dev, 0x5B, 0x00);
1120  if (res < 0)
1121  return res;
1122 
1123  res = tas5825m_set_book(dev, 0x78);
1124  if (res < 0)
1125  return res;
1126 
1127  res = tas5825m_set_page(dev, 0x1C);
1128  if (res < 0)
1129  return res;
1130 
1131  {
1132  const uint8_t values[] = {
1133  0x00, 0x00, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00,
1134  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1135  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1136  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1137  };
1138  res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
1139  if (res < 0)
1140  return res;
1141  }
1142 
1143  res = tas5825m_write_at(dev, 0x7B, 0x00);
1144  if (res < 0)
1145  return res;
1146 
1147  res = tas5825m_set_book(dev, 0x78);
1148  if (res < 0)
1149  return res;
1150 
1151  res = tas5825m_set_page(dev, 0x1C);
1152  if (res < 0)
1153  return res;
1154 
1155  {
1156  const uint8_t values[] = {
1157  0x00, 0x00, 0x03, 0x48
1158  };
1159  res = tas5825m_write_block_at(dev, 0x7C, values, ARRAY_SIZE(values));
1160  if (res < 0)
1161  return res;
1162  }
1163 
1164  res = tas5825m_set_page(dev, 0x1D);
1165  if (res < 0)
1166  return res;
1167 
1168  {
1169  const uint8_t values[] = {
1170  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1171  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1172  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1173  0x00, 0x00, 0x00, 0x00
1174  };
1175  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1176  if (res < 0)
1177  return res;
1178  }
1179 
1180  res = tas5825m_set_book(dev, 0x78);
1181  if (res < 0)
1182  return res;
1183 
1184  res = tas5825m_set_page(dev, 0x1D);
1185  if (res < 0)
1186  return res;
1187 
1188  {
1189  const uint8_t values[] = {
1190  0x00, 0x00, 0x03, 0x50, 0x00, 0x00, 0x00, 0x00,
1191  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1192  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1193  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1194  };
1195  res = tas5825m_write_block_at(dev, 0x24, values, ARRAY_SIZE(values));
1196  if (res < 0)
1197  return res;
1198  }
1199 
1200  res = tas5825m_write_at(dev, 0x43, 0x00);
1201  if (res < 0)
1202  return res;
1203 
1204  res = tas5825m_set_book(dev, 0x78);
1205  if (res < 0)
1206  return res;
1207 
1208  res = tas5825m_set_page(dev, 0x1D);
1209  if (res < 0)
1210  return res;
1211 
1212  {
1213  const uint8_t values[] = {
1214  0x00, 0x00, 0x03, 0x58, 0x00, 0x00, 0x00, 0x00,
1215  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1216  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1217  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1218  };
1219  res = tas5825m_write_block_at(dev, 0x44, values, ARRAY_SIZE(values));
1220  if (res < 0)
1221  return res;
1222  }
1223 
1224  res = tas5825m_write_at(dev, 0x63, 0x00);
1225  if (res < 0)
1226  return res;
1227 
1228  res = tas5825m_set_book(dev, 0x78);
1229  if (res < 0)
1230  return res;
1231 
1232  res = tas5825m_set_page(dev, 0x1D);
1233  if (res < 0)
1234  return res;
1235 
1236  {
1237  const uint8_t values[] = {
1238  0x00, 0x00, 0x03, 0x70, 0x00, 0x00, 0x03, 0x80,
1239  0x00, 0x00, 0x03, 0x88, 0x00, 0x00, 0x03, 0x90,
1240  0x00, 0x00, 0x00, 0x00
1241  };
1242  res = tas5825m_write_block_at(dev, 0x64, values, ARRAY_SIZE(values));
1243  if (res < 0)
1244  return res;
1245  }
1246 
1247  res = tas5825m_set_book(dev, 0x78);
1248  if (res < 0)
1249  return res;
1250 
1251  res = tas5825m_set_page(dev, 0x1D);
1252  if (res < 0)
1253  return res;
1254 
1255  {
1256  const uint8_t values[] = {
1257  0x00, 0x00, 0x03, 0x98, 0x00, 0x00, 0x03, 0xA0,
1258  };
1259  res = tas5825m_write_block_at(dev, 0x78, values, ARRAY_SIZE(values));
1260  if (res < 0)
1261  return res;
1262  }
1263 
1264  res = tas5825m_set_page(dev, 0x1E);
1265  if (res < 0)
1266  return res;
1267 
1268  {
1269  const uint8_t values[] = {
1270  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1271  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1272  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1273  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1274  };
1275  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1276  if (res < 0)
1277  return res;
1278  }
1279 
1280  {
1281  const uint8_t values[] = {
1282  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1283  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1284  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1285  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1286  };
1287  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1288  if (res < 0)
1289  return res;
1290  }
1291 
1292  {
1293  const uint8_t values[] = {
1294  0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1295  };
1296  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1297  if (res < 0)
1298  return res;
1299  }
1300 
1301  res = tas5825m_set_book(dev, 0x78);
1302  if (res < 0)
1303  return res;
1304 
1305  res = tas5825m_set_page(dev, 0x1E);
1306  if (res < 0)
1307  return res;
1308 
1309  {
1310  const uint8_t values[] = {
1311  0x00, 0x00, 0x03, 0xA8, 0x00, 0x00, 0x03, 0xB0,
1312  0x00, 0x00, 0x03, 0xB8, 0x00, 0x00, 0x00, 0x00,
1313  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1314  0x00, 0x00, 0x00, 0x00
1315  };
1316  res = tas5825m_write_block_at(dev, 0x4C, values, ARRAY_SIZE(values));
1317  if (res < 0)
1318  return res;
1319  }
1320 
1321  res = tas5825m_set_book(dev, 0x78);
1322  if (res < 0)
1323  return res;
1324 
1325  res = tas5825m_set_page(dev, 0x1E);
1326  if (res < 0)
1327  return res;
1328 
1329  {
1330  const uint8_t values[] = {
1331  0x00, 0x00, 0x03, 0xC0
1332  };
1333  res = tas5825m_write_block_at(dev, 0x68, values, ARRAY_SIZE(values));
1334  if (res < 0)
1335  return res;
1336  }
1337 
1338  res = tas5825m_set_book(dev, 0x8C);
1339  if (res < 0)
1340  return res;
1341 
1342  res = tas5825m_set_page(dev, 0x0E);
1343  if (res < 0)
1344  return res;
1345 
1346  {
1347  const uint8_t values[] = {
1348  0x00, 0x20, 0xC4, 0x9C, 0x00, 0x20, 0xC4, 0x9C,
1349  0x02, 0xDE, 0xAD, 0x00, 0x74, 0x01, 0x39, 0x01,
1350  0x00, 0x20, 0xC4, 0x9B, 0x00, 0xA7, 0x26, 0x4A,
1351  0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF
1352  };
1353  res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
1354  if (res < 0)
1355  return res;
1356  }
1357 
1358  {
1359  const uint8_t values[] = {
1360  0xFF, 0x7F, 0xFF, 0xFF, 0xFF
1361  };
1362  res = tas5825m_write_block_at(dev, 0x7B, values, ARRAY_SIZE(values));
1363  if (res < 0)
1364  return res;
1365  }
1366 
1367  res = tas5825m_set_page(dev, 0x0F);
1368  if (res < 0)
1369  return res;
1370 
1371  {
1372  const uint8_t values[] = {
1373  0x7F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF,
1374  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1375  0x00, 0x00, 0x00, 0x00, 0xE7, 0x00, 0x00, 0x00,
1376  0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
1377  };
1378  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1379  if (res < 0)
1380  return res;
1381  }
1382 
1383  {
1384  const uint8_t values[] = {
1385  0x00, 0x00, 0x00, 0x00, 0x00
1386  };
1387  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1388  if (res < 0)
1389  return res;
1390  }
1391 
1392  res = tas5825m_set_book(dev, 0x8C);
1393  if (res < 0)
1394  return res;
1395 
1396  res = tas5825m_set_page(dev, 0x0F);
1397  if (res < 0)
1398  return res;
1399 
1400  {
1401  const uint8_t values[] = {
1402  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1403  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1405  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1406  };
1407  res = tas5825m_write_block_at(dev, 0x2C, values, ARRAY_SIZE(values));
1408  if (res < 0)
1409  return res;
1410  }
1411 
1412  {
1413  const uint8_t values[] = {
1414  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1415  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1416  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1417  0x00, 0x00, 0x00, 0x00, 0x00
1418  };
1419  res = tas5825m_write_block_at(dev, 0x4B, values, ARRAY_SIZE(values));
1420  if (res < 0)
1421  return res;
1422  }
1423 
1424  res = tas5825m_set_book(dev, 0x8C);
1425  if (res < 0)
1426  return res;
1427 
1428  res = tas5825m_set_page(dev, 0x0F);
1429  if (res < 0)
1430  return res;
1431 
1432  {
1433  const uint8_t values[] = {
1434  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1435  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1436  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1437  };
1438  res = tas5825m_write_block_at(dev, 0x68, values, ARRAY_SIZE(values));
1439  if (res < 0)
1440  return res;
1441  }
1442 
1443  res = tas5825m_set_page(dev, 0x10);
1444  if (res < 0)
1445  return res;
1446 
1447  {
1448  const uint8_t values[] = {
1449  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1451  0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x62, 0x48, 0x8E,
1452  0xFF, 0x83, 0xE9, 0x30, 0x00, 0x2E, 0x18
1453  };
1454  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1455  if (res < 0)
1456  return res;
1457  }
1458 
1459  {
1460  const uint8_t values[] = {
1461  0x72, 0x0F, 0x40, 0xAE, 0x1F, 0xF8, 0x9A, 0x41,
1462  0xD5, 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
1463  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1464  0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF
1465  };
1466  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1467  if (res < 0)
1468  return res;
1469  }
1470 
1471  {
1472  const uint8_t values[] = {
1473  0xFF, 0xFF, 0xF0, 0xBF, 0x51, 0xE1, 0x07, 0x65,
1474  0xBE, 0x2B, 0x0A, 0x19, 0xBB, 0x39, 0xFC, 0x3F,
1475  0x79, 0xE8, 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
1476  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1477  };
1478  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1479  if (res < 0)
1480  return res;
1481  }
1482 
1483  {
1484  const uint8_t values[] = {
1485  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1486  0x5C, 0x79, 0x55, 0x00, 0xB8, 0xF2, 0xAB, 0x00,
1487  0x5C, 0x79, 0x55, 0x0D, 0x98, 0xCC, 0x51, 0xFA,
1488  0x16, 0x2B, 0x95
1489  };
1490  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
1491  if (res < 0)
1492  return res;
1493  }
1494 
1495  res = tas5825m_set_page(dev, 0x11);
1496  if (res < 0)
1497  return res;
1498 
1499  {
1500  const uint8_t values[] = {
1501  0x00, 0x5C, 0x79, 0x55, 0x00, 0xB8, 0xF2, 0xAB,
1502  0x00, 0x5C, 0x79, 0x55, 0x0D, 0x98, 0xCC, 0x51,
1503  0xFA, 0x16, 0x2B, 0x95, 0x06, 0xE0, 0xA8, 0x2F,
1504  0xF2, 0x3E, 0xAF, 0xA2, 0x06, 0xE0, 0xA8
1505  };
1506  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1507  if (res < 0)
1508  return res;
1509  }
1510 
1511  {
1512  const uint8_t values[] = {
1513  0x2F, 0x0D, 0x98, 0xCC, 0x51, 0xFA, 0x16, 0x2B,
1514  0x95, 0x06, 0xE0, 0xA8, 0x2F, 0xF2, 0x3E, 0xAF,
1515  0xA2, 0x06, 0xE0, 0xA8, 0x2F, 0x0D, 0x98, 0xCC,
1516  0x51, 0xFA, 0x16, 0x2B, 0x95, 0x02, 0x4D
1517  };
1518  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1519  if (res < 0)
1520  return res;
1521  }
1522 
1523  {
1524  const uint8_t values[] = {
1525  0x99, 0x99, 0xFD, 0xB2, 0x66, 0x67, 0x00, 0x80,
1526  0x00, 0x00
1527  };
1528  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1529  if (res < 0)
1530  return res;
1531  }
1532 
1533  res = tas5825m_set_book(dev, 0x00);
1534  if (res < 0)
1535  return res;
1536 
1537  res = tas5825m_write_at(dev, 0x40, 0x00);
1538  if (res < 0)
1539  return res;
1540 
1541  res = tas5825m_set_book(dev, 0x00);
1542  if (res < 0)
1543  return res;
1544 
1545  {
1546  const uint8_t values[] = {
1547  0x11, 0xFF
1548  };
1549  res = tas5825m_write_block_at(dev, 0x7D, values, ARRAY_SIZE(values));
1550  if (res < 0)
1551  return res;
1552  }
1553 
1554  res = tas5825m_set_page(dev, 0x01);
1555  if (res < 0)
1556  return res;
1557 
1558  res = tas5825m_write_at(dev, 0x51, 0x05);
1559  if (res < 0)
1560  return res;
1561 
1562  res = tas5825m_set_page(dev, 0x02);
1563  if (res < 0)
1564  return res;
1565 
1566  res = tas5825m_write_at(dev, 0x19, 0xDF);
1567  if (res < 0)
1568  return res;
1569 
1570  res = tas5825m_set_page(dev, 0x00);
1571  if (res < 0)
1572  return res;
1573 
1574  res = tas5825m_set_page(dev, 0x00);
1575  if (res < 0)
1576  return res;
1577 
1578  res = tas5825m_set_page(dev, 0x00);
1579  if (res < 0)
1580  return res;
1581 
1582  res = tas5825m_set_book(dev, 0x8C);
1583  if (res < 0)
1584  return res;
1585 
1586  res = tas5825m_set_page(dev, 0x0B);
1587  if (res < 0)
1588  return res;
1589 
1590  {
1591  const uint8_t values[] = {
1592  0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
1593  };
1594  res = tas5825m_write_block_at(dev, 0x28, values, ARRAY_SIZE(values));
1595  if (res < 0)
1596  return res;
1597  }
1598 
1599  {
1600  const uint8_t values[] = {
1601  0x00, 0x20, 0xC4, 0x9C
1602  };
1603  res = tas5825m_write_block_at(dev, 0x50, values, ARRAY_SIZE(values));
1604  if (res < 0)
1605  return res;
1606  }
1607 
1608  {
1609  const uint8_t values[] = {
1610  0x7F, 0xFF, 0xFF, 0xFF
1611  };
1612  res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
1613  if (res < 0)
1614  return res;
1615  }
1616 
1617  res = tas5825m_set_book(dev, 0x8C);
1618  if (res < 0)
1619  return res;
1620 
1621  res = tas5825m_set_page(dev, 0x01);
1622  if (res < 0)
1623  return res;
1624 
1625  {
1626  const uint8_t values[] = {
1627  0xC0, 0x00, 0x00, 0x00, 0x00, 0x71, 0x94, 0x9A,
1628  };
1629  res = tas5825m_write_block_at(dev, 0x28, values, ARRAY_SIZE(values));
1630  if (res < 0)
1631  return res;
1632  }
1633 
1634  res = tas5825m_set_page(dev, 0x0A);
1635  if (res < 0)
1636  return res;
1637 
1638  {
1639  const uint8_t values[] = {
1640  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1641  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
1642  0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1643  0x00, 0x00, 0x00, 0x00
1644  };
1645  res = tas5825m_write_block_at(dev, 0x64, values, ARRAY_SIZE(values));
1646  if (res < 0)
1647  return res;
1648  }
1649 
1650  res = tas5825m_set_page(dev, 0x0B);
1651  if (res < 0)
1652  return res;
1653 
1654  {
1655  const uint8_t values[] = {
1656  0x00, 0x80, 0x00, 0x00, 0x00, 0x39, 0x2C, 0xEE,
1657  0x00, 0x39, 0x2C, 0xEE, 0x00, 0x80, 0x00, 0x00,
1658  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1659  0x00, 0x80, 0x00, 0x00
1660  };
1661  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1662  if (res < 0)
1663  return res;
1664  }
1665 
1666  {
1667  const uint8_t values[] = {
1668  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1669  0x00, 0x00, 0x57, 0x62, 0x00, 0x00, 0x00, 0x00,
1670  };
1671  res = tas5825m_write_block_at(dev, 0x28, values, ARRAY_SIZE(values));
1672  if (res < 0)
1673  return res;
1674  }
1675 
1676  {
1677  const uint8_t values[] = {
1678  0x02, 0x96, 0x7E, 0x0C, 0x00, 0x01, 0xB4, 0xE8,
1679  };
1680  res = tas5825m_write_block_at(dev, 0x48, values, ARRAY_SIZE(values));
1681  if (res < 0)
1682  return res;
1683  }
1684 
1685  {
1686  const uint8_t values[] = {
1687  0x7D, 0x69, 0x81, 0xF4, 0x00, 0x00, 0x2B, 0xB1,
1688  };
1689  res = tas5825m_write_block_at(dev, 0x54, values, ARRAY_SIZE(values));
1690  if (res < 0)
1691  return res;
1692  }
1693 
1694  res = tas5825m_set_page(dev, 0x0E);
1695  if (res < 0)
1696  return res;
1697 
1698  {
1699  const uint8_t values[] = {
1700  0x00, 0x22, 0x1D, 0x95, 0x00, 0x03, 0x69, 0xC5,
1701  0x00, 0x03, 0x69, 0xC5, 0x1C, 0x1B, 0xF0, 0x41,
1702  0x04, 0x0C, 0x37, 0x14, 0x00, 0x03, 0x69, 0xC5,
1703  0x00, 0x00, 0x00, 0x00, 0x00, 0x5C, 0x42
1704  };
1705  res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
1706  if (res < 0)
1707  return res;
1708  }
1709 
1710  {
1711  const uint8_t values[] = {
1712  0xC9, 0x00, 0xD0, 0xC9, 0x04
1713  };
1714  res = tas5825m_write_block_at(dev, 0x7B, values, ARRAY_SIZE(values));
1715  if (res < 0)
1716  return res;
1717  }
1718 
1719  res = tas5825m_set_page(dev, 0x0F);
1720  if (res < 0)
1721  return res;
1722 
1723  {
1724  const uint8_t values[] = {
1725  0x00, 0x8B, 0x56, 0xA0, 0x00, 0x2E, 0x83, 0x1A,
1726  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1727  0xFF, 0xA0, 0x00, 0x00, 0xF7, 0x5C, 0x28, 0xF6,
1728  0xFB, 0x44, 0x29, 0x20, 0x00, 0x00, 0x00
1729  };
1730  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1731  if (res < 0)
1732  return res;
1733  }
1734 
1735  {
1736  const uint8_t values[] = {
1737  0x00, 0x00, 0x00, 0x00, 0x00
1738  };
1739  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1740  if (res < 0)
1741  return res;
1742  }
1743 
1744  res = tas5825m_set_page(dev, 0x10);
1745  if (res < 0)
1746  return res;
1747 
1748  {
1749  const uint8_t values[] = {
1750  0x00, 0xCE, 0xC0, 0x8A
1751  };
1752  res = tas5825m_write_block_at(dev, 0x18, values, ARRAY_SIZE(values));
1753  if (res < 0)
1754  return res;
1755  }
1756 
1757  res = tas5825m_set_page(dev, 0x11);
1758  if (res < 0)
1759  return res;
1760 
1761  {
1762  const uint8_t values[] = {
1763  0x01, 0x00, 0x00, 0x00
1764  };
1765  res = tas5825m_write_block_at(dev, 0x4C, values, ARRAY_SIZE(values));
1766  if (res < 0)
1767  return res;
1768  }
1769 
1770  res = tas5825m_set_page(dev, 0x07);
1771  if (res < 0)
1772  return res;
1773 
1774  {
1775  const uint8_t values[] = {
1776  0x00, 0x80, 0x00, 0x00
1777  };
1778  res = tas5825m_write_block_at(dev, 0x64, values, ARRAY_SIZE(values));
1779  if (res < 0)
1780  return res;
1781  }
1782 
1783  {
1784  const uint8_t values[] = {
1785  0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
1786  };
1787  res = tas5825m_write_block_at(dev, 0x6C, values, ARRAY_SIZE(values));
1788  if (res < 0)
1789  return res;
1790  }
1791 
1792  res = tas5825m_set_book(dev, 0xAA);
1793  if (res < 0)
1794  return res;
1795 
1796  res = tas5825m_set_page(dev, 0x01);
1797  if (res < 0)
1798  return res;
1799 
1800  {
1801  const uint8_t values[] = {
1802  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1803  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1804  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1805  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1806  };
1807  res = tas5825m_write_block_at(dev, 0x30, values, ARRAY_SIZE(values));
1808  if (res < 0)
1809  return res;
1810  }
1811 
1812  {
1813  const uint8_t values[] = {
1814  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1816  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1817  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
1818  };
1819  res = tas5825m_write_block_at(dev, 0x4F, values, ARRAY_SIZE(values));
1820  if (res < 0)
1821  return res;
1822  }
1823 
1824  {
1825  const uint8_t values[] = {
1826  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1827  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1828  0x00, 0x00
1829  };
1830  res = tas5825m_write_block_at(dev, 0x6E, values, ARRAY_SIZE(values));
1831  if (res < 0)
1832  return res;
1833  }
1834 
1835  res = tas5825m_set_page(dev, 0x02);
1836  if (res < 0)
1837  return res;
1838 
1839  {
1840  const uint8_t values[] = {
1841  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1842  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1843  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1844  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1845  };
1846  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1847  if (res < 0)
1848  return res;
1849  }
1850 
1851  {
1852  const uint8_t values[] = {
1853  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1854  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1855  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1856  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
1857  };
1858  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1859  if (res < 0)
1860  return res;
1861  }
1862 
1863  {
1864  const uint8_t values[] = {
1865  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1866  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1867  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
1868  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1869  };
1870  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1871  if (res < 0)
1872  return res;
1873  }
1874 
1875  {
1876  const uint8_t values[] = {
1877  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
1878  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1879  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1880  0x00, 0x00, 0x00
1881  };
1882  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
1883  if (res < 0)
1884  return res;
1885  }
1886 
1887  res = tas5825m_set_page(dev, 0x03);
1888  if (res < 0)
1889  return res;
1890 
1891  {
1892  const uint8_t values[] = {
1893  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1894  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1895  0x00, 0x00, 0x00, 0x00, 0x07, 0xD2, 0xC1, 0x31,
1896  0xF0, 0x5A, 0x7D, 0x9F, 0x07, 0xD2, 0xC1
1897  };
1898  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1899  if (res < 0)
1900  return res;
1901  }
1902 
1903  {
1904  const uint8_t values[] = {
1905  0x31, 0x0F, 0xA4, 0xFB, 0xF0, 0xF8, 0x59, 0xF7,
1906  0x2E, 0x07, 0xD9, 0x78, 0x8E, 0xF0, 0x4D, 0x0E,
1907  0xE5, 0x07, 0xD9, 0x78, 0x8E, 0x0F, 0xB2, 0x6A,
1908  0x37, 0xF8, 0x4C, 0x88, 0x00, 0x07, 0xE6
1909  };
1910  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1911  if (res < 0)
1912  return res;
1913  }
1914 
1915  {
1916  const uint8_t values[] = {
1917  0x02, 0x7A, 0xF0, 0x33, 0xFB, 0x0B, 0x07, 0xE6,
1918  0x02, 0x7A, 0x0F, 0xCB, 0x7D, 0x39, 0xF8, 0x33,
1919  0x73, 0x4F, 0x07, 0xD0, 0x20, 0x0B, 0xF0, 0x8B,
1920  0x82, 0x11, 0x07, 0xA8, 0xF6, 0xDE, 0x0F
1921  };
1922  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1923  if (res < 0)
1924  return res;
1925  }
1926 
1927  {
1928  const uint8_t values[] = {
1929  0x74, 0x7D, 0xEF, 0xF8, 0x86, 0xE9, 0x17, 0x08,
1930  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1931  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1932  0x00, 0x00, 0x00
1933  };
1934  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
1935  if (res < 0)
1936  return res;
1937  }
1938 
1939  res = tas5825m_set_page(dev, 0x04);
1940  if (res < 0)
1941  return res;
1942 
1943  {
1944  const uint8_t values[] = {
1945  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1947  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1948  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1949  };
1950  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1951  if (res < 0)
1952  return res;
1953  }
1954 
1955  {
1956  const uint8_t values[] = {
1957  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1958  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1959  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1960  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
1961  };
1962  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
1963  if (res < 0)
1964  return res;
1965  }
1966 
1967  {
1968  const uint8_t values[] = {
1969  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1970  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1971  0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
1972  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1973  };
1974  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
1975  if (res < 0)
1976  return res;
1977  }
1978 
1979  {
1980  const uint8_t values[] = {
1981  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
1982  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1983  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1984  0x00, 0x00, 0x00
1985  };
1986  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
1987  if (res < 0)
1988  return res;
1989  }
1990 
1991  res = tas5825m_set_page(dev, 0x05);
1992  if (res < 0)
1993  return res;
1994 
1995  {
1996  const uint8_t values[] = {
1997  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1998  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1999  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
2000  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2001  };
2002  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
2003  if (res < 0)
2004  return res;
2005  }
2006 
2007  {
2008  const uint8_t values[] = {
2009  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2010  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2011  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2012  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
2013  };
2014  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
2015  if (res < 0)
2016  return res;
2017  }
2018 
2019  {
2020  const uint8_t values[] = {
2021  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2022  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2023  0x00, 0x00, 0x07, 0xD2, 0xC1, 0x31, 0xF0, 0x5A,
2024  0x7D, 0x9F, 0x07, 0xD2, 0xC1, 0x31, 0x0F
2025  };
2026  res = tas5825m_write_block_at(dev, 0x46, values, ARRAY_SIZE(values));
2027  if (res < 0)
2028  return res;
2029  }
2030 
2031  {
2032  const uint8_t values[] = {
2033  0xA4, 0xFB, 0xF0, 0xF8, 0x59, 0xF7, 0x2E, 0x07,
2034  0xD9, 0x78, 0x8E, 0xF0, 0x4D, 0x0E, 0xE5, 0x07,
2035  0xD9, 0x78, 0x8E, 0x0F, 0xB2, 0x6A, 0x37, 0xF8,
2036  0x4C, 0x88, 0x00
2037  };
2038  res = tas5825m_write_block_at(dev, 0x65, values, ARRAY_SIZE(values));
2039  if (res < 0)
2040  return res;
2041  }
2042 
2043  res = tas5825m_set_page(dev, 0x06);
2044  if (res < 0)
2045  return res;
2046 
2047  {
2048  const uint8_t values[] = {
2049  0x07, 0xE6, 0x02, 0x7A, 0xF0, 0x33, 0xFB, 0x0B,
2050  0x07, 0xE6, 0x02, 0x7A, 0x0F, 0xCB, 0x7D, 0x39,
2051  0xF8, 0x33, 0x73, 0x4F, 0x07, 0xD0, 0x20, 0x0B,
2052  0xF0, 0x8B, 0x82, 0x11, 0x07, 0xA8, 0xF6
2053  };
2054  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
2055  if (res < 0)
2056  return res;
2057  }
2058 
2059  {
2060  const uint8_t values[] = {
2061  0xDE, 0x0F, 0x74, 0x7D, 0xEF, 0xF8, 0x86, 0xE9,
2062  0x17
2063  };
2064  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
2065  if (res < 0)
2066  return res;
2067  }
2068 
2069  res = tas5825m_set_page(dev, 0x0F);
2070  if (res < 0)
2071  return res;
2072 
2073  {
2074  const uint8_t values[] = {
2075  0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2076  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2077  0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
2078  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2079  };
2080  res = tas5825m_write_block_at(dev, 0x2C, values, ARRAY_SIZE(values));
2081  if (res < 0)
2082  return res;
2083  }
2084 
2085  {
2086  const uint8_t values[] = {
2087  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2088  0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2089  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2090  0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x3D
2091  };
2092  res = tas5825m_write_block_at(dev, 0x4B, values, ARRAY_SIZE(values));
2093  if (res < 0)
2094  return res;
2095  }
2096 
2097  {
2098  const uint8_t values[] = {
2099  0x48, 0x3E, 0xF0, 0x15, 0x1E, 0x41, 0x07, 0xB2,
2100  0x55, 0xB4, 0x0F, 0xEC, 0xB6, 0xFF, 0xF8, 0x12,
2101  0x37, 0x4E, 0x08, 0x00, 0x00, 0x00
2102  };
2103  res = tas5825m_write_block_at(dev, 0x6A, values, ARRAY_SIZE(values));
2104  if (res < 0)
2105  return res;
2106  }
2107 
2108  res = tas5825m_set_page(dev, 0x10);
2109  if (res < 0)
2110  return res;
2111 
2112  {
2113  const uint8_t values[] = {
2114  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2115  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2116  };
2117  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
2118  if (res < 0)
2119  return res;
2120  }
2121 
2122  {
2123  const uint8_t values[] = {
2124  0x00, 0x91, 0x1E, 0x24, 0xFF, 0x05, 0x01, 0xCF,
2125  0x00, 0x6E, 0x95, 0x34, 0x0F, 0xD3, 0x31, 0xB6,
2126  0xF8, 0x28, 0x19, 0x23, 0x08, 0x00, 0x00, 0x00,
2127  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2128  };
2129  res = tas5825m_write_block_at(dev, 0x1C, values, ARRAY_SIZE(values));
2130  if (res < 0)
2131  return res;
2132  }
2133 
2134  {
2135  const uint8_t values[] = {
2136  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2137  0x00, 0x38, 0x73, 0x61, 0xE0, 0x90, 0x55, 0x66,
2138  0x81, 0x37, 0x58, 0x6F, 0x94, 0x0D, 0xD6, 0x2E,
2139  0xBA, 0xF9, 0xE7, 0x61, 0x5B, 0x08, 0x00
2140  };
2141  res = tas5825m_write_block_at(dev, 0x3B, values, ARRAY_SIZE(values));
2142  if (res < 0)
2143  return res;
2144  }
2145 
2146  {
2147  const uint8_t values[] = {
2148  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2149  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2150  0x00, 0x00, 0x00, 0x01, 0xEC, 0x38, 0x00, 0x03,
2151  0xD8, 0x70, 0x00, 0x01, 0xEC, 0x38, 0x0F
2152  };
2153  res = tas5825m_write_block_at(dev, 0x5A, values, ARRAY_SIZE(values));
2154  if (res < 0)
2155  return res;
2156  }
2157 
2158  {
2159  const uint8_t values[] = {
2160  0x4A, 0xB5, 0x41, 0xF8, 0xAD, 0x99, 0xDE
2161  };
2162  res = tas5825m_write_block_at(dev, 0x79, values, ARRAY_SIZE(values));
2163  if (res < 0)
2164  return res;
2165  }
2166 
2167  res = tas5825m_set_page(dev, 0x11);
2168  if (res < 0)
2169  return res;
2170 
2171  {
2172  const uint8_t values[] = {
2173  0x00, 0x01, 0xEC, 0x38, 0x00, 0x03, 0xD8, 0x70,
2174  0x00, 0x01, 0xEC, 0x38, 0x0F, 0x4A, 0xB5, 0x41,
2175  0xF8, 0xAD, 0x99, 0xDE, 0x07, 0xA7, 0x46, 0xD9,
2176  0xF0, 0xB1, 0x72, 0x4F, 0x07, 0xA7, 0x46
2177  };
2178  res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
2179  if (res < 0)
2180  return res;
2181  }
2182 
2183  {
2184  const uint8_t values[] = {
2185  0xD9, 0x0F, 0x4A, 0xB5, 0x41, 0xF8, 0xAD, 0x99,
2186  0xDE, 0x07, 0xA7, 0x46, 0xD9, 0xF0, 0xB1, 0x72,
2187  0x4F, 0x07, 0xA7, 0x46, 0xD9, 0x0F, 0x4A, 0xB5,
2188  0x41, 0xF8, 0xAD, 0x99, 0xDE
2189  };
2190  res = tas5825m_write_block_at(dev, 0x27, values, ARRAY_SIZE(values));
2191  if (res < 0)
2192  return res;
2193  }
2194 
2195  res = tas5825m_set_book(dev, 0x00);
2196  if (res < 0)
2197  return res;
2198 
2199  res = tas5825m_write_at(dev, 0x30, 0x00);
2200  if (res < 0)
2201  return res;
2202 
2203  res = tas5825m_write_at(dev, 0x60, 0x02);
2204  if (res < 0)
2205  return res;
2206 
2207  res = tas5825m_write_at(dev, 0x62, 0x09);
2208  if (res < 0)
2209  return res;
2210 
2211  res = tas5825m_write_at(dev, 0x4C, 0x30);
2212  if (res < 0)
2213  return res;
2214 
2215  res = tas5825m_set_book(dev, 0x00);
2216  if (res < 0)
2217  return res;
2218 
2219  res = tas5825m_write_at(dev, 0x4E, 0xBB);
2220  if (res < 0)
2221  return res;
2222 
2223  res = tas5825m_write_at(dev, 0x4F, 0xB0);
2224  if (res < 0)
2225  return res;
2226 
2227  res = tas5825m_set_book(dev, 0x00);
2228  if (res < 0)
2229  return res;
2230 
2231  res = tas5825m_write_at(dev, 0x03, 0x0F);
2232  if (res < 0)
2233  return res;
2234 
2235  res = tas5825m_set_page(dev, 0x00);
2236  if (res < 0)
2237  return res;
2238 
2239  res = tas5825m_set_page(dev, 0x00);
2240  if (res < 0)
2241  return res;
2242 
2243  res = tas5825m_set_page(dev, 0x00);
2244  if (res < 0)
2245  return res;
2246 
2247  res = tas5825m_set_book(dev, 0x00);
2248  if (res < 0)
2249  return res;
2250 
2251  res = tas5825m_set_page(dev, 0x00);
2252  if (res < 0)
2253  return res;
2254 
2255  res = tas5825m_write_at(dev, 0x78, 0x80);
2256  if (res < 0)
2257  return res;
2258 
2259  res = tas5825m_write_at(dev, 0x02, 0x01);
2260  if (res < 0)
2261  return res;
2262 
2263  res = tas5825m_write_at(dev, 0x6B, 0x03);
2264  if (res < 0)
2265  return res;
2266 
2267  res = tas5825m_write_at(dev, 0x6C, 0x03);
2268  if (res < 0)
2269  return res;
2270 
2271  res = tas5825m_write_at(dev, 0x03, 0x03);
2272  if (res < 0)
2273  return res;
2274 
2275  res = tas5825m_set_book(dev, 0x00);
2276  if (res < 0)
2277  return res;
2278 
2279  res = tas5825m_write_at(dev, 0x78, 0x80);
2280  if (res < 0)
2281  return res;
2282 
2283  res = tas5825m_set_book(dev, 0x00);
2284  if (res < 0)
2285  return res;
2286 
2287  res = tas5825m_write_at(dev, 0x60, 0x00);
2288  if (res < 0)
2289  return res;
2290 
2291  res = tas5825m_write_at(dev, 0x64, 0x02);
2292  if (res < 0)
2293  return res;
2294 
2295  res = tas5825m_set_book(dev, 0x00);
2296  if (res < 0)
2297  return res;
2298 
2299  res = tas5825m_write_at(dev, 0x4E, 0xBB);
2300  if (res < 0)
2301  return res;
2302 
2303  res = tas5825m_write_at(dev, 0x4F, 0xB0);
2304  if (res < 0)
2305  return res;
2306 
2307  res = tas5825m_write_at(dev, 0x03, 0x03);
2308  if (res < 0)
2309  return res;
2310 
2311  res = tas5825m_set_book(dev, 0x00);
2312  if (res < 0)
2313  return res;
2314 
2315  res = tas5825m_write_at(dev, 0x78, 0x80);
2316  if (res < 0)
2317  return res;
2318 
2319  return 0;
2320 }
#define ARRAY_SIZE(a)
Definition: helpers.h:12
void mdelay(unsigned int msecs)
Definition: delay.c:2
int tas5825m_set_book(struct device *dev, uint8_t book)
Definition: tas5825m.c:32
int tas5825m_write_at(struct device *dev, uint8_t addr, uint8_t value)
Definition: tas5825m.c:9
int tas5825m_write_block_at(struct device *dev, uint8_t addr, const uint8_t *values, uint8_t length)
Definition: tas5825m.c:15
int tas5825m_set_page(struct device *dev, uint8_t page)
Definition: tas5825m.c:27
__weak int tas5825m_setup(struct device *dev, int id)
Definition: tas5825m.c:40
unsigned char uint8_t
Definition: stdint.h:8
Definition: device.h:107