@@ -20,6 +20,11 @@ static const struct reg_default cs35l41_reg[] = {
20
20
{ CS35L41_PWR_CTRL2 , 0x00000000 },
21
21
{ CS35L41_PWR_CTRL3 , 0x01000010 },
22
22
{ CS35L41_GPIO_PAD_CONTROL , 0x00000000 },
23
+ { CS35L41_GLOBAL_CLK_CTRL , 0x00000003 },
24
+ { CS35L41_TST_FS_MON0 , 0x00020016 },
25
+ { CS35L41_BSTCVRT_COEFF , 0x00002424 },
26
+ { CS35L41_BSTCVRT_SLOPE_LBST , 0x00007500 },
27
+ { CS35L41_BSTCVRT_PEAK_CUR , 0x0000004A },
23
28
{ CS35L41_SP_ENABLES , 0x00000000 },
24
29
{ CS35L41_SP_RATE_CTRL , 0x00000028 },
25
30
{ CS35L41_SP_FORMAT , 0x18180200 },
@@ -48,11 +53,16 @@ static const struct reg_default cs35l41_reg[] = {
48
53
{ CS35L41_WKFET_CFG , 0x00000111 },
49
54
{ CS35L41_NG_CFG , 0x00000033 },
50
55
{ CS35L41_AMP_GAIN_CTRL , 0x00000000 },
56
+ { CS35L41_IRQ1_MASK1 , 0xFFFFFFFF },
57
+ { CS35L41_IRQ1_MASK2 , 0xFFFFFFFF },
58
+ { CS35L41_IRQ1_MASK3 , 0xFFFF87FF },
59
+ { CS35L41_IRQ1_MASK4 , 0xFEFFFFFF },
51
60
{ CS35L41_GPIO1_CTRL1 , 0xE1000001 },
52
61
{ CS35L41_GPIO2_CTRL1 , 0xE1000001 },
53
62
{ CS35L41_MIXER_NGATE_CFG , 0x00000000 },
54
63
{ CS35L41_MIXER_NGATE_CH1_CFG , 0x00000303 },
55
64
{ CS35L41_MIXER_NGATE_CH2_CFG , 0x00000303 },
65
+ { CS35L41_DSP1_CCM_CORE_CTRL , 0x00000101 },
56
66
};
57
67
58
68
static bool cs35l41_readable_reg (struct device * dev , unsigned int reg )
@@ -84,6 +94,7 @@ static bool cs35l41_readable_reg(struct device *dev, unsigned int reg)
84
94
case CS35L41_DSP_CLK_CTRL :
85
95
case CS35L41_GLOBAL_CLK_CTRL :
86
96
case CS35L41_DATA_FS_SEL :
97
+ case CS35L41_TST_FS_MON0 :
87
98
case CS35L41_MDSYNC_EN :
88
99
case CS35L41_MDSYNC_TX_ID :
89
100
case CS35L41_MDSYNC_PWR_CTRL :
@@ -342,7 +353,10 @@ static bool cs35l41_readable_reg(struct device *dev, unsigned int reg)
342
353
static bool cs35l41_precious_reg (struct device * dev , unsigned int reg )
343
354
{
344
355
switch (reg ) {
356
+ case CS35L41_TEST_KEY_CTL :
357
+ case CS35L41_USER_KEY_CTL :
345
358
case CS35L41_OTP_MEM0 ... CS35L41_OTP_MEM31 :
359
+ case CS35L41_TST_FS_MON0 :
346
360
case CS35L41_DSP1_XMEM_PACK_0 ... CS35L41_DSP1_XMEM_PACK_3068 :
347
361
case CS35L41_DSP1_YMEM_PACK_0 ... CS35L41_DSP1_YMEM_PACK_1532 :
348
362
case CS35L41_DSP1_PMEM_0 ... CS35L41_DSP1_PMEM_5114 :
@@ -359,6 +373,9 @@ static bool cs35l41_volatile_reg(struct device *dev, unsigned int reg)
359
373
case CS35L41_SFT_RESET :
360
374
case CS35L41_FABID :
361
375
case CS35L41_REVID :
376
+ case CS35L41_OTPID :
377
+ case CS35L41_TEST_KEY_CTL :
378
+ case CS35L41_USER_KEY_CTL :
362
379
case CS35L41_DTEMP_EN :
363
380
case CS35L41_IRQ1_STATUS :
364
381
case CS35L41_IRQ1_STATUS1 :
@@ -369,17 +386,6 @@ static bool cs35l41_volatile_reg(struct device *dev, unsigned int reg)
369
386
case CS35L41_IRQ1_RAW_STATUS2 :
370
387
case CS35L41_IRQ1_RAW_STATUS3 :
371
388
case CS35L41_IRQ1_RAW_STATUS4 :
372
- case CS35L41_IRQ1_FRC1 :
373
- case CS35L41_IRQ1_FRC2 :
374
- case CS35L41_IRQ1_FRC3 :
375
- case CS35L41_IRQ1_FRC4 :
376
- case CS35L41_IRQ1_EDGE1 :
377
- case CS35L41_IRQ1_EDGE4 :
378
- case CS35L41_IRQ1_POL1 :
379
- case CS35L41_IRQ1_POL2 :
380
- case CS35L41_IRQ1_POL3 :
381
- case CS35L41_IRQ1_POL4 :
382
- case CS35L41_IRQ1_DB3 :
383
389
case CS35L41_IRQ2_STATUS :
384
390
case CS35L41_IRQ2_STATUS1 :
385
391
case CS35L41_IRQ2_STATUS2 :
@@ -389,54 +395,7 @@ static bool cs35l41_volatile_reg(struct device *dev, unsigned int reg)
389
395
case CS35L41_IRQ2_RAW_STATUS2 :
390
396
case CS35L41_IRQ2_RAW_STATUS3 :
391
397
case CS35L41_IRQ2_RAW_STATUS4 :
392
- case CS35L41_IRQ2_FRC1 :
393
- case CS35L41_IRQ2_FRC2 :
394
- case CS35L41_IRQ2_FRC3 :
395
- case CS35L41_IRQ2_FRC4 :
396
- case CS35L41_IRQ2_EDGE1 :
397
- case CS35L41_IRQ2_EDGE4 :
398
- case CS35L41_IRQ2_POL1 :
399
- case CS35L41_IRQ2_POL2 :
400
- case CS35L41_IRQ2_POL3 :
401
- case CS35L41_IRQ2_POL4 :
402
- case CS35L41_IRQ2_DB3 :
403
398
case CS35L41_GPIO_STATUS1 :
404
- case CS35L41_OTP_TRIM_1 :
405
- case CS35L41_OTP_TRIM_2 :
406
- case CS35L41_OTP_TRIM_3 :
407
- case CS35L41_OTP_TRIM_4 :
408
- case CS35L41_OTP_TRIM_5 :
409
- case CS35L41_OTP_TRIM_6 :
410
- case CS35L41_OTP_TRIM_7 :
411
- case CS35L41_OTP_TRIM_8 :
412
- case CS35L41_OTP_TRIM_9 :
413
- case CS35L41_OTP_TRIM_10 :
414
- case CS35L41_OTP_TRIM_11 :
415
- case CS35L41_OTP_TRIM_12 :
416
- case CS35L41_OTP_TRIM_13 :
417
- case CS35L41_OTP_TRIM_14 :
418
- case CS35L41_OTP_TRIM_15 :
419
- case CS35L41_OTP_TRIM_16 :
420
- case CS35L41_OTP_TRIM_17 :
421
- case CS35L41_OTP_TRIM_18 :
422
- case CS35L41_OTP_TRIM_19 :
423
- case CS35L41_OTP_TRIM_20 :
424
- case CS35L41_OTP_TRIM_21 :
425
- case CS35L41_OTP_TRIM_22 :
426
- case CS35L41_OTP_TRIM_23 :
427
- case CS35L41_OTP_TRIM_24 :
428
- case CS35L41_OTP_TRIM_25 :
429
- case CS35L41_OTP_TRIM_26 :
430
- case CS35L41_OTP_TRIM_27 :
431
- case CS35L41_OTP_TRIM_28 :
432
- case CS35L41_OTP_TRIM_29 :
433
- case CS35L41_OTP_TRIM_30 :
434
- case CS35L41_OTP_TRIM_31 :
435
- case CS35L41_OTP_TRIM_32 :
436
- case CS35L41_OTP_TRIM_33 :
437
- case CS35L41_OTP_TRIM_34 :
438
- case CS35L41_OTP_TRIM_35 :
439
- case CS35L41_OTP_TRIM_36 :
440
399
case CS35L41_DSP_MBOX_1 ... CS35L41_DSP_VIRT2_MBOX_8 :
441
400
case CS35L41_DSP1_XMEM_PACK_0 ... CS35L41_DSP1_XMEM_PACK_3068 :
442
401
case CS35L41_DSP1_XMEM_UNPACK32_0 ... CS35L41_DSP1_XMEM_UNPACK32_2046 :
@@ -445,7 +404,11 @@ static bool cs35l41_volatile_reg(struct device *dev, unsigned int reg)
445
404
case CS35L41_DSP1_YMEM_UNPACK32_0 ... CS35L41_DSP1_YMEM_UNPACK32_1022 :
446
405
case CS35L41_DSP1_YMEM_UNPACK24_0 ... CS35L41_DSP1_YMEM_UNPACK24_2045 :
447
406
case CS35L41_DSP1_PMEM_0 ... CS35L41_DSP1_PMEM_5114 :
448
- case CS35L41_DSP1_CCM_CORE_CTRL ... CS35L41_DSP1_WDT_STATUS :
407
+ case CS35L41_DSP1_SCRATCH1 :
408
+ case CS35L41_DSP1_SCRATCH2 :
409
+ case CS35L41_DSP1_SCRATCH3 :
410
+ case CS35L41_DSP1_SCRATCH4 :
411
+ case CS35L41_DSP1_CCM_CLK_OVERRIDE ... CS35L41_DSP1_WDT_STATUS :
449
412
case CS35L41_OTP_MEM0 ... CS35L41_OTP_MEM31 :
450
413
return true;
451
414
default :
0 commit comments