13 #include <linux/module.h>
20 #define WM5110_NUM_AOD_ISR 2
21 #define WM5110_NUM_ISR 5
23 static const struct reg_default wm5110_reva_patch[] = {
136 static const struct reg_default wm5110_revb_patch[] = {
229 switch (arizona->
rev) {
253 .name =
"wm5110 AOD",
259 .irqs = wm5110_aod_irqs,
402 .name =
"wm5110 IRQ",
412 static const struct reg_default wm5110_reg_default[] = {
413 { 0x00000008, 0x0019 },
414 { 0x00000009, 0x0001 },
415 { 0x0000000A, 0x0001 },
416 { 0x0000000B, 0x0036 },
417 { 0x0000000C, 0x0036 },
418 { 0x00000016, 0x0000 },
419 { 0x00000017, 0x0000 },
420 { 0x00000018, 0x0000 },
421 { 0x00000020, 0x0000 },
422 { 0x00000021, 0x1000 },
423 { 0x00000022, 0x0000 },
424 { 0x00000023, 0x1000 },
425 { 0x00000024, 0x0000 },
426 { 0x00000030, 0x0000 },
427 { 0x00000031, 0x0100 },
428 { 0x00000032, 0x0100 },
429 { 0x00000040, 0x0000 },
430 { 0x00000041, 0x0000 },
431 { 0x00000061, 0x01FF },
432 { 0x00000062, 0x01FF },
433 { 0x00000063, 0x01FF },
434 { 0x00000064, 0x01FF },
435 { 0x00000068, 0x01FF },
436 { 0x00000069, 0x01FF },
437 { 0x0000006A, 0x01FF },
438 { 0x0000006B, 0x01FF },
439 { 0x00000070, 0x0000 },
440 { 0x00000090, 0x0000 },
441 { 0x00000091, 0x7FFF },
442 { 0x00000092, 0x0000 },
443 { 0x00000093, 0x0000 },
444 { 0x00000094, 0x0000 },
445 { 0x00000095, 0x0000 },
446 { 0x00000096, 0x0000 },
447 { 0x00000097, 0x0000 },
448 { 0x00000100, 0x0001 },
449 { 0x00000101, 0x0504 },
450 { 0x00000102, 0x0011 },
451 { 0x00000103, 0x0011 },
452 { 0x00000104, 0x0011 },
453 { 0x00000112, 0x0305 },
454 { 0x00000113, 0x0011 },
455 { 0x00000149, 0x0000 },
456 { 0x0000014A, 0x0000 },
457 { 0x00000152, 0x0000 },
458 { 0x00000153, 0x0000 },
459 { 0x00000154, 0x0000 },
460 { 0x00000155, 0x0000 },
461 { 0x00000156, 0x0000 },
462 { 0x00000171, 0x0000 },
463 { 0x00000172, 0x0008 },
464 { 0x00000173, 0x0018 },
465 { 0x00000174, 0x007D },
466 { 0x00000175, 0x0006 },
467 { 0x00000176, 0x0000 },
468 { 0x00000177, 0x0281 },
469 { 0x00000178, 0x0000 },
470 { 0x00000181, 0x0000 },
471 { 0x00000182, 0x0000 },
472 { 0x00000183, 0x0000 },
473 { 0x00000184, 0x0000 },
474 { 0x00000185, 0x0000 },
475 { 0x00000186, 0x0000 },
476 { 0x00000189, 0x0000 },
477 { 0x0000018A, 0x0004 },
478 { 0x00000191, 0x0000 },
479 { 0x00000192, 0x0008 },
480 { 0x00000193, 0x0018 },
481 { 0x00000194, 0x007D },
482 { 0x00000195, 0x000C },
483 { 0x00000196, 0x0000 },
484 { 0x00000197, 0x0000 },
485 { 0x00000198, 0x0000 },
486 { 0x000001A1, 0x0000 },
487 { 0x000001A2, 0x0000 },
488 { 0x000001A3, 0x0000 },
489 { 0x000001A4, 0x0000 },
490 { 0x000001A5, 0x0000 },
491 { 0x000001A6, 0x0000 },
492 { 0x000001A9, 0x0000 },
493 { 0x000001AA, 0x0004 },
494 { 0x00000200, 0x0006 },
495 { 0x00000210, 0x0184 },
496 { 0x00000213, 0x0344 },
497 { 0x00000218, 0x01A6 },
498 { 0x00000219, 0x01A6 },
499 { 0x0000021A, 0x01A6 },
500 { 0x00000293, 0x0000 },
501 { 0x0000029B, 0x0020 },
502 { 0x0000029C, 0x0000 },
503 { 0x000002A3, 0x1102 },
504 { 0x000002A4, 0x009F },
505 { 0x000002C3, 0x0000 },
506 { 0x000002D3, 0x0000 },
507 { 0x00000300, 0x0000 },
508 { 0x00000308, 0x0000 },
509 { 0x00000309, 0x0022 },
510 { 0x00000310, 0x2080 },
511 { 0x00000311, 0x0180 },
512 { 0x00000312, 0x0000 },
513 { 0x00000314, 0x0080 },
514 { 0x00000315, 0x0180 },
515 { 0x00000316, 0x0000 },
516 { 0x00000318, 0x2080 },
517 { 0x00000319, 0x0180 },
518 { 0x0000031A, 0x0000 },
519 { 0x0000031C, 0x0080 },
520 { 0x0000031D, 0x0180 },
521 { 0x0000031E, 0x0000 },
522 { 0x00000320, 0x2080 },
523 { 0x00000321, 0x0180 },
524 { 0x00000322, 0x0000 },
525 { 0x00000324, 0x0080 },
526 { 0x00000325, 0x0180 },
527 { 0x00000326, 0x0000 },
528 { 0x00000328, 0x2000 },
529 { 0x00000329, 0x0180 },
530 { 0x0000032A, 0x0000 },
531 { 0x0000032D, 0x0180 },
532 { 0x0000032E, 0x0000 },
533 { 0x00000400, 0x0000 },
534 { 0x00000408, 0x0000 },
535 { 0x00000409, 0x0022 },
536 { 0x00000410, 0x0080 },
537 { 0x00000411, 0x0180 },
538 { 0x00000412, 0x0080 },
539 { 0x00000413, 0x0001 },
540 { 0x00000414, 0x0080 },
541 { 0x00000415, 0x0180 },
542 { 0x00000416, 0x0080 },
543 { 0x00000417, 0x0002 },
544 { 0x00000418, 0x0080 },
545 { 0x00000419, 0x0180 },
546 { 0x0000041A, 0x0080 },
547 { 0x0000041B, 0x0004 },
548 { 0x0000041C, 0x0080 },
549 { 0x0000041D, 0x0180 },
550 { 0x0000041E, 0x0080 },
551 { 0x0000041F, 0x0008 },
552 { 0x00000420, 0x0080 },
553 { 0x00000421, 0x0180 },
554 { 0x00000422, 0x0080 },
555 { 0x00000423, 0x0010 },
556 { 0x00000424, 0x0080 },
557 { 0x00000425, 0x0180 },
558 { 0x00000426, 0x0080 },
559 { 0x00000427, 0x0020 },
560 { 0x00000428, 0x0000 },
561 { 0x00000429, 0x0180 },
562 { 0x0000042A, 0x0080 },
563 { 0x0000042B, 0x0040 },
564 { 0x0000042C, 0x0000 },
565 { 0x0000042D, 0x0180 },
566 { 0x0000042E, 0x0080 },
567 { 0x0000042F, 0x0080 },
568 { 0x00000430, 0x0000 },
569 { 0x00000431, 0x0180 },
570 { 0x00000432, 0x0080 },
571 { 0x00000433, 0x0100 },
572 { 0x00000434, 0x0000 },
573 { 0x00000435, 0x0180 },
574 { 0x00000436, 0x0080 },
575 { 0x00000437, 0x0200 },
576 { 0x00000438, 0x0000 },
577 { 0x00000439, 0x0180 },
578 { 0x0000043A, 0x0080 },
579 { 0x0000043B, 0x0400 },
580 { 0x0000043C, 0x0000 },
581 { 0x0000043D, 0x0180 },
582 { 0x0000043E, 0x0080 },
583 { 0x0000043F, 0x0800 },
584 { 0x00000450, 0x0000 },
585 { 0x00000458, 0x0001 },
586 { 0x00000480, 0x0040 },
587 { 0x00000481, 0x0040 },
588 { 0x00000490, 0x0069 },
589 { 0x00000491, 0x0000 },
590 { 0x00000492, 0x0069 },
591 { 0x00000493, 0x0000 },
592 { 0x00000500, 0x000C },
593 { 0x00000501, 0x0008 },
594 { 0x00000502, 0x0000 },
595 { 0x00000503, 0x0000 },
596 { 0x00000504, 0x0000 },
597 { 0x00000505, 0x0040 },
598 { 0x00000506, 0x0040 },
599 { 0x00000507, 0x1818 },
600 { 0x00000508, 0x1818 },
601 { 0x00000509, 0x0000 },
602 { 0x0000050A, 0x0001 },
603 { 0x0000050B, 0x0002 },
604 { 0x0000050C, 0x0003 },
605 { 0x0000050D, 0x0004 },
606 { 0x0000050E, 0x0005 },
607 { 0x0000050F, 0x0006 },
608 { 0x00000510, 0x0007 },
609 { 0x00000511, 0x0000 },
610 { 0x00000512, 0x0001 },
611 { 0x00000513, 0x0002 },
612 { 0x00000514, 0x0003 },
613 { 0x00000515, 0x0004 },
614 { 0x00000516, 0x0005 },
615 { 0x00000517, 0x0006 },
616 { 0x00000518, 0x0007 },
617 { 0x00000519, 0x0000 },
618 { 0x0000051A, 0x0000 },
619 { 0x00000540, 0x000C },
620 { 0x00000541, 0x0008 },
621 { 0x00000542, 0x0000 },
622 { 0x00000543, 0x0000 },
623 { 0x00000544, 0x0000 },
624 { 0x00000545, 0x0040 },
625 { 0x00000546, 0x0040 },
626 { 0x00000547, 0x1818 },
627 { 0x00000548, 0x1818 },
628 { 0x00000549, 0x0000 },
629 { 0x0000054A, 0x0001 },
630 { 0x00000551, 0x0000 },
631 { 0x00000552, 0x0001 },
632 { 0x00000559, 0x0000 },
633 { 0x0000055A, 0x0000 },
634 { 0x00000580, 0x000C },
635 { 0x00000581, 0x0008 },
636 { 0x00000582, 0x0000 },
637 { 0x00000583, 0x0000 },
638 { 0x00000584, 0x0000 },
639 { 0x00000585, 0x0040 },
640 { 0x00000586, 0x0040 },
641 { 0x00000587, 0x1818 },
642 { 0x00000588, 0x1818 },
643 { 0x00000589, 0x0000 },
644 { 0x0000058A, 0x0001 },
645 { 0x00000591, 0x0000 },
646 { 0x00000592, 0x0001 },
647 { 0x00000599, 0x0000 },
648 { 0x0000059A, 0x0000 },
649 { 0x000005E3, 0x0004 },
650 { 0x000005E5, 0x0000 },
651 { 0x000005E6, 0x0000 },
652 { 0x000005E7, 0x0000 },
653 { 0x000005E8, 0x0000 },
654 { 0x000005E9, 0x0000 },
655 { 0x000005EA, 0x0000 },
656 { 0x000005EB, 0x0000 },
657 { 0x000005EC, 0x0000 },
658 { 0x000005F5, 0x0000 },
659 { 0x000005F6, 0x0000 },
660 { 0x00000640, 0x0000 },
661 { 0x00000641, 0x0080 },
662 { 0x00000642, 0x0000 },
663 { 0x00000643, 0x0080 },
664 { 0x00000644, 0x0000 },
665 { 0x00000645, 0x0080 },
666 { 0x00000646, 0x0000 },
667 { 0x00000647, 0x0080 },
668 { 0x00000648, 0x0000 },
669 { 0x00000649, 0x0080 },
670 { 0x0000064A, 0x0000 },
671 { 0x0000064B, 0x0080 },
672 { 0x0000064C, 0x0000 },
673 { 0x0000064D, 0x0080 },
674 { 0x0000064E, 0x0000 },
675 { 0x0000064F, 0x0080 },
676 { 0x00000660, 0x0000 },
677 { 0x00000661, 0x0080 },
678 { 0x00000662, 0x0000 },
679 { 0x00000663, 0x0080 },
680 { 0x00000664, 0x0000 },
681 { 0x00000665, 0x0080 },
682 { 0x00000666, 0x0000 },
683 { 0x00000667, 0x0080 },
684 { 0x00000668, 0x0000 },
685 { 0x00000669, 0x0080 },
686 { 0x0000066A, 0x0000 },
687 { 0x0000066B, 0x0080 },
688 { 0x0000066C, 0x0000 },
689 { 0x0000066D, 0x0080 },
690 { 0x0000066E, 0x0000 },
691 { 0x0000066F, 0x0080 },
692 { 0x00000680, 0x0000 },
693 { 0x00000681, 0x0080 },
694 { 0x00000682, 0x0000 },
695 { 0x00000683, 0x0080 },
696 { 0x00000684, 0x0000 },
697 { 0x00000685, 0x0080 },
698 { 0x00000686, 0x0000 },
699 { 0x00000687, 0x0080 },
700 { 0x00000688, 0x0000 },
701 { 0x00000689, 0x0080 },
702 { 0x0000068A, 0x0000 },
703 { 0x0000068B, 0x0080 },
704 { 0x0000068C, 0x0000 },
705 { 0x0000068D, 0x0080 },
706 { 0x0000068E, 0x0000 },
707 { 0x0000068F, 0x0080 },
708 { 0x00000690, 0x0000 },
709 { 0x00000691, 0x0080 },
710 { 0x00000692, 0x0000 },
711 { 0x00000693, 0x0080 },
712 { 0x00000694, 0x0000 },
713 { 0x00000695, 0x0080 },
714 { 0x00000696, 0x0000 },
715 { 0x00000697, 0x0080 },
716 { 0x00000698, 0x0000 },
717 { 0x00000699, 0x0080 },
718 { 0x0000069A, 0x0000 },
719 { 0x0000069B, 0x0080 },
720 { 0x0000069C, 0x0000 },
721 { 0x0000069D, 0x0080 },
722 { 0x0000069E, 0x0000 },
723 { 0x0000069F, 0x0080 },
724 { 0x000006A0, 0x0000 },
725 { 0x000006A1, 0x0080 },
726 { 0x000006A2, 0x0000 },
727 { 0x000006A3, 0x0080 },
728 { 0x000006A4, 0x0000 },
729 { 0x000006A5, 0x0080 },
730 { 0x000006A6, 0x0000 },
731 { 0x000006A7, 0x0080 },
732 { 0x000006A8, 0x0000 },
733 { 0x000006A9, 0x0080 },
734 { 0x000006AA, 0x0000 },
735 { 0x000006AB, 0x0080 },
736 { 0x000006AC, 0x0000 },
737 { 0x000006AD, 0x0080 },
738 { 0x000006AE, 0x0000 },
739 { 0x000006AF, 0x0080 },
740 { 0x000006B0, 0x0000 },
741 { 0x000006B1, 0x0080 },
742 { 0x000006B2, 0x0000 },
743 { 0x000006B3, 0x0080 },
744 { 0x000006B4, 0x0000 },
745 { 0x000006B5, 0x0080 },
746 { 0x000006B6, 0x0000 },
747 { 0x000006B7, 0x0080 },
748 { 0x000006B8, 0x0000 },
749 { 0x000006B9, 0x0080 },
750 { 0x000006BA, 0x0000 },
751 { 0x000006BB, 0x0080 },
752 { 0x000006BC, 0x0000 },
753 { 0x000006BD, 0x0080 },
754 { 0x000006BE, 0x0000 },
755 { 0x000006BF, 0x0080 },
756 { 0x000006C0, 0x0000 },
757 { 0x000006C1, 0x0080 },
758 { 0x000006C2, 0x0000 },
759 { 0x000006C3, 0x0080 },
760 { 0x000006C4, 0x0000 },
761 { 0x000006C5, 0x0080 },
762 { 0x000006C6, 0x0000 },
763 { 0x000006C7, 0x0080 },
764 { 0x000006C8, 0x0000 },
765 { 0x000006C9, 0x0080 },
766 { 0x000006CA, 0x0000 },
767 { 0x000006CB, 0x0080 },
768 { 0x000006CC, 0x0000 },
769 { 0x000006CD, 0x0080 },
770 { 0x000006CE, 0x0000 },
771 { 0x000006CF, 0x0080 },
772 { 0x000006D0, 0x0000 },
773 { 0x000006D1, 0x0080 },
774 { 0x000006D2, 0x0000 },
775 { 0x000006D3, 0x0080 },
776 { 0x000006D4, 0x0000 },
777 { 0x000006D5, 0x0080 },
778 { 0x000006D6, 0x0000 },
779 { 0x000006D7, 0x0080 },
780 { 0x000006D8, 0x0000 },
781 { 0x000006D9, 0x0080 },
782 { 0x000006DA, 0x0000 },
783 { 0x000006DB, 0x0080 },
784 { 0x000006DC, 0x0000 },
785 { 0x000006DD, 0x0080 },
786 { 0x000006DE, 0x0000 },
787 { 0x000006DF, 0x0080 },
788 { 0x00000700, 0x0000 },
789 { 0x00000701, 0x0080 },
790 { 0x00000702, 0x0000 },
791 { 0x00000703, 0x0080 },
792 { 0x00000704, 0x0000 },
793 { 0x00000705, 0x0080 },
794 { 0x00000706, 0x0000 },
795 { 0x00000707, 0x0080 },
796 { 0x00000708, 0x0000 },
797 { 0x00000709, 0x0080 },
798 { 0x0000070A, 0x0000 },
799 { 0x0000070B, 0x0080 },
800 { 0x0000070C, 0x0000 },
801 { 0x0000070D, 0x0080 },
802 { 0x0000070E, 0x0000 },
803 { 0x0000070F, 0x0080 },
804 { 0x00000710, 0x0000 },
805 { 0x00000711, 0x0080 },
806 { 0x00000712, 0x0000 },
807 { 0x00000713, 0x0080 },
808 { 0x00000714, 0x0000 },
809 { 0x00000715, 0x0080 },
810 { 0x00000716, 0x0000 },
811 { 0x00000717, 0x0080 },
812 { 0x00000718, 0x0000 },
813 { 0x00000719, 0x0080 },
814 { 0x0000071A, 0x0000 },
815 { 0x0000071B, 0x0080 },
816 { 0x0000071C, 0x0000 },
817 { 0x0000071D, 0x0080 },
818 { 0x0000071E, 0x0000 },
819 { 0x0000071F, 0x0080 },
820 { 0x00000720, 0x0000 },
821 { 0x00000721, 0x0080 },
822 { 0x00000722, 0x0000 },
823 { 0x00000723, 0x0080 },
824 { 0x00000724, 0x0000 },
825 { 0x00000725, 0x0080 },
826 { 0x00000726, 0x0000 },
827 { 0x00000727, 0x0080 },
828 { 0x00000728, 0x0000 },
829 { 0x00000729, 0x0080 },
830 { 0x0000072A, 0x0000 },
831 { 0x0000072B, 0x0080 },
832 { 0x0000072C, 0x0000 },
833 { 0x0000072D, 0x0080 },
834 { 0x0000072E, 0x0000 },
835 { 0x0000072F, 0x0080 },
836 { 0x00000730, 0x0000 },
837 { 0x00000731, 0x0080 },
838 { 0x00000732, 0x0000 },
839 { 0x00000733, 0x0080 },
840 { 0x00000734, 0x0000 },
841 { 0x00000735, 0x0080 },
842 { 0x00000736, 0x0000 },
843 { 0x00000737, 0x0080 },
844 { 0x00000738, 0x0000 },
845 { 0x00000739, 0x0080 },
846 { 0x0000073A, 0x0000 },
847 { 0x0000073B, 0x0080 },
848 { 0x0000073C, 0x0000 },
849 { 0x0000073D, 0x0080 },
850 { 0x0000073E, 0x0000 },
851 { 0x0000073F, 0x0080 },
852 { 0x00000740, 0x0000 },
853 { 0x00000741, 0x0080 },
854 { 0x00000742, 0x0000 },
855 { 0x00000743, 0x0080 },
856 { 0x00000744, 0x0000 },
857 { 0x00000745, 0x0080 },
858 { 0x00000746, 0x0000 },
859 { 0x00000747, 0x0080 },
860 { 0x00000748, 0x0000 },
861 { 0x00000749, 0x0080 },
862 { 0x0000074A, 0x0000 },
863 { 0x0000074B, 0x0080 },
864 { 0x0000074C, 0x0000 },
865 { 0x0000074D, 0x0080 },
866 { 0x0000074E, 0x0000 },
867 { 0x0000074F, 0x0080 },
868 { 0x00000780, 0x0000 },
869 { 0x00000781, 0x0080 },
870 { 0x00000782, 0x0000 },
871 { 0x00000783, 0x0080 },
872 { 0x00000784, 0x0000 },
873 { 0x00000785, 0x0080 },
874 { 0x00000786, 0x0000 },
875 { 0x00000787, 0x0080 },
876 { 0x00000788, 0x0000 },
877 { 0x00000789, 0x0080 },
878 { 0x0000078A, 0x0000 },
879 { 0x0000078B, 0x0080 },
880 { 0x0000078C, 0x0000 },
881 { 0x0000078D, 0x0080 },
882 { 0x0000078E, 0x0000 },
883 { 0x0000078F, 0x0080 },
884 { 0x000007C0, 0x0000 },
885 { 0x000007C1, 0x0080 },
886 { 0x000007C2, 0x0000 },
887 { 0x000007C3, 0x0080 },
888 { 0x000007C4, 0x0000 },
889 { 0x000007C5, 0x0080 },
890 { 0x000007C6, 0x0000 },
891 { 0x000007C7, 0x0080 },
892 { 0x000007C8, 0x0000 },
893 { 0x000007C9, 0x0080 },
894 { 0x000007CA, 0x0000 },
895 { 0x000007CB, 0x0080 },
896 { 0x000007CC, 0x0000 },
897 { 0x000007CD, 0x0080 },
898 { 0x000007CE, 0x0000 },
899 { 0x000007CF, 0x0080 },
900 { 0x000007D0, 0x0000 },
901 { 0x000007D1, 0x0080 },
902 { 0x000007D2, 0x0000 },
903 { 0x000007D3, 0x0080 },
904 { 0x000007D4, 0x0000 },
905 { 0x000007D5, 0x0080 },
906 { 0x000007D6, 0x0000 },
907 { 0x000007D7, 0x0080 },
908 { 0x000007D8, 0x0000 },
909 { 0x000007D9, 0x0080 },
910 { 0x000007DA, 0x0000 },
911 { 0x000007DB, 0x0080 },
912 { 0x000007DC, 0x0000 },
913 { 0x000007DD, 0x0080 },
914 { 0x000007DE, 0x0000 },
915 { 0x000007DF, 0x0080 },
916 { 0x000007E0, 0x0000 },
917 { 0x000007E1, 0x0080 },
918 { 0x000007E2, 0x0000 },
919 { 0x000007E3, 0x0080 },
920 { 0x000007E4, 0x0000 },
921 { 0x000007E5, 0x0080 },
922 { 0x000007E6, 0x0000 },
923 { 0x000007E7, 0x0080 },
924 { 0x000007E8, 0x0000 },
925 { 0x000007E9, 0x0080 },
926 { 0x000007EA, 0x0000 },
927 { 0x000007EB, 0x0080 },
928 { 0x000007EC, 0x0000 },
929 { 0x000007ED, 0x0080 },
930 { 0x000007EE, 0x0000 },
931 { 0x000007EF, 0x0080 },
932 { 0x000007F0, 0x0000 },
933 { 0x000007F1, 0x0080 },
934 { 0x000007F2, 0x0000 },
935 { 0x000007F3, 0x0080 },
936 { 0x000007F4, 0x0000 },
937 { 0x000007F5, 0x0080 },
938 { 0x000007F6, 0x0000 },
939 { 0x000007F7, 0x0080 },
940 { 0x000007F8, 0x0000 },
941 { 0x000007F9, 0x0080 },
942 { 0x000007FA, 0x0000 },
943 { 0x000007FB, 0x0080 },
944 { 0x000007FC, 0x0000 },
945 { 0x000007FD, 0x0080 },
946 { 0x000007FE, 0x0000 },
947 { 0x000007FF, 0x0080 },
948 { 0x00000880, 0x0000 },
949 { 0x00000881, 0x0080 },
950 { 0x00000882, 0x0000 },
951 { 0x00000883, 0x0080 },
952 { 0x00000884, 0x0000 },
953 { 0x00000885, 0x0080 },
954 { 0x00000886, 0x0000 },
955 { 0x00000887, 0x0080 },
956 { 0x00000888, 0x0000 },
957 { 0x00000889, 0x0080 },
958 { 0x0000088A, 0x0000 },
959 { 0x0000088B, 0x0080 },
960 { 0x0000088C, 0x0000 },
961 { 0x0000088D, 0x0080 },
962 { 0x0000088E, 0x0000 },
963 { 0x0000088F, 0x0080 },
964 { 0x00000890, 0x0000 },
965 { 0x00000891, 0x0080 },
966 { 0x00000892, 0x0000 },
967 { 0x00000893, 0x0080 },
968 { 0x00000894, 0x0000 },
969 { 0x00000895, 0x0080 },
970 { 0x00000896, 0x0000 },
971 { 0x00000897, 0x0080 },
972 { 0x00000898, 0x0000 },
973 { 0x00000899, 0x0080 },
974 { 0x0000089A, 0x0000 },
975 { 0x0000089B, 0x0080 },
976 { 0x0000089C, 0x0000 },
977 { 0x0000089D, 0x0080 },
978 { 0x0000089E, 0x0000 },
979 { 0x0000089F, 0x0080 },
980 { 0x000008C0, 0x0000 },
981 { 0x000008C1, 0x0080 },
982 { 0x000008C2, 0x0000 },
983 { 0x000008C3, 0x0080 },
984 { 0x000008C4, 0x0000 },
985 { 0x000008C5, 0x0080 },
986 { 0x000008C6, 0x0000 },
987 { 0x000008C7, 0x0080 },
988 { 0x000008C8, 0x0000 },
989 { 0x000008C9, 0x0080 },
990 { 0x000008CA, 0x0000 },
991 { 0x000008CB, 0x0080 },
992 { 0x000008CC, 0x0000 },
993 { 0x000008CD, 0x0080 },
994 { 0x000008CE, 0x0000 },
995 { 0x000008CF, 0x0080 },
996 { 0x000008D0, 0x0000 },
997 { 0x000008D1, 0x0080 },
998 { 0x000008D2, 0x0000 },
999 { 0x000008D3, 0x0080 },
1000 { 0x000008D4, 0x0000 },
1001 { 0x000008D5, 0x0080 },
1002 { 0x000008D6, 0x0000 },
1003 { 0x000008D7, 0x0080 },
1004 { 0x000008D8, 0x0000 },
1005 { 0x000008D9, 0x0080 },
1006 { 0x000008DA, 0x0000 },
1007 { 0x000008DB, 0x0080 },
1008 { 0x000008DC, 0x0000 },
1009 { 0x000008DD, 0x0080 },
1010 { 0x000008DE, 0x0000 },
1011 { 0x000008DF, 0x0080 },
1012 { 0x00000900, 0x0000 },
1013 { 0x00000901, 0x0080 },
1014 { 0x00000902, 0x0000 },
1015 { 0x00000903, 0x0080 },
1016 { 0x00000904, 0x0000 },
1017 { 0x00000905, 0x0080 },
1018 { 0x00000906, 0x0000 },
1019 { 0x00000907, 0x0080 },
1020 { 0x00000908, 0x0000 },
1021 { 0x00000909, 0x0080 },
1022 { 0x0000090A, 0x0000 },
1023 { 0x0000090B, 0x0080 },
1024 { 0x0000090C, 0x0000 },
1025 { 0x0000090D, 0x0080 },
1026 { 0x0000090E, 0x0000 },
1027 { 0x0000090F, 0x0080 },
1028 { 0x00000910, 0x0000 },
1029 { 0x00000911, 0x0080 },
1030 { 0x00000912, 0x0000 },
1031 { 0x00000913, 0x0080 },
1032 { 0x00000914, 0x0000 },
1033 { 0x00000915, 0x0080 },
1034 { 0x00000916, 0x0000 },
1035 { 0x00000917, 0x0080 },
1036 { 0x00000918, 0x0000 },
1037 { 0x00000919, 0x0080 },
1038 { 0x0000091A, 0x0000 },
1039 { 0x0000091B, 0x0080 },
1040 { 0x0000091C, 0x0000 },
1041 { 0x0000091D, 0x0080 },
1042 { 0x0000091E, 0x0000 },
1043 { 0x0000091F, 0x0080 },
1044 { 0x00000940, 0x0000 },
1045 { 0x00000941, 0x0080 },
1046 { 0x00000942, 0x0000 },
1047 { 0x00000943, 0x0080 },
1048 { 0x00000944, 0x0000 },
1049 { 0x00000945, 0x0080 },
1050 { 0x00000946, 0x0000 },
1051 { 0x00000947, 0x0080 },
1052 { 0x00000948, 0x0000 },
1053 { 0x00000949, 0x0080 },
1054 { 0x0000094A, 0x0000 },
1055 { 0x0000094B, 0x0080 },
1056 { 0x0000094C, 0x0000 },
1057 { 0x0000094D, 0x0080 },
1058 { 0x0000094E, 0x0000 },
1059 { 0x0000094F, 0x0080 },
1060 { 0x00000950, 0x0000 },
1061 { 0x00000958, 0x0000 },
1062 { 0x00000960, 0x0000 },
1063 { 0x00000968, 0x0000 },
1064 { 0x00000970, 0x0000 },
1065 { 0x00000978, 0x0000 },
1066 { 0x00000980, 0x0000 },
1067 { 0x00000981, 0x0080 },
1068 { 0x00000982, 0x0000 },
1069 { 0x00000983, 0x0080 },
1070 { 0x00000984, 0x0000 },
1071 { 0x00000985, 0x0080 },
1072 { 0x00000986, 0x0000 },
1073 { 0x00000987, 0x0080 },
1074 { 0x00000988, 0x0000 },
1075 { 0x00000989, 0x0080 },
1076 { 0x0000098A, 0x0000 },
1077 { 0x0000098B, 0x0080 },
1078 { 0x0000098C, 0x0000 },
1079 { 0x0000098D, 0x0080 },
1080 { 0x0000098E, 0x0000 },
1081 { 0x0000098F, 0x0080 },
1082 { 0x00000990, 0x0000 },
1083 { 0x00000998, 0x0000 },
1084 { 0x000009A0, 0x0000 },
1085 { 0x000009A8, 0x0000 },
1086 { 0x000009B0, 0x0000 },
1087 { 0x000009B8, 0x0000 },
1088 { 0x000009C0, 0x0000 },
1089 { 0x000009C1, 0x0080 },
1090 { 0x000009C2, 0x0000 },
1091 { 0x000009C3, 0x0080 },
1092 { 0x000009C4, 0x0000 },
1093 { 0x000009C5, 0x0080 },
1094 { 0x000009C6, 0x0000 },
1095 { 0x000009C7, 0x0080 },
1096 { 0x000009C8, 0x0000 },
1097 { 0x000009C9, 0x0080 },
1098 { 0x000009CA, 0x0000 },
1099 { 0x000009CB, 0x0080 },
1100 { 0x000009CC, 0x0000 },
1101 { 0x000009CD, 0x0080 },
1102 { 0x000009CE, 0x0000 },
1103 { 0x000009CF, 0x0080 },
1104 { 0x000009D0, 0x0000 },
1105 { 0x000009D8, 0x0000 },
1106 { 0x000009E0, 0x0000 },
1107 { 0x000009E8, 0x0000 },
1108 { 0x000009F0, 0x0000 },
1109 { 0x000009F8, 0x0000 },
1110 { 0x00000A00, 0x0000 },
1111 { 0x00000A01, 0x0080 },
1112 { 0x00000A02, 0x0000 },
1113 { 0x00000A03, 0x0080 },
1114 { 0x00000A04, 0x0000 },
1115 { 0x00000A05, 0x0080 },
1116 { 0x00000A06, 0x0000 },
1117 { 0x00000A07, 0x0080 },
1118 { 0x00000A08, 0x0000 },
1119 { 0x00000A09, 0x0080 },
1120 { 0x00000A0A, 0x0000 },
1121 { 0x00000A0B, 0x0080 },
1122 { 0x00000A0C, 0x0000 },
1123 { 0x00000A0D, 0x0080 },
1124 { 0x00000A0E, 0x0000 },
1125 { 0x00000A0F, 0x0080 },
1126 { 0x00000A10, 0x0000 },
1127 { 0x00000A18, 0x0000 },
1128 { 0x00000A20, 0x0000 },
1129 { 0x00000A28, 0x0000 },
1130 { 0x00000A30, 0x0000 },
1131 { 0x00000A38, 0x0000 },
1132 { 0x00000A80, 0x0000 },
1133 { 0x00000A88, 0x0000 },
1134 { 0x00000A90, 0x0000 },
1135 { 0x00000A98, 0x0000 },
1136 { 0x00000B00, 0x0000 },
1137 { 0x00000B08, 0x0000 },
1138 { 0x00000B10, 0x0000 },
1139 { 0x00000B18, 0x0000 },
1140 { 0x00000B20, 0x0000 },
1141 { 0x00000B28, 0x0000 },
1142 { 0x00000B30, 0x0000 },
1143 { 0x00000B38, 0x0000 },
1144 { 0x00000B40, 0x0000 },
1145 { 0x00000B48, 0x0000 },
1146 { 0x00000B50, 0x0000 },
1147 { 0x00000B58, 0x0000 },
1148 { 0x00000B60, 0x0000 },
1149 { 0x00000B68, 0x0000 },
1150 { 0x00000B70, 0x0000 },
1151 { 0x00000B78, 0x0000 },
1152 { 0x00000B80, 0x0000 },
1153 { 0x00000B88, 0x0000 },
1154 { 0x00000B90, 0x0000 },
1155 { 0x00000B98, 0x0000 },
1156 { 0x00000BA0, 0x0000 },
1157 { 0x00000BA8, 0x0000 },
1158 { 0x00000BB0, 0x0000 },
1159 { 0x00000BB8, 0x0000 },
1160 { 0x00000C00, 0xA101 },
1161 { 0x00000C01, 0xA101 },
1162 { 0x00000C02, 0xA101 },
1163 { 0x00000C03, 0xA101 },
1164 { 0x00000C04, 0xA101 },
1165 { 0x00000C0F, 0x0400 },
1166 { 0x00000C10, 0x1000 },
1167 { 0x00000C20, 0x8002 },
1168 { 0x00000C21, 0x8001 },
1169 { 0x00000C22, 0x0000 },
1170 { 0x00000C23, 0x0000 },
1171 { 0x00000C24, 0x0000 },
1172 { 0x00000C25, 0x0000 },
1173 { 0x00000C30, 0x8282 },
1174 { 0x00000C31, 0x0082 },
1175 { 0x00000C32, 0x8282 },
1176 { 0x00000C33, 0x8282 },
1177 { 0x00000C34, 0x8282 },
1178 { 0x00000C35, 0x8282 },
1179 { 0x00000C36, 0x8282 },
1180 { 0x00000C37, 0x8282 },
1181 { 0x00000C38, 0x8282 },
1182 { 0x00000C39, 0x8282 },
1183 { 0x00000C3A, 0x8282 },
1184 { 0x00000C3B, 0x8282 },
1185 { 0x00000D08, 0xFFFF },
1186 { 0x00000D09, 0xFFFF },
1187 { 0x00000D0A, 0xFFFF },
1188 { 0x00000D0B, 0xFFFF },
1189 { 0x00000D0C, 0xFEFF },
1190 { 0x00000D0F, 0x0000 },
1191 { 0x00000D18, 0xFFFF },
1192 { 0x00000D19, 0xFFFF },
1193 { 0x00000D1A, 0xFFFF },
1194 { 0x00000D1B, 0xFFFF },
1195 { 0x00000D1C, 0xFFFF },
1196 { 0x00000D1F, 0x0000 },
1197 { 0x00000D50, 0x0000 },
1198 { 0x00000D53, 0xFFFF },
1199 { 0x00000D54, 0xFFFF },
1200 { 0x00000D56, 0x0000 },
1201 { 0x00000E00, 0x0000 },
1202 { 0x00000E01, 0x0000 },
1203 { 0x00000E10, 0x6318 },
1204 { 0x00000E11, 0x6300 },
1205 { 0x00000E12, 0x0FC8 },
1206 { 0x00000E13, 0x03FE },
1207 { 0x00000E14, 0x00E0 },
1208 { 0x00000E15, 0x1EC4 },
1209 { 0x00000E16, 0xF136 },
1210 { 0x00000E17, 0x0409 },
1211 { 0x00000E18, 0x04CC },
1212 { 0x00000E19, 0x1C9B },
1213 { 0x00000E1A, 0xF337 },
1214 { 0x00000E1B, 0x040B },
1215 { 0x00000E1C, 0x0CBB },
1216 { 0x00000E1D, 0x16F8 },
1217 { 0x00000E1E, 0xF7D9 },
1218 { 0x00000E1F, 0x040A },
1219 { 0x00000E20, 0x1F14 },
1220 { 0x00000E21, 0x058C },
1221 { 0x00000E22, 0x0563 },
1222 { 0x00000E23, 0x4000 },
1223 { 0x00000E24, 0x0B75 },
1224 { 0x00000E26, 0x6318 },
1225 { 0x00000E27, 0x6300 },
1226 { 0x00000E28, 0x0FC8 },
1227 { 0x00000E29, 0x03FE },
1228 { 0x00000E2A, 0x00E0 },
1229 { 0x00000E2B, 0x1EC4 },
1230 { 0x00000E2C, 0xF136 },
1231 { 0x00000E2D, 0x0409 },
1232 { 0x00000E2E, 0x04CC },
1233 { 0x00000E2F, 0x1C9B },
1234 { 0x00000E30, 0xF337 },
1235 { 0x00000E31, 0x040B },
1236 { 0x00000E32, 0x0CBB },
1237 { 0x00000E33, 0x16F8 },
1238 { 0x00000E34, 0xF7D9 },
1239 { 0x00000E35, 0x040A },
1240 { 0x00000E36, 0x1F14 },
1241 { 0x00000E37, 0x058C },
1242 { 0x00000E38, 0x0563 },
1243 { 0x00000E39, 0x4000 },
1244 { 0x00000E3A, 0x0B75 },
1245 { 0x00000E3C, 0x6318 },
1246 { 0x00000E3D, 0x6300 },
1247 { 0x00000E3E, 0x0FC8 },
1248 { 0x00000E3F, 0x03FE },
1249 { 0x00000E40, 0x00E0 },
1250 { 0x00000E41, 0x1EC4 },
1251 { 0x00000E42, 0xF136 },
1252 { 0x00000E43, 0x0409 },
1253 { 0x00000E44, 0x04CC },
1254 { 0x00000E45, 0x1C9B },
1255 { 0x00000E46, 0xF337 },
1256 { 0x00000E47, 0x040B },
1257 { 0x00000E48, 0x0CBB },
1258 { 0x00000E49, 0x16F8 },
1259 { 0x00000E4A, 0xF7D9 },
1260 { 0x00000E4B, 0x040A },
1261 { 0x00000E4C, 0x1F14 },
1262 { 0x00000E4D, 0x058C },
1263 { 0x00000E4E, 0x0563 },
1264 { 0x00000E4F, 0x4000 },
1265 { 0x00000E50, 0x0B75 },
1266 { 0x00000E52, 0x6318 },
1267 { 0x00000E53, 0x6300 },
1268 { 0x00000E54, 0x0FC8 },
1269 { 0x00000E55, 0x03FE },
1270 { 0x00000E56, 0x00E0 },
1271 { 0x00000E57, 0x1EC4 },
1272 { 0x00000E58, 0xF136 },
1273 { 0x00000E59, 0x0409 },
1274 { 0x00000E5A, 0x04CC },
1275 { 0x00000E5B, 0x1C9B },
1276 { 0x00000E5C, 0xF337 },
1277 { 0x00000E5D, 0x040B },
1278 { 0x00000E5E, 0x0CBB },
1279 { 0x00000E5F, 0x16F8 },
1280 { 0x00000E60, 0xF7D9 },
1281 { 0x00000E61, 0x040A },
1282 { 0x00000E62, 0x1F14 },
1283 { 0x00000E63, 0x058C },
1284 { 0x00000E64, 0x0563 },
1285 { 0x00000E65, 0x4000 },
1286 { 0x00000E66, 0x0B75 },
1287 { 0x00000E80, 0x0018 },
1288 { 0x00000E81, 0x0933 },
1289 { 0x00000E82, 0x0018 },
1290 { 0x00000E83, 0x0000 },
1291 { 0x00000E84, 0x0000 },
1292 { 0x00000E89, 0x0018 },
1293 { 0x00000E8A, 0x0933 },
1294 { 0x00000E8B, 0x0018 },
1295 { 0x00000E8C, 0x0000 },
1296 { 0x00000E8D, 0x0000 },
1297 { 0x00000EC0, 0x0000 },
1298 { 0x00000EC1, 0x0000 },
1299 { 0x00000EC4, 0x0000 },
1300 { 0x00000EC5, 0x0000 },
1301 { 0x00000EC8, 0x0000 },
1302 { 0x00000EC9, 0x0000 },
1303 { 0x00000ECC, 0x0000 },
1304 { 0x00000ECD, 0x0000 },
1305 { 0x00000EE0, 0x0000 },
1306 { 0x00000EE2, 0x0000 },
1307 { 0x00000EF0, 0x0000 },
1308 { 0x00000EF1, 0x0000 },
1309 { 0x00000EF2, 0x0000 },
1310 { 0x00000EF3, 0x0000 },
1311 { 0x00000EF4, 0x0000 },
1312 { 0x00000EF5, 0x0000 },
1313 { 0x00000EF6, 0x0000 },
1314 { 0x00000EF7, 0x0000 },
1315 { 0x00000EF8, 0x0000 },
1316 { 0x00000F00, 0x0000 },
1317 { 0x00000F01, 0x0000 },
1318 { 0x00001100, 0x0010 },
1319 { 0x00001101, 0x0000 },
1320 { 0x00001200, 0x0010 },
1321 { 0x00001201, 0x0000 },
1322 { 0x00001300, 0x0010 },
1323 { 0x00001301, 0x0000 },
1324 { 0x00001400, 0x0010 },
1325 { 0x00001401, 0x0000 },
1326 { 0x00001404, 0x0000 },
1329 static bool wm5110_readable_register(
struct device *
dev,
unsigned int reg)
2293 static bool wm5110_volatile_register(
struct device *dev,
unsigned int reg)
2354 .readable_reg = wm5110_readable_register,
2355 .volatile_reg = wm5110_volatile_register,
2358 .reg_defaults = wm5110_reg_default,
2359 .num_reg_defaults =
ARRAY_SIZE(wm5110_reg_default),
2368 .readable_reg = wm5110_readable_register,
2369 .volatile_reg = wm5110_volatile_register,
2372 .reg_defaults = wm5110_reg_default,
2373 .num_reg_defaults =
ARRAY_SIZE(wm5110_reg_default),