soc/intel: Remove blank lines before '}' and after '{'
[coreboot2.git] / src / mainboard / system76 / adl / variants / oryp9 / tas5825m.c
blob15449cd6f37f477a93eb5a7ad56bf6da051108cf
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #include <drivers/i2c/tas5825m/tas5825m.h>
5 int tas5825m_setup(struct device *dev, int id)
7 int res;
9 res = tas5825m_set_page(dev, 0x00);
10 if (res < 0)
11 return res;
13 res = tas5825m_set_page(dev, 0x00);
14 if (res < 0)
15 return res;
17 res = tas5825m_set_page(dev, 0x00);
18 if (res < 0)
19 return res;
21 res = tas5825m_set_page(dev, 0x00);
22 if (res < 0)
23 return res;
25 res = tas5825m_set_book(dev, 0x00);
26 if (res < 0)
27 return res;
29 res = tas5825m_write_at(dev, 0x03, 0x02);
30 if (res < 0)
31 return res;
33 res = tas5825m_write_at(dev, 0x01, 0x11);
34 if (res < 0)
35 return res;
37 res = tas5825m_set_page(dev, 0x00);
38 if (res < 0)
39 return res;
41 res = tas5825m_set_page(dev, 0x00);
42 if (res < 0)
43 return res;
45 res = tas5825m_set_page(dev, 0x00);
46 if (res < 0)
47 return res;
49 res = tas5825m_set_page(dev, 0x00);
50 if (res < 0)
51 return res;
53 res = tas5825m_set_page(dev, 0x00);
54 if (res < 0)
55 return res;
57 res = tas5825m_set_book(dev, 0x00);
58 if (res < 0)
59 return res;
61 res = tas5825m_write_at(dev, 0x46, 0x11);
62 if (res < 0)
63 return res;
65 res = tas5825m_set_page(dev, 0x00);
66 if (res < 0)
67 return res;
69 res = tas5825m_write_at(dev, 0x02, 0x00);
70 if (res < 0)
71 return res;
73 res = tas5825m_write_at(dev, 0x53, 0x01);
74 if (res < 0)
75 return res;
77 res = tas5825m_write_at(dev, 0x54, 0x00);
78 if (res < 0)
79 return res;
81 res = tas5825m_write_at(dev, 0x29, 0x7C);
82 if (res < 0)
83 return res;
85 res = tas5825m_write_at(dev, 0x03, 0x02);
86 if (res < 0)
87 return res;
89 res = tas5825m_write_at(dev, 0xFE, 0x05);
90 if (res < 0)
91 return res;
93 res = tas5825m_set_page(dev, 0x00);
94 if (res < 0)
95 return res;
97 res = tas5825m_set_page(dev, 0x00);
98 if (res < 0)
99 return res;
101 res = tas5825m_set_page(dev, 0x00);
102 if (res < 0)
103 return res;
105 res = tas5825m_set_page(dev, 0x00);
106 if (res < 0)
107 return res;
109 res = tas5825m_set_page(dev, 0x00);
110 if (res < 0)
111 return res;
113 res = tas5825m_write_at(dev, 0x29, 0x00);
114 if (res < 0)
115 return res;
117 res = tas5825m_set_book(dev, 0x00);
118 if (res < 0)
119 return res;
121 res = tas5825m_write_at(dev, 0x03, 0x12);
122 if (res < 0)
123 return res;
125 res = tas5825m_set_page(dev, 0x00);
126 if (res < 0)
127 return res;
129 res = tas5825m_set_page(dev, 0x00);
130 if (res < 0)
131 return res;
133 res = tas5825m_set_page(dev, 0x00);
134 if (res < 0)
135 return res;
137 res = tas5825m_set_page(dev, 0x00);
138 if (res < 0)
139 return res;
141 res = tas5825m_set_book(dev, 0x00);
142 if (res < 0)
143 return res;
145 res = tas5825m_write_at(dev, 0x48, 0x0C);
146 if (res < 0)
147 return res;
149 res = tas5825m_set_book(dev, 0x64);
150 if (res < 0)
151 return res;
153 res = tas5825m_set_page(dev, 0x01);
154 if (res < 0)
155 return res;
158 const uint8_t values[] = {
159 0x00, 0xFE, 0x00, 0x40, 0x00, 0xFC, 0x00, 0x00,
160 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
161 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
162 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
163 0x00, 0xFC, 0x50, 0x00, 0x00, 0xFC, 0x00, 0x00,
164 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
165 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
166 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
167 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
168 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
169 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
170 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
171 0x00, 0x82, 0x00, 0x93, 0x00, 0xFC, 0x00, 0x00,
172 0x8F, 0x00, 0xFF, 0xEF, 0x84, 0x49, 0x03, 0x27,
173 0x84, 0x02, 0x04, 0x06, 0x02, 0x60, 0x00, 0x01,
175 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
176 if (res < 0)
177 return res;
180 res = tas5825m_set_page(dev, 0x02);
181 if (res < 0)
182 return res;
185 const uint8_t values[] = {
186 0x02, 0x70, 0x00, 0x06, 0x02, 0x78, 0x00, 0x05,
187 0x02, 0x68, 0x00, 0x02, 0x02, 0x28, 0x03, 0x4D,
188 0x84, 0x2A, 0x04, 0x00, 0xE2, 0x57, 0x91, 0x9F,
189 0x84, 0x82, 0x20, 0xE0, 0x84, 0x82, 0x04, 0x01,
190 0xF0, 0x1C, 0x31, 0xA0, 0xF0, 0x1C, 0x31, 0xA1,
191 0xF0, 0x1C, 0x31, 0xA2, 0xF0, 0x1F, 0x31, 0xA3,
192 0xE4, 0x00, 0x11, 0xA6, 0x80, 0x27, 0x80, 0xE1,
193 0xF4, 0x00, 0x11, 0xA4, 0xF4, 0x1D, 0x31, 0xA5,
194 0xF4, 0x1C, 0x31, 0xA7, 0xF4, 0x1F, 0x31, 0xA8,
195 0x02, 0x78, 0x00, 0x03, 0xE2, 0x68, 0xF1, 0xC3,
196 0x80, 0x67, 0x80, 0xE9, 0x84, 0x4B, 0x03, 0x27,
197 0x02, 0x70, 0x00, 0x04, 0x84, 0x41, 0x03, 0x37,
198 0x80, 0x07, 0x00, 0x80, 0xE0, 0x00, 0x11, 0xA9,
199 0x84, 0x82, 0x00, 0xE0, 0x8E, 0xFC, 0x04, 0x10,
200 0xF0, 0x1C, 0x11, 0xAA, 0xF0, 0x1C, 0x11, 0xAB,
202 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
203 if (res < 0)
204 return res;
207 res = tas5825m_set_page(dev, 0x03);
208 if (res < 0)
209 return res;
212 const uint8_t values[] = {
213 0xF0, 0x1C, 0x11, 0xAC, 0xF0, 0x1F, 0x11, 0xAD,
214 0x86, 0xA1, 0x01, 0xC2, 0x80, 0x27, 0x80, 0xE8,
215 0x60, 0x00, 0x00, 0x00, 0x84, 0x43, 0x03, 0x37,
216 0x80, 0x00, 0x00, 0x81, 0x0D, 0x00, 0x10, 0x20,
217 0x84, 0x51, 0x03, 0x3E, 0x08, 0x44, 0x26, 0x30,
218 0x84, 0xC3, 0x03, 0x47, 0x84, 0xC2, 0x40, 0xE0,
219 0x8C, 0xFF, 0x03, 0x23, 0xE0, 0x10, 0x11, 0xB3,
220 0xF0, 0x1C, 0x51, 0xB4, 0xF0, 0x1C, 0x51, 0xB5,
221 0xF0, 0x1C, 0x51, 0xB6, 0xF0, 0x1F, 0x51, 0xB7,
222 0x86, 0xA1, 0x01, 0xC6, 0x80, 0x27, 0x80, 0xEA,
223 0x84, 0x53, 0x03, 0x3E, 0x84, 0x82, 0x04, 0x05,
224 0x84, 0x51, 0x03, 0x75, 0xE2, 0x6B, 0xC0, 0x00,
225 0x80, 0x07, 0x00, 0x80, 0xE0, 0x80, 0x31, 0xB8,
226 0x84, 0x82, 0x40, 0xE0, 0xF0, 0x1C, 0x51, 0xB9,
227 0xF0, 0x1C, 0x51, 0xBA, 0xF0, 0x1C, 0x51, 0xBB,
229 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
230 if (res < 0)
231 return res;
234 res = tas5825m_set_page(dev, 0x04);
235 if (res < 0)
236 return res;
239 const uint8_t values[] = {
240 0xF0, 0x1F, 0x51, 0xBC, 0x86, 0xA1, 0x01, 0xC5,
241 0x80, 0x27, 0x80, 0xEA, 0x60, 0x00, 0x00, 0x00,
242 0x80, 0x00, 0x00, 0x81, 0x84, 0xA1, 0x03, 0x4F,
243 0xE0, 0x80, 0xA0, 0x00, 0x01, 0x07, 0x11, 0x20,
244 0x08, 0x44, 0x26, 0x30, 0x08, 0x00, 0x98, 0x4A,
245 0x84, 0x53, 0x03, 0x75, 0x08, 0x00, 0x30, 0x48,
246 0x02, 0xCA, 0x00, 0x01, 0x08, 0x60, 0x26, 0x32,
247 0x84, 0x51, 0x03, 0x45, 0xE4, 0x10, 0x40, 0x00,
248 0x80, 0x40, 0xC0, 0x82, 0x84, 0xC2, 0x40, 0xE0,
249 0x84, 0xC3, 0x03, 0x5E, 0x08, 0x00, 0x50, 0x48,
250 0xE0, 0x10, 0x11, 0xBD, 0x02, 0xC2, 0x00, 0x02,
251 0x08, 0x60, 0x06, 0x12, 0x84, 0xD3, 0x03, 0x4F,
252 0xF0, 0x1C, 0x51, 0xBE, 0xF0, 0x1C, 0x51, 0xBF,
253 0xF0, 0x1C, 0x51, 0xC0, 0xF0, 0x1F, 0x51, 0xC1,
254 0x84, 0xA1, 0x03, 0x65, 0x80, 0x27, 0x80, 0xEA,
256 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
257 if (res < 0)
258 return res;
261 res = tas5825m_set_page(dev, 0x05);
262 if (res < 0)
263 return res;
266 const uint8_t values[] = {
267 0xE0, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x83,
268 0x08, 0x00, 0x98, 0x6B, 0x08, 0x00, 0x30, 0x68,
269 0x84, 0x53, 0x03, 0x45, 0x08, 0x60, 0x26, 0x33,
270 0x84, 0x51, 0x03, 0x25, 0xE4, 0x10, 0x60, 0x00,
271 0x80, 0x40, 0xC0, 0x81, 0x02, 0x70, 0x00, 0x7F,
272 0x08, 0x00, 0x50, 0x28, 0x08, 0x60, 0x06, 0x11,
273 0x84, 0xCB, 0x03, 0x65, 0xE0, 0x10, 0x51, 0xC4,
274 0x84, 0x80, 0x41, 0x00, 0x02, 0xA3, 0x00, 0x10,
275 0xE4, 0x00, 0x00, 0x00, 0x84, 0xD0, 0x04, 0x01,
276 0x84, 0xA2, 0x04, 0x03, 0x84, 0xD2, 0x50, 0x01,
277 0x84, 0x53, 0x03, 0x25, 0x80, 0x00, 0xC4, 0x04,
278 0x8F, 0x30, 0x00, 0x00, 0x88, 0x67, 0x03, 0x00,
279 0xE4, 0x00, 0x11, 0x9B, 0xEE, 0x64, 0x60, 0x00,
280 0x02, 0xD3, 0x00, 0x10, 0x88, 0x47, 0x00, 0x80,
281 0x10, 0x00, 0x18, 0x02, 0x86, 0xC1, 0x01, 0x9D,
283 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
284 if (res < 0)
285 return res;
288 res = tas5825m_set_page(dev, 0x06);
289 if (res < 0)
290 return res;
293 const uint8_t values[] = {
294 0xE0, 0x10, 0x31, 0xC7, 0x86, 0xC9, 0x01, 0x9E,
295 0x80, 0x00, 0xC4, 0x02, 0x02, 0x50, 0x01, 0x9C,
296 0x00, 0xFF, 0x21, 0x65, 0x00, 0xFC, 0x00, 0x00,
297 0x02, 0x60, 0x00, 0x01, 0x02, 0x70, 0x00, 0x04,
298 0x84, 0xC8, 0x04, 0x10, 0x84, 0x41, 0x03, 0x67,
299 0x84, 0x51, 0x03, 0x6D, 0x84, 0xC0, 0x04, 0x02,
300 0x04, 0x80, 0x91, 0x20, 0x08, 0x60, 0x26, 0x30,
301 0x02, 0x78, 0x00, 0x03, 0x02, 0x68, 0x00, 0x02,
302 0x0D, 0x00, 0x10, 0x10, 0x08, 0x60, 0x06, 0x12,
303 0x84, 0x49, 0x03, 0x2F, 0xE0, 0x80, 0x71, 0xA9,
304 0x02, 0x28, 0x03, 0x55, 0x84, 0x82, 0x00, 0xE0,
305 0x84, 0x2A, 0x04, 0x00, 0xF0, 0x1C, 0x11, 0xAA,
306 0xF0, 0x1C, 0x11, 0xAB, 0xF0, 0x1C, 0x11, 0xAC,
307 0xF0, 0x1F, 0x11, 0xAD, 0x86, 0xA1, 0x01, 0xAE,
308 0x80, 0x27, 0x80, 0xE8, 0x84, 0x82, 0x04, 0x07,
310 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
311 if (res < 0)
312 return res;
315 res = tas5825m_set_page(dev, 0x07);
316 if (res < 0)
317 return res;
320 const uint8_t values[] = {
321 0xE0, 0x80, 0x60, 0x00, 0x84, 0x82, 0x40, 0xE0,
322 0x84, 0x43, 0x03, 0x67, 0xF0, 0x1C, 0x51, 0xAF,
323 0xF0, 0x1C, 0x51, 0xB0, 0xF0, 0x1C, 0x51, 0xB1,
324 0xF0, 0x1F, 0x51, 0xB2, 0x02, 0x78, 0x00, 0x05,
325 0x80, 0x27, 0x80, 0xEA, 0x84, 0x82, 0x04, 0x08,
326 0x02, 0x70, 0x00, 0x06, 0x84, 0x53, 0x03, 0x6D,
327 0x84, 0x80, 0x04, 0x07, 0xE0, 0x00, 0x00, 0x82,
328 0xF0, 0x81, 0x00, 0x80, 0x80, 0x07, 0x12, 0xBC,
329 0x86, 0xA1, 0x01, 0x9F, 0xE2, 0x57, 0xA0, 0x00,
330 0x84, 0x82, 0x04, 0x09, 0x84, 0x82, 0x20, 0xE0,
331 0xF0, 0x1C, 0x31, 0xA0, 0xF0, 0x1C, 0x31, 0xA1,
332 0xF0, 0x1C, 0x31, 0xA2, 0xF0, 0x1F, 0x31, 0xA3,
333 0xE4, 0x00, 0x11, 0xA6, 0x80, 0x27, 0x80, 0xE1,
334 0xF4, 0x00, 0x11, 0xA4, 0xF4, 0x1D, 0x31, 0xA5,
335 0xF4, 0x1C, 0x31, 0xA7, 0xF4, 0x1F, 0x31, 0xA8,
337 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
338 if (res < 0)
339 return res;
342 res = tas5825m_set_page(dev, 0x08);
343 if (res < 0)
344 return res;
347 const uint8_t values[] = {
348 0x02, 0x78, 0x00, 0x03, 0xE2, 0x6A, 0xF1, 0xC3,
349 0x80, 0x67, 0x80, 0xE9, 0x84, 0x4B, 0x03, 0x2F,
350 0x02, 0x70, 0x00, 0x04, 0x84, 0x59, 0x03, 0x3D,
351 0x80, 0x07, 0x00, 0x80, 0xE0, 0x00, 0x11, 0xA9,
352 0x84, 0x82, 0x60, 0xE0, 0x8E, 0xFC, 0x04, 0x10,
353 0xF0, 0x1C, 0x71, 0xAA, 0xF0, 0x1C, 0x71, 0xAB,
354 0xF0, 0x1C, 0x71, 0xAC, 0xF0, 0x1F, 0x71, 0xAD,
355 0x86, 0xA1, 0x01, 0xC2, 0x80, 0x27, 0x80, 0xEB,
356 0x60, 0x00, 0x00, 0x00, 0x84, 0x5B, 0x03, 0x3D,
357 0x80, 0x00, 0x00, 0x81, 0x0D, 0x00, 0x10, 0x20,
358 0x84, 0x59, 0x03, 0x3F, 0x08, 0x44, 0x26, 0x30,
359 0x84, 0xC3, 0x03, 0x57, 0x84, 0xC2, 0x60, 0xE0,
360 0xE0, 0x10, 0x11, 0xB3, 0xF0, 0x1C, 0x71, 0xB4,
361 0xF0, 0x1C, 0x71, 0xB5, 0xF0, 0x1C, 0x71, 0xB6,
362 0xF0, 0x1F, 0x71, 0xB7, 0x86, 0xA1, 0x01, 0xC6,
364 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
365 if (res < 0)
366 return res;
369 res = tas5825m_set_page(dev, 0x09);
370 if (res < 0)
371 return res;
374 const uint8_t values[] = {
375 0x80, 0x27, 0x80, 0xEB, 0x84, 0x5B, 0x03, 0x3F,
376 0x84, 0x82, 0x04, 0x0D, 0x84, 0x41, 0x03, 0x76,
377 0xE2, 0x6B, 0xE0, 0x00, 0x80, 0x07, 0x00, 0x80,
378 0xE0, 0x81, 0x31, 0xB8, 0x84, 0x82, 0x00, 0xE0,
379 0xF0, 0x1C, 0x11, 0xB9, 0xF0, 0x1C, 0x11, 0xBA,
380 0xF0, 0x1C, 0x11, 0xBB, 0xF0, 0x1F, 0x11, 0xBC,
381 0x86, 0xA1, 0x01, 0xC5, 0x80, 0x27, 0x80, 0xE8,
382 0x60, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x81,
383 0x84, 0xA1, 0x03, 0x5D, 0xE0, 0x81, 0xA0, 0x00,
384 0x01, 0x07, 0x11, 0x20, 0x08, 0x44, 0x26, 0x30,
385 0x08, 0x00, 0x98, 0x4A, 0x84, 0x43, 0x03, 0x76,
386 0x08, 0x00, 0x30, 0x48, 0x02, 0xCA, 0x00, 0x01,
387 0x08, 0x60, 0x26, 0x32, 0x84, 0x41, 0x03, 0x46,
388 0xE4, 0x10, 0x40, 0x00, 0x80, 0x40, 0xC0, 0x82,
389 0x84, 0xC2, 0x00, 0xE0, 0x84, 0xC3, 0x03, 0x5F,
391 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
392 if (res < 0)
393 return res;
396 res = tas5825m_set_page(dev, 0x0A);
397 if (res < 0)
398 return res;
401 const uint8_t values[] = {
402 0x08, 0x00, 0x50, 0x48, 0xE0, 0x10, 0x11, 0xBD,
403 0x02, 0xC2, 0x00, 0x02, 0x08, 0x60, 0x06, 0x12,
404 0x84, 0xD3, 0x03, 0x5D, 0xF0, 0x1C, 0x11, 0xBE,
405 0xF0, 0x1C, 0x11, 0xBF, 0xF0, 0x1C, 0x11, 0xC0,
406 0xF0, 0x1F, 0x11, 0xC1, 0x84, 0xA1, 0x03, 0x66,
407 0x80, 0x27, 0x80, 0xE8, 0xE0, 0x00, 0x00, 0x00,
408 0x80, 0x07, 0x00, 0x83, 0x08, 0x00, 0x98, 0x6B,
409 0x08, 0x00, 0x30, 0x68, 0x84, 0x43, 0x03, 0x46,
410 0x08, 0x60, 0x26, 0x33, 0x84, 0x51, 0x03, 0x26,
411 0xE4, 0x10, 0x60, 0x00, 0x80, 0x40, 0xC0, 0x81,
412 0x02, 0x70, 0x00, 0x7F, 0x08, 0x00, 0x50, 0x28,
413 0x08, 0x60, 0x06, 0x11, 0x8C, 0xFF, 0x03, 0x24,
414 0x84, 0xCB, 0x03, 0x66, 0xE0, 0x10, 0x51, 0xC4,
415 0x84, 0x80, 0x41, 0x00, 0x02, 0xA3, 0x00, 0x10,
416 0xE4, 0x00, 0x00, 0x00, 0x84, 0xD0, 0x04, 0x09,
418 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
419 if (res < 0)
420 return res;
423 res = tas5825m_set_page(dev, 0x0B);
424 if (res < 0)
425 return res;
428 const uint8_t values[] = {
429 0x84, 0xA2, 0x04, 0x0B, 0x84, 0xD2, 0x50, 0x01,
430 0x84, 0x53, 0x03, 0x26, 0x80, 0x00, 0xC4, 0x0C,
431 0x8F, 0x30, 0x00, 0x00, 0x88, 0x67, 0x03, 0x00,
432 0xE4, 0x00, 0x11, 0x9B, 0xEE, 0x64, 0x80, 0x00,
433 0x02, 0xD3, 0x00, 0x10, 0x88, 0x47, 0x00, 0x80,
434 0x10, 0x00, 0x18, 0x02, 0x86, 0xC1, 0x01, 0x9D,
435 0xE0, 0x10, 0x31, 0xC7, 0x86, 0xC9, 0x01, 0x9E,
436 0x80, 0x00, 0xC4, 0x0A, 0x02, 0x50, 0x01, 0x9C,
437 0x00, 0xFF, 0x21, 0x65, 0x00, 0xFC, 0x00, 0x00,
438 0x02, 0x70, 0x00, 0x04, 0x02, 0x68, 0x00, 0x01,
439 0x02, 0x60, 0x00, 0x03, 0x02, 0x78, 0x00, 0x02,
440 0x84, 0x49, 0x03, 0x6E, 0x84, 0x41, 0x03, 0x6F,
441 0x84, 0xC8, 0x04, 0x10, 0x84, 0xC0, 0x04, 0x0A,
442 0x04, 0x81, 0x91, 0x20, 0x08, 0x60, 0x26, 0x30,
443 0x0D, 0x00, 0x10, 0x10, 0x08, 0x60, 0x06, 0x12,
445 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
446 if (res < 0)
447 return res;
450 res = tas5825m_set_page(dev, 0x0C);
451 if (res < 0)
452 return res;
455 const uint8_t values[] = {
456 0x84, 0x00, 0x04, 0x06, 0xE0, 0x81, 0x71, 0xA9,
457 0x84, 0x82, 0x20, 0xE8, 0xF0, 0x1D, 0x31, 0xAA,
458 0xF0, 0x1D, 0x31, 0xAB, 0xF0, 0x1D, 0x31, 0xAC,
459 0xF0, 0x1C, 0x31, 0xAD, 0x86, 0xA1, 0x01, 0xAE,
460 0x80, 0x27, 0x80, 0xF9, 0x84, 0x82, 0x04, 0x0E,
461 0xE0, 0x81, 0x60, 0x00, 0x84, 0x82, 0x00, 0xE8,
462 0x84, 0x4B, 0x03, 0x6E, 0xF0, 0x1D, 0x11, 0xAF,
463 0xF0, 0x1D, 0x11, 0xB0, 0xF0, 0x1D, 0x11, 0xB1,
464 0xF0, 0x1C, 0x11, 0xB2, 0x02, 0xA3, 0x00, 0x1A,
465 0x80, 0x27, 0x80, 0xF8, 0x84, 0x82, 0x04, 0x0F,
466 0xE0, 0x81, 0xC0, 0x00, 0xF0, 0x81, 0xE0, 0x80,
467 0x84, 0x43, 0x03, 0x6F, 0x80, 0x07, 0x12, 0xBD,
468 0x02, 0xC0, 0x00, 0x00, 0x00, 0xFC, 0x50, 0x00,
469 0x8F, 0x00, 0x00, 0x11, 0x8F, 0x00, 0xFF, 0xFF,
470 0x84, 0x58, 0x04, 0x01, 0x84, 0xC2, 0x04, 0x00,
472 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
473 if (res < 0)
474 return res;
477 res = tas5825m_set_page(dev, 0x0D);
478 if (res < 0)
479 return res;
482 const uint8_t values[] = {
483 0x02, 0xC2, 0x60, 0x00, 0x84, 0xA0, 0x61, 0x00,
484 0xE0, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,
485 0x40, 0x40, 0xA0, 0x00, 0x80, 0x00, 0xC0, 0x82,
486 0x08, 0xFC, 0x48, 0x3A, 0x08, 0xFC, 0x18, 0x50,
487 0x00, 0xFC, 0x00, 0x00, 0xE0, 0x10, 0x00, 0x00,
488 0x86, 0xA0, 0x41, 0x00, 0x40, 0x47, 0x20, 0x00,
489 0x80, 0x00, 0xC0, 0x83, 0x04, 0xE0, 0x3D, 0x1E,
490 0x04, 0x80, 0x11, 0xE0, 0x08, 0x44, 0x26, 0x33,
491 0x02, 0xCB, 0x00, 0x10, 0xE0, 0x10, 0x40, 0x83,
492 0x08, 0x00, 0x28, 0x21, 0x84, 0xCA, 0x61, 0x00,
493 0x80, 0x07, 0x00, 0x81, 0x0C, 0xE0, 0x2C, 0x09,
494 0x84, 0xCA, 0x21, 0x00, 0x00, 0xFC, 0x50, 0x00,
495 0x8F, 0x00, 0x00, 0x01
497 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
498 if (res < 0)
499 return res;
502 res = tas5825m_set_book(dev, 0x78);
503 if (res < 0)
504 return res;
506 res = tas5825m_set_page(dev, 0x18);
507 if (res < 0)
508 return res;
511 const uint8_t values[] = {
512 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
513 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
514 0x00, 0x00, 0x00, 0x00
516 res = tas5825m_write_block_at(dev, 0x30, values, ARRAY_SIZE(values));
517 if (res < 0)
518 return res;
521 res = tas5825m_set_book(dev, 0x78);
522 if (res < 0)
523 return res;
525 res = tas5825m_set_page(dev, 0x1B);
526 if (res < 0)
527 return res;
530 const uint8_t values[] = {
531 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x04, 0x00,
532 0x00, 0x00, 0x03, 0x28, 0x00, 0x00, 0x00, 0x00,
533 0x00, 0x00, 0x00, 0x00
535 res = tas5825m_write_block_at(dev, 0x6C, values, ARRAY_SIZE(values));
536 if (res < 0)
537 return res;
540 res = tas5825m_set_page(dev, 0x1C);
541 if (res < 0)
542 return res;
545 const uint8_t values[] = {
546 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
547 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
548 0x00, 0x00, 0x00, 0x00
550 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
551 if (res < 0)
552 return res;
555 res = tas5825m_set_book(dev, 0x78);
556 if (res < 0)
557 return res;
559 res = tas5825m_set_page(dev, 0x1C);
560 if (res < 0)
561 return res;
564 const uint8_t values[] = {
565 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
566 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
567 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
570 res = tas5825m_write_block_at(dev, 0x1C, values, ARRAY_SIZE(values));
571 if (res < 0)
572 return res;
575 res = tas5825m_set_book(dev, 0x78);
576 if (res < 0)
577 return res;
579 res = tas5825m_set_page(dev, 0x1C);
580 if (res < 0)
581 return res;
584 const uint8_t values[] = {
585 0x00, 0x00, 0x03, 0x38, 0x00, 0x00, 0x00, 0x00,
586 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
587 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
589 res = tas5825m_write_block_at(dev, 0x3C, values, ARRAY_SIZE(values));
590 if (res < 0)
591 return res;
594 res = tas5825m_set_book(dev, 0x78);
595 if (res < 0)
596 return res;
598 res = tas5825m_set_page(dev, 0x1C);
599 if (res < 0)
600 return res;
603 const uint8_t values[] = {
604 0x00, 0x00, 0x03, 0x40, 0x00, 0x00, 0x03, 0x48,
605 0x00, 0x00, 0x03, 0x50, 0x00, 0x00, 0x00, 0x00,
606 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
607 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
609 res = tas5825m_write_block_at(dev, 0x54, values, ARRAY_SIZE(values));
610 if (res < 0)
611 return res;
614 res = tas5825m_set_book(dev, 0x78);
615 if (res < 0)
616 return res;
618 res = tas5825m_set_page(dev, 0x1C);
619 if (res < 0)
620 return res;
623 const uint8_t values[] = {
624 0x00, 0x00, 0x03, 0x58, 0x00, 0x00, 0x03, 0x60,
625 0x00, 0x00, 0x00, 0x00
627 res = tas5825m_write_block_at(dev, 0x74, values, ARRAY_SIZE(values));
628 if (res < 0)
629 return res;
632 res = tas5825m_set_page(dev, 0x1D);
633 if (res < 0)
634 return res;
637 const uint8_t values[] = {
638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
640 0x00, 0x00, 0x00, 0x00
642 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
643 if (res < 0)
644 return res;
647 res = tas5825m_set_book(dev, 0x78);
648 if (res < 0)
649 return res;
651 res = tas5825m_set_page(dev, 0x1D);
652 if (res < 0)
653 return res;
656 const uint8_t values[] = {
657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
660 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
662 res = tas5825m_write_block_at(dev, 0x1C, values, ARRAY_SIZE(values));
663 if (res < 0)
664 return res;
667 res = tas5825m_set_book(dev, 0x78);
668 if (res < 0)
669 return res;
671 res = tas5825m_set_page(dev, 0x1D);
672 if (res < 0)
673 return res;
676 const uint8_t values[] = {
677 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
679 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
680 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
681 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
682 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
683 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
684 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
685 0x00, 0x00, 0x00, 0x00
687 res = tas5825m_write_block_at(dev, 0x3C, values, ARRAY_SIZE(values));
688 if (res < 0)
689 return res;
692 res = tas5825m_set_page(dev, 0x1E);
693 if (res < 0)
694 return res;
697 const uint8_t values[] = {
698 0x00, 0x00, 0x00, 0x00
700 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
701 if (res < 0)
702 return res;
705 res = tas5825m_set_book(dev, 0x78);
706 if (res < 0)
707 return res;
709 res = tas5825m_set_page(dev, 0x1E);
710 if (res < 0)
711 return res;
714 const uint8_t values[] = {
715 0x00, 0x00, 0x03, 0x68, 0x00, 0x00, 0x00, 0x00,
716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
719 res = tas5825m_write_block_at(dev, 0x0C, values, ARRAY_SIZE(values));
720 if (res < 0)
721 return res;
724 res = tas5825m_set_book(dev, 0x78);
725 if (res < 0)
726 return res;
728 res = tas5825m_set_page(dev, 0x1E);
729 if (res < 0)
730 return res;
733 const uint8_t values[] = {
734 0x00, 0x00, 0x03, 0x70, 0x00, 0x00, 0x03, 0x78,
735 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00,
736 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
737 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
739 res = tas5825m_write_block_at(dev, 0x24, values, ARRAY_SIZE(values));
740 if (res < 0)
741 return res;
744 res = tas5825m_set_book(dev, 0x78);
745 if (res < 0)
746 return res;
748 res = tas5825m_set_page(dev, 0x1E);
749 if (res < 0)
750 return res;
753 const uint8_t values[] = {
754 0x00, 0x00, 0x04, 0x88, 0x00, 0x00, 0x04, 0x90,
756 res = tas5825m_write_block_at(dev, 0x44, values, ARRAY_SIZE(values));
757 if (res < 0)
758 return res;
761 res = tas5825m_set_book(dev, 0x8C);
762 if (res < 0)
763 return res;
765 res = tas5825m_set_page(dev, 0x0E);
766 if (res < 0)
767 return res;
770 const uint8_t values[] = {
771 0x00, 0xA7, 0x26, 0x4A, 0x7F, 0xFF, 0xFF, 0xFF,
772 0x00, 0x20, 0xC4, 0x9C, 0x00, 0x20, 0xC4, 0x9C,
773 0x00, 0x00, 0x68, 0xDB, 0x00, 0x00, 0xD1, 0xB7,
774 0x00, 0x00, 0x68, 0xDB, 0x0F, 0xA4, 0xA8, 0xC1,
775 0xF8, 0x59, 0x7F, 0x63
777 res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
778 if (res < 0)
779 return res;
782 res = tas5825m_set_page(dev, 0x0F);
783 if (res < 0)
784 return res;
787 const uint8_t values[] = {
788 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
789 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
790 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xB7, 0xE9,
791 0x00, 0x5F, 0x6F, 0xD2, 0x00, 0x2F, 0xB7, 0xE9,
792 0x0B, 0x1E, 0x4F, 0x76, 0xFC, 0x23, 0x05, 0x54,
793 0xFA, 0x41, 0x20, 0x5C, 0x0B, 0x7D, 0xBF, 0x48,
794 0xFA, 0x41, 0x20, 0x5C, 0x0B, 0x1E, 0x4F, 0x76,
795 0xFC, 0x23, 0x05, 0x54, 0x00, 0x04, 0x81, 0x6F,
796 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
797 0x0F, 0x3F, 0xE5, 0xC9, 0xF8, 0xBB, 0x98, 0xC8,
798 0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
799 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
800 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x81, 0x6F,
801 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
802 0x0F, 0x3F, 0xE5, 0xC9, 0xF8, 0xBB, 0x98, 0xC8,
804 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
805 if (res < 0)
806 return res;
809 res = tas5825m_set_page(dev, 0x10);
810 if (res < 0)
811 return res;
814 const uint8_t values[] = {
815 0x00, 0x89, 0xA0, 0x27, 0x7F, 0xEC, 0x56, 0xD5,
816 0x7F, 0xFC, 0xB9, 0x23, 0x00, 0x89, 0xA0, 0x27,
817 0x7F, 0xEC, 0x56, 0xD5, 0x7F, 0xFC, 0xB9, 0x23,
819 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
820 if (res < 0)
821 return res;
824 res = tas5825m_set_book(dev, 0x00);
825 if (res < 0)
826 return res;
828 res = tas5825m_write_at(dev, 0x40, 0x00);
829 if (res < 0)
830 return res;
832 res = tas5825m_set_book(dev, 0x00);
833 if (res < 0)
834 return res;
837 const uint8_t values[] = {
838 0x11, 0xFF
840 res = tas5825m_write_block_at(dev, 0x7D, values, ARRAY_SIZE(values));
841 if (res < 0)
842 return res;
845 res = tas5825m_set_page(dev, 0x01);
846 if (res < 0)
847 return res;
849 res = tas5825m_write_at(dev, 0x51, 0x05);
850 if (res < 0)
851 return res;
853 res = tas5825m_set_page(dev, 0x02);
854 if (res < 0)
855 return res;
857 res = tas5825m_write_at(dev, 0x19, 0xDF);
858 if (res < 0)
859 return res;
861 res = tas5825m_set_book(dev, 0x8C);
862 if (res < 0)
863 return res;
865 res = tas5825m_set_page(dev, 0x01);
866 if (res < 0)
867 return res;
870 const uint8_t values[] = {
871 0x00, 0x71, 0x94, 0x9A
873 res = tas5825m_write_block_at(dev, 0x2C, values, ARRAY_SIZE(values));
874 if (res < 0)
875 return res;
878 res = tas5825m_set_page(dev, 0x0A);
879 if (res < 0)
880 return res;
883 const uint8_t values[] = {
884 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
885 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
886 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
887 0x00, 0x00, 0x00, 0x00
889 res = tas5825m_write_block_at(dev, 0x64, values, ARRAY_SIZE(values));
890 if (res < 0)
891 return res;
894 res = tas5825m_set_page(dev, 0x0B);
895 if (res < 0)
896 return res;
899 const uint8_t values[] = {
900 0x00, 0x80, 0x00, 0x00, 0x00, 0x2D, 0x6A, 0x86,
901 0x00, 0x2D, 0x6A, 0x86, 0x00, 0x80, 0x00, 0x00,
902 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
903 0x00, 0x80, 0x00, 0x00
905 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
906 if (res < 0)
907 return res;
911 const uint8_t values[] = {
912 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
913 0x00, 0x00, 0x57, 0x62, 0x00, 0x00, 0x00, 0x00,
915 res = tas5825m_write_block_at(dev, 0x28, values, ARRAY_SIZE(values));
916 if (res < 0)
917 return res;
920 res = tas5825m_set_page(dev, 0x0E);
921 if (res < 0)
922 return res;
925 const uint8_t values[] = {
926 0x00, 0x03, 0x69, 0xC5, 0x00, 0xDE, 0x71, 0xB1,
927 0x00, 0x22, 0x1D, 0x95, 0x00, 0x03, 0x69, 0xC5,
929 res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
930 if (res < 0)
931 return res;
934 res = tas5825m_set_page(dev, 0x0F);
935 if (res < 0)
936 return res;
939 const uint8_t values[] = {
940 0x7F, 0xF9, 0x2C, 0x60, 0x02, 0x81, 0xE8, 0x8F,
942 res = tas5825m_write_block_at(dev, 0x5C, values, ARRAY_SIZE(values));
943 if (res < 0)
944 return res;
947 res = tas5825m_set_page(dev, 0x07);
948 if (res < 0)
949 return res;
952 const uint8_t values[] = {
953 0x00, 0x80, 0x00, 0x00
955 res = tas5825m_write_block_at(dev, 0x64, values, ARRAY_SIZE(values));
956 if (res < 0)
957 return res;
961 const uint8_t values[] = {
962 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
964 res = tas5825m_write_block_at(dev, 0x6C, values, ARRAY_SIZE(values));
965 if (res < 0)
966 return res;
969 res = tas5825m_set_book(dev, 0xAA);
970 if (res < 0)
971 return res;
973 res = tas5825m_set_page(dev, 0x01);
974 if (res < 0)
975 return res;
978 const uint8_t values[] = {
979 0x07, 0xF5, 0xD6, 0xD3, 0xF0, 0x63, 0x93, 0xB0,
980 0x07, 0xA7, 0x5A, 0xBD, 0x0F, 0x9C, 0x6C, 0x50,
981 0xF8, 0x62, 0xCE, 0x70, 0x07, 0xF4, 0x31, 0x72,
982 0xF0, 0x73, 0x27, 0x53, 0x07, 0x98, 0xFE, 0x8B,
983 0x0F, 0x8C, 0xD8, 0xAD, 0xF8, 0x72, 0xD0, 0x02,
984 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
985 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
986 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
987 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
988 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
990 res = tas5825m_write_block_at(dev, 0x30, values, ARRAY_SIZE(values));
991 if (res < 0)
992 return res;
995 res = tas5825m_set_page(dev, 0x02);
996 if (res < 0)
997 return res;
1000 const uint8_t values[] = {
1001 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1002 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1003 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1004 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1005 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1006 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1008 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1009 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1010 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1011 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1012 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1013 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1014 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1017 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1018 if (res < 0)
1019 return res;
1022 res = tas5825m_set_page(dev, 0x03);
1023 if (res < 0)
1024 return res;
1027 const uint8_t values[] = {
1028 0x07, 0xE3, 0xCF, 0xE3, 0xF0, 0x38, 0x60, 0x3B,
1029 0x07, 0xE3, 0xCF, 0xE3, 0x0F, 0xC7, 0x6A, 0x36,
1030 0xF8, 0x38, 0x2A, 0xAB, 0x07, 0xEB, 0x43, 0x17,
1031 0xF0, 0x29, 0x79, 0xD3, 0x07, 0xEB, 0x43, 0x17,
1032 0x0F, 0xD6, 0x50, 0x6B, 0xF8, 0x29, 0x44, 0x10,
1033 0x07, 0xF0, 0xED, 0x8D, 0xF0, 0x42, 0x66, 0x35,
1034 0x07, 0xCD, 0xBB, 0x6F, 0x0F, 0xBD, 0x99, 0xCB,
1035 0xF8, 0x41, 0x57, 0x04, 0x08, 0x19, 0xA4, 0x18,
1036 0xF0, 0x0F, 0xF2, 0xD6, 0x07, 0xD7, 0x7B, 0xA8,
1037 0x0F, 0xF0, 0x60, 0x5B, 0xF8, 0x0F, 0x33, 0x70,
1038 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1039 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1040 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1041 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1042 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1044 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1045 if (res < 0)
1046 return res;
1049 res = tas5825m_set_page(dev, 0x04);
1050 if (res < 0)
1051 return res;
1054 const uint8_t values[] = {
1055 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1056 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1057 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1058 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1059 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1060 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1061 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1062 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1063 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1064 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1065 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1066 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1067 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1068 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1069 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1071 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1072 if (res < 0)
1073 return res;
1076 res = tas5825m_set_page(dev, 0x05);
1077 if (res < 0)
1078 return res;
1081 const uint8_t values[] = {
1082 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1083 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1084 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
1085 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1086 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1087 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1088 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1089 0x00, 0x00, 0x00, 0x00, 0x07, 0xE3, 0xCF, 0xE3,
1090 0xF0, 0x38, 0x60, 0x3B, 0x07, 0xE3, 0xCF, 0xE3,
1091 0x0F, 0xC7, 0x6A, 0x36, 0xF8, 0x38, 0x2A, 0xAB,
1092 0x07, 0xEB, 0x43, 0x17, 0xF0, 0x29, 0x79, 0xD3,
1093 0x07, 0xEB, 0x43, 0x17, 0x0F, 0xD6, 0x50, 0x6B,
1094 0xF8, 0x29, 0x44, 0x10, 0x07, 0xF0, 0xED, 0x8D,
1095 0xF0, 0x42, 0x66, 0x35, 0x07, 0xCD, 0xBB, 0x6F,
1096 0x0F, 0xBD, 0x99, 0xCB, 0xF8, 0x41, 0x57, 0x04,
1098 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1099 if (res < 0)
1100 return res;
1103 res = tas5825m_set_page(dev, 0x06);
1104 if (res < 0)
1105 return res;
1108 const uint8_t values[] = {
1109 0x08, 0x19, 0xA4, 0x18, 0xF0, 0x0F, 0xF2, 0xD6,
1110 0x07, 0xD7, 0x7B, 0xA8, 0x0F, 0xF0, 0x60, 0x5B,
1111 0xF8, 0x0F, 0x33, 0x70, 0x08, 0x00, 0x00, 0x00,
1112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1115 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1116 if (res < 0)
1117 return res;
1120 res = tas5825m_set_page(dev, 0x0E);
1121 if (res < 0)
1122 return res;
1125 const uint8_t values[] = {
1126 0x00, 0x87, 0x5E, 0xC2, 0xFF, 0x02, 0xC8, 0x72,
1127 0x00, 0x76, 0xEA, 0x00, 0x0F, 0xDB, 0x79, 0xE0,
1128 0xF8, 0x23, 0x74, 0xEC
1130 res = tas5825m_write_block_at(dev, 0x6C, values, ARRAY_SIZE(values));
1131 if (res < 0)
1132 return res;
1135 res = tas5825m_set_page(dev, 0x0F);
1136 if (res < 0)
1137 return res;
1140 const uint8_t values[] = {
1141 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1143 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF4, 0x49, 0x81,
1144 0xFF, 0xE8, 0x93, 0x02, 0xFF, 0xF4, 0x49, 0x81,
1145 0x0D, 0x94, 0x7A, 0x64, 0xFA, 0x3C, 0xAB, 0xA1,
1146 0x06, 0xD5, 0xF3, 0xB1, 0xF2, 0x54, 0x18, 0x9F,
1147 0x06, 0xD5, 0xF3, 0xB1, 0x0D, 0x94, 0x7A, 0x64,
1148 0xFA, 0x3C, 0xAB, 0xA1, 0x00, 0x00, 0x38, 0xE4,
1149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150 0x0F, 0xD5, 0x55, 0x55, 0xF8, 0x2A, 0x71, 0xC7,
1152 res = tas5825m_write_block_at(dev, 0x08, values, ARRAY_SIZE(values));
1153 if (res < 0)
1154 return res;
1157 res = tas5825m_set_book(dev, 0x00);
1158 if (res < 0)
1159 return res;
1161 res = tas5825m_write_at(dev, 0x30, 0x00);
1162 if (res < 0)
1163 return res;
1165 res = tas5825m_write_at(dev, 0x60, 0x02);
1166 if (res < 0)
1167 return res;
1169 res = tas5825m_write_at(dev, 0x62, 0x09);
1170 if (res < 0)
1171 return res;
1173 res = tas5825m_write_at(dev, 0x4C, 0x30);
1174 if (res < 0)
1175 return res;
1177 res = tas5825m_set_book(dev, 0x00);
1178 if (res < 0)
1179 return res;
1181 res = tas5825m_write_at(dev, 0x4E, 0xBB);
1182 if (res < 0)
1183 return res;
1185 res = tas5825m_write_at(dev, 0x4F, 0xB0);
1186 if (res < 0)
1187 return res;
1189 res = tas5825m_set_book(dev, 0x00);
1190 if (res < 0)
1191 return res;
1193 res = tas5825m_write_at(dev, 0x03, 0x0F);
1194 if (res < 0)
1195 return res;
1197 res = tas5825m_set_page(dev, 0x00);
1198 if (res < 0)
1199 return res;
1201 res = tas5825m_set_page(dev, 0x00);
1202 if (res < 0)
1203 return res;
1205 res = tas5825m_set_page(dev, 0x00);
1206 if (res < 0)
1207 return res;
1209 res = tas5825m_set_book(dev, 0x00);
1210 if (res < 0)
1211 return res;
1213 res = tas5825m_set_page(dev, 0x00);
1214 if (res < 0)
1215 return res;
1217 res = tas5825m_write_at(dev, 0x78, 0x80);
1218 if (res < 0)
1219 return res;
1221 res = tas5825m_write_at(dev, 0x02, 0x01);
1222 if (res < 0)
1223 return res;
1225 res = tas5825m_write_at(dev, 0x6B, 0x03);
1226 if (res < 0)
1227 return res;
1229 res = tas5825m_write_at(dev, 0x6C, 0x03);
1230 if (res < 0)
1231 return res;
1233 res = tas5825m_write_at(dev, 0x03, 0x03);
1234 if (res < 0)
1235 return res;
1237 return 0;