Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
/* SPDX-License-Identifier: GPL-2.0 */ /* * mt6797-reg.h -- Mediatek 6797 audio driver reg definition * * Copyright (c) 2018 MediaTek Inc. * Author: KaiChieh Chuang <kaichieh.chuang@mediatek.com> */ #ifndef _MT6797_REG_H_ #define _MT6797_REG_H_ #define AUDIO_TOP_CON0 0x0000 #define AUDIO_TOP_CON1 0x0004 #define AUDIO_TOP_CON3 0x000c #define AFE_DAC_CON0 0x0010 #define AFE_DAC_CON1 0x0014 #define AFE_I2S_CON 0x0018 #define AFE_DAIBT_CON0 0x001c #define AFE_CONN0 0x0020 #define AFE_CONN1 0x0024 #define AFE_CONN2 0x0028 #define AFE_CONN3 0x002c #define AFE_CONN4 0x0030 #define AFE_I2S_CON1 0x0034 #define AFE_I2S_CON2 0x0038 #define AFE_MRGIF_CON 0x003c #define AFE_DL1_BASE 0x0040 #define AFE_DL1_CUR 0x0044 #define AFE_DL1_END 0x0048 #define AFE_I2S_CON3 0x004c #define AFE_DL2_BASE 0x0050 #define AFE_DL2_CUR 0x0054 #define AFE_DL2_END 0x0058 #define AFE_CONN5 0x005c #define AFE_CONN_24BIT 0x006c #define AFE_AWB_BASE 0x0070 #define AFE_AWB_END 0x0078 #define AFE_AWB_CUR 0x007c #define AFE_VUL_BASE 0x0080 #define AFE_VUL_END 0x0088 #define AFE_VUL_CUR 0x008c #define AFE_DAI_BASE 0x0090 #define AFE_DAI_END 0x0098 #define AFE_DAI_CUR 0x009c #define AFE_CONN6 0x00bc #define AFE_MEMIF_MSB 0x00cc #define AFE_MEMIF_MON0 0x00d0 #define AFE_MEMIF_MON1 0x00d4 #define AFE_MEMIF_MON2 0x00d8 #define AFE_MEMIF_MON4 0x00e0 #define AFE_ADDA_DL_SRC2_CON0 0x0108 #define AFE_ADDA_DL_SRC2_CON1 0x010c #define AFE_ADDA_UL_SRC_CON0 0x0114 #define AFE_ADDA_UL_SRC_CON1 0x0118 #define AFE_ADDA_TOP_CON0 0x0120 #define AFE_ADDA_UL_DL_CON0 0x0124 #define AFE_ADDA_SRC_DEBUG 0x012c #define AFE_ADDA_SRC_DEBUG_MON0 0x0130 #define AFE_ADDA_SRC_DEBUG_MON1 0x0134 #define AFE_ADDA_NEWIF_CFG0 0x0138 #define AFE_ADDA_NEWIF_CFG1 0x013c #define AFE_ADDA_NEWIF_CFG2 0x0140 #define AFE_DMA_CTL 0x0150 #define AFE_DMA_MON0 0x0154 #define AFE_DMA_MON1 0x0158 #define AFE_SIDETONE_DEBUG 0x01d0 #define AFE_SIDETONE_MON 0x01d4 #define AFE_SIDETONE_CON0 0x01e0 #define AFE_SIDETONE_COEFF 0x01e4 #define AFE_SIDETONE_CON1 0x01e8 #define AFE_SIDETONE_GAIN 0x01ec #define AFE_SGEN_CON0 0x01f0 #define AFE_SINEGEN_CON_TDM 0x01fc #define AFE_TOP_CON0 0x0200 #define AFE_ADDA_PREDIS_CON0 0x0260 #define AFE_ADDA_PREDIS_CON1 0x0264 #define AFE_MRGIF_MON0 0x0270 #define AFE_MRGIF_MON1 0x0274 #define AFE_MRGIF_MON2 0x0278 #define AFE_I2S_MON 0x027c #define AFE_MOD_DAI_BASE 0x0330 #define AFE_MOD_DAI_END 0x0338 #define AFE_MOD_DAI_CUR 0x033c #define AFE_VUL_D2_BASE 0x0350 #define AFE_VUL_D2_END 0x0358 #define AFE_VUL_D2_CUR 0x035c #define AFE_DL3_BASE 0x0360 #define AFE_DL3_CUR 0x0364 #define AFE_DL3_END 0x0368 #define AFE_HDMI_OUT_CON0 0x0370 #define AFE_HDMI_BASE 0x0374 #define AFE_HDMI_CUR 0x0378 #define AFE_HDMI_END 0x037c #define AFE_HDMI_CONN0 0x0390 #define AFE_IRQ3_MCU_CNT_MON 0x0398 #define AFE_IRQ4_MCU_CNT_MON 0x039c #define AFE_IRQ_MCU_CON 0x03a0 #define AFE_IRQ_MCU_STATUS 0x03a4 #define AFE_IRQ_MCU_CLR 0x03a8 #define AFE_IRQ_MCU_CNT1 0x03ac #define AFE_IRQ_MCU_CNT2 0x03b0 #define AFE_IRQ_MCU_EN 0x03b4 #define AFE_IRQ_MCU_MON2 0x03b8 #define AFE_IRQ_MCU_CNT5 0x03bc #define AFE_IRQ1_MCU_CNT_MON 0x03c0 #define AFE_IRQ2_MCU_CNT_MON 0x03c4 #define AFE_IRQ1_MCU_EN_CNT_MON 0x03c8 #define AFE_IRQ5_MCU_CNT_MON 0x03cc #define AFE_MEMIF_MINLEN 0x03d0 #define AFE_MEMIF_MAXLEN 0x03d4 #define AFE_MEMIF_PBUF_SIZE 0x03d8 #define AFE_IRQ_MCU_CNT7 0x03dc #define AFE_IRQ7_MCU_CNT_MON 0x03e0 #define AFE_IRQ_MCU_CNT3 0x03e4 #define AFE_IRQ_MCU_CNT4 0x03e8 #define AFE_APLL1_TUNER_CFG 0x03f0 #define AFE_APLL2_TUNER_CFG 0x03f4 #define AFE_MEMIF_HD_MODE 0x03f8 #define AFE_MEMIF_HDALIGN 0x03fc #define AFE_GAIN1_CON0 0x0410 #define AFE_GAIN1_CON1 0x0414 #define AFE_GAIN1_CON2 0x0418 #define AFE_GAIN1_CON3 0x041c #define AFE_CONN7 0x0420 #define AFE_GAIN1_CUR 0x0424 #define AFE_GAIN2_CON0 0x0428 #define AFE_GAIN2_CON1 0x042c #define AFE_GAIN2_CON2 0x0430 #define AFE_GAIN2_CON3 0x0434 #define AFE_CONN8 0x0438 #define AFE_GAIN2_CUR 0x043c #define AFE_CONN9 0x0440 #define AFE_CONN10 0x0444 #define AFE_CONN11 0x0448 #define AFE_CONN12 0x044c #define AFE_CONN13 0x0450 #define AFE_CONN14 0x0454 #define AFE_CONN15 0x0458 #define AFE_CONN16 0x045c #define AFE_CONN17 0x0460 #define AFE_CONN18 0x0464 #define AFE_CONN19 0x0468 #define AFE_CONN20 0x046c #define AFE_CONN21 0x0470 #define AFE_CONN22 0x0474 #define AFE_CONN23 0x0478 #define AFE_CONN24 0x047c #define AFE_CONN_RS 0x0494 #define AFE_CONN_DI 0x0498 #define AFE_CONN25 0x04b0 #define AFE_CONN26 0x04b4 #define AFE_CONN27 0x04b8 #define AFE_CONN28 0x04bc #define AFE_CONN29 0x04c0 #define AFE_SRAM_DELSEL_CON0 0x04f0 #define AFE_SRAM_DELSEL_CON1 0x04f4 #define AFE_ASRC_CON0 0x0500 #define AFE_ASRC_CON1 0x0504 #define AFE_ASRC_CON2 0x0508 #define AFE_ASRC_CON3 0x050c #define AFE_ASRC_CON4 0x0510 #define AFE_ASRC_CON5 0x0514 #define AFE_ASRC_CON6 0x0518 #define AFE_ASRC_CON7 0x051c #define AFE_ASRC_CON8 0x0520 #define AFE_ASRC_CON9 0x0524 #define AFE_ASRC_CON10 0x0528 #define AFE_ASRC_CON11 0x052c #define PCM_INTF_CON1 0x0530 #define PCM_INTF_CON2 0x0538 #define PCM2_INTF_CON 0x053c #define AFE_TDM_CON1 0x0548 #define AFE_TDM_CON2 0x054c #define AFE_ASRC_CON13 0x0550 #define AFE_ASRC_CON14 0x0554 #define AFE_ASRC_CON15 0x0558 #define AFE_ASRC_CON16 0x055c #define AFE_ASRC_CON17 0x0560 #define AFE_ASRC_CON18 0x0564 #define AFE_ASRC_CON19 0x0568 #define AFE_ASRC_CON20 0x056c #define AFE_ASRC_CON21 0x0570 #define CLK_AUDDIV_0 0x05a0 #define CLK_AUDDIV_1 0x05a4 #define CLK_AUDDIV_2 0x05a8 #define CLK_AUDDIV_3 0x05ac #define AUDIO_TOP_DBG_CON 0x05c8 #define AUDIO_TOP_DBG_MON0 0x05cc #define AUDIO_TOP_DBG_MON1 0x05d0 #define AUDIO_TOP_DBG_MON2 0x05d4 #define AFE_ADDA2_TOP_CON0 0x0600 #define AFE_ASRC4_CON0 0x06c0 #define AFE_ASRC4_CON1 0x06c4 #define AFE_ASRC4_CON2 0x06c8 #define AFE_ASRC4_CON3 0x06cc #define AFE_ASRC4_CON4 0x06d0 #define AFE_ASRC4_CON5 0x06d4 #define AFE_ASRC4_CON6 0x06d8 #define AFE_ASRC4_CON7 0x06dc #define AFE_ASRC4_CON8 0x06e0 #define AFE_ASRC4_CON9 0x06e4 #define AFE_ASRC4_CON10 0x06e8 #define AFE_ASRC4_CON11 0x06ec #define AFE_ASRC4_CON12 0x06f0 #define AFE_ASRC4_CON13 0x06f4 #define AFE_ASRC4_CON14 0x06f8 #define AFE_ASRC2_CON0 0x0700 #define AFE_ASRC2_CON1 0x0704 #define AFE_ASRC2_CON2 0x0708 #define AFE_ASRC2_CON3 0x070c #define AFE_ASRC2_CON4 0x0710 #define AFE_ASRC2_CON5 0x0714 #define AFE_ASRC2_CON6 0x0718 #define AFE_ASRC2_CON7 0x071c #define AFE_ASRC2_CON8 0x0720 #define AFE_ASRC2_CON9 0x0724 #define AFE_ASRC2_CON10 0x0728 #define AFE_ASRC2_CON11 0x072c #define AFE_ASRC2_CON12 0x0730 #define AFE_ASRC2_CON13 0x0734 #define AFE_ASRC2_CON14 0x0738 #define AFE_ASRC3_CON0 0x0740 #define AFE_ASRC3_CON1 0x0744 #define AFE_ASRC3_CON2 0x0748 #define AFE_ASRC3_CON3 0x074c #define AFE_ASRC3_CON4 0x0750 #define AFE_ASRC3_CON5 0x0754 #define AFE_ASRC3_CON6 0x0758 #define AFE_ASRC3_CON7 0x075c #define AFE_ASRC3_CON8 0x0760 #define AFE_ASRC3_CON9 0x0764 #define AFE_ASRC3_CON10 0x0768 #define AFE_ASRC3_CON11 0x076c #define AFE_ASRC3_CON12 0x0770 #define AFE_ASRC3_CON13 0x0774 #define AFE_ASRC3_CON14 0x0778 #define AFE_GENERAL_REG0 0x0800 #define AFE_GENERAL_REG1 0x0804 #define AFE_GENERAL_REG2 0x0808 #define AFE_GENERAL_REG3 0x080c #define AFE_GENERAL_REG4 0x0810 #define AFE_GENERAL_REG5 0x0814 #define AFE_GENERAL_REG6 0x0818 #define AFE_GENERAL_REG7 0x081c #define AFE_GENERAL_REG8 0x0820 #define AFE_GENERAL_REG9 0x0824 #define AFE_GENERAL_REG10 0x0828 #define AFE_GENERAL_REG11 0x082c #define AFE_GENERAL_REG12 0x0830 #define AFE_GENERAL_REG13 0x0834 #define AFE_GENERAL_REG14 0x0838 #define AFE_GENERAL_REG15 0x083c #define AFE_CBIP_CFG0 0x0840 #define AFE_CBIP_MON0 0x0844 #define AFE_CBIP_SLV_MUX_MON0 0x0848 #define AFE_CBIP_SLV_DECODER_MON0 0x084c #define AFE_MAX_REGISTER AFE_CBIP_SLV_DECODER_MON0 #define AFE_IRQ_STATUS_BITS 0x5f /* AUDIO_TOP_CON0 */ #define AHB_IDLE_EN_INT_SFT 30 #define AHB_IDLE_EN_INT_MASK 0x1 #define AHB_IDLE_EN_INT_MASK_SFT (0x1 << 30) #define AHB_IDLE_EN_EXT_SFT 29 #define AHB_IDLE_EN_EXT_MASK 0x1 #define AHB_IDLE_EN_EXT_MASK_SFT (0x1 << 29) #define PDN_TML_SFT 27 #define PDN_TML_MASK 0x1 #define PDN_TML_MASK_SFT (0x1 << 27) #define PDN_DAC_PREDIS_SFT 26 #define PDN_DAC_PREDIS_MASK 0x1 #define PDN_DAC_PREDIS_MASK_SFT (0x1 << 26) #define PDN_DAC_SFT 25 #define PDN_DAC_MASK 0x1 #define PDN_DAC_MASK_SFT (0x1 << 25) #define PDN_ADC_SFT 24 #define PDN_ADC_MASK 0x1 #define PDN_ADC_MASK_SFT (0x1 << 24) #define PDN_TDM_CK_SFT 20 #define PDN_TDM_CK_MASK 0x1 #define PDN_TDM_CK_MASK_SFT (0x1 << 20) #define PDN_APLL_TUNER_SFT 19 #define PDN_APLL_TUNER_MASK 0x1 #define PDN_APLL_TUNER_MASK_SFT (0x1 << 19) #define PDN_APLL2_TUNER_SFT 18 #define PDN_APLL2_TUNER_MASK 0x1 #define PDN_APLL2_TUNER_MASK_SFT (0x1 << 18) #define APB3_SEL_SFT 14 #define APB3_SEL_MASK 0x1 #define APB3_SEL_MASK_SFT (0x1 << 14) #define APB_R2T_SFT 13 #define APB_R2T_MASK 0x1 #define APB_R2T_MASK_SFT (0x1 << 13) #define APB_W2T_SFT 12 #define APB_W2T_MASK 0x1 #define APB_W2T_MASK_SFT (0x1 << 12) #define PDN_24M_SFT 9 #define PDN_24M_MASK 0x1 #define PDN_24M_MASK_SFT (0x1 << 9) #define PDN_22M_SFT 8 #define PDN_22M_MASK 0x1 #define PDN_22M_MASK_SFT (0x1 << 8) #define PDN_ADDA4_ADC_SFT 7 #define PDN_ADDA4_ADC_MASK 0x1 #define PDN_ADDA4_ADC_MASK_SFT (0x1 << 7) #define PDN_I2S_SFT 6 #define PDN_I2S_MASK 0x1 #define PDN_I2S_MASK_SFT (0x1 << 6) #define PDN_AFE_SFT 2 #define PDN_AFE_MASK 0x1 #define PDN_AFE_MASK_SFT (0x1 << 2) /* AUDIO_TOP_CON1 */ #define PDN_ADC_HIRES_TML_SFT 17 #define PDN_ADC_HIRES_TML_MASK 0x1 #define PDN_ADC_HIRES_TML_MASK_SFT (0x1 << 17) #define PDN_ADC_HIRES_SFT 16 #define PDN_ADC_HIRES_MASK 0x1 #define PDN_ADC_HIRES_MASK_SFT (0x1 << 16) #define I2S4_BCLK_SW_CG_SFT 7 #define I2S4_BCLK_SW_CG_MASK 0x1 #define I2S4_BCLK_SW_CG_MASK_SFT (0x1 << 7) #define I2S3_BCLK_SW_CG_SFT 6 #define I2S3_BCLK_SW_CG_MASK 0x1 #define I2S3_BCLK_SW_CG_MASK_SFT (0x1 << 6) #define I2S2_BCLK_SW_CG_SFT 5 #define I2S2_BCLK_SW_CG_MASK 0x1 #define I2S2_BCLK_SW_CG_MASK_SFT (0x1 << 5) #define I2S1_BCLK_SW_CG_SFT 4 #define I2S1_BCLK_SW_CG_MASK 0x1 #define I2S1_BCLK_SW_CG_MASK_SFT (0x1 << 4) #define I2S_SOFT_RST2_SFT 2 #define I2S_SOFT_RST2_MASK 0x1 #define I2S_SOFT_RST2_MASK_SFT (0x1 << 2) #define I2S_SOFT_RST_SFT 1 #define I2S_SOFT_RST_MASK 0x1 #define I2S_SOFT_RST_MASK_SFT (0x1 << 1) /* AFE_DAC_CON0 */ #define AFE_AWB_RETM_SFT 31 #define AFE_AWB_RETM_MASK 0x1 #define AFE_AWB_RETM_MASK_SFT (0x1 << 31) #define AFE_DL1_DATA2_RETM_SFT 30 #define AFE_DL1_DATA2_RETM_MASK 0x1 #define AFE_DL1_DATA2_RETM_MASK_SFT (0x1 << 30) #define AFE_DL2_RETM_SFT 29 #define AFE_DL2_RETM_MASK 0x1 #define AFE_DL2_RETM_MASK_SFT (0x1 << 29) #define AFE_DL1_RETM_SFT 28 #define AFE_DL1_RETM_MASK 0x1 #define AFE_DL1_RETM_MASK_SFT (0x1 << 28) #define AFE_ON_RETM_SFT 27 #define AFE_ON_RETM_MASK 0x1 #define AFE_ON_RETM_MASK_SFT (0x1 << 27) #define MOD_DAI_DUP_WR_SFT 26 #define MOD_DAI_DUP_WR_MASK 0x1 #define MOD_DAI_DUP_WR_MASK_SFT (0x1 << 26) #define DAI_MODE_SFT 24 #define DAI_MODE_MASK 0x3 #define DAI_MODE_MASK_SFT (0x3 << 24) #define VUL_DATA2_MODE_SFT 20 #define VUL_DATA2_MODE_MASK 0xf #define VUL_DATA2_MODE_MASK_SFT (0xf << 20) #define DL1_DATA2_MODE_SFT 16 #define DL1_DATA2_MODE_MASK 0xf #define DL1_DATA2_MODE_MASK_SFT (0xf << 16) #define DL3_MODE_SFT 12 #define DL3_MODE_MASK 0xf #define DL3_MODE_MASK_SFT (0xf << 12) #define VUL_DATA2_R_MONO_SFT 11 #define VUL_DATA2_R_MONO_MASK 0x1 #define VUL_DATA2_R_MONO_MASK_SFT (0x1 << 11) #define VUL_DATA2_DATA_SFT 10 #define VUL_DATA2_DATA_MASK 0x1 #define VUL_DATA2_DATA_MASK_SFT (0x1 << 10) #define VUL_DATA2_ON_SFT 9 #define VUL_DATA2_ON_MASK 0x1 #define VUL_DATA2_ON_MASK_SFT (0x1 << 9) #define DL1_DATA2_ON_SFT 8 #define DL1_DATA2_ON_MASK 0x1 #define DL1_DATA2_ON_MASK_SFT (0x1 << 8) #define MOD_DAI_ON_SFT 7 #define MOD_DAI_ON_MASK 0x1 #define MOD_DAI_ON_MASK_SFT (0x1 << 7) #define AWB_ON_SFT 6 #define AWB_ON_MASK 0x1 #define AWB_ON_MASK_SFT (0x1 << 6) #define DL3_ON_SFT 5 #define DL3_ON_MASK 0x1 #define DL3_ON_MASK_SFT (0x1 << 5) #define DAI_ON_SFT 4 #define DAI_ON_MASK 0x1 #define DAI_ON_MASK_SFT (0x1 << 4) #define VUL_ON_SFT 3 #define VUL_ON_MASK 0x1 #define VUL_ON_MASK_SFT (0x1 << 3) #define DL2_ON_SFT 2 #define DL2_ON_MASK 0x1 #define DL2_ON_MASK_SFT (0x1 << 2) #define DL1_ON_SFT 1 #define DL1_ON_MASK 0x1 #define DL1_ON_MASK_SFT (0x1 << 1) #define AFE_ON_SFT 0 #define AFE_ON_MASK 0x1 #define AFE_ON_MASK_SFT (0x1 << 0) /* AFE_DAC_CON1 */ #define MOD_DAI_MODE_SFT 30 #define MOD_DAI_MODE_MASK 0x3 #define MOD_DAI_MODE_MASK_SFT (0x3 << 30) #define DAI_DUP_WR_SFT 29 #define DAI_DUP_WR_MASK 0x1 #define DAI_DUP_WR_MASK_SFT (0x1 << 29) #define VUL_R_MONO_SFT 28 #define VUL_R_MONO_MASK 0x1 #define VUL_R_MONO_MASK_SFT (0x1 << 28) #define VUL_DATA_SFT 27 #define VUL_DATA_MASK 0x1 #define VUL_DATA_MASK_SFT (0x1 << 27) #define AXI_2X1_CG_DISABLE_SFT 26 #define AXI_2X1_CG_DISABLE_MASK 0x1 #define AXI_2X1_CG_DISABLE_MASK_SFT (0x1 << 26) #define AWB_R_MONO_SFT 25 #define AWB_R_MONO_MASK 0x1 #define AWB_R_MONO_MASK_SFT (0x1 << 25) #define AWB_DATA_SFT 24 #define AWB_DATA_MASK 0x1 #define AWB_DATA_MASK_SFT (0x1 << 24) #define DL3_DATA_SFT 23 #define DL3_DATA_MASK 0x1 #define DL3_DATA_MASK_SFT (0x1 << 23) #define DL2_DATA_SFT 22 #define DL2_DATA_MASK 0x1 #define DL2_DATA_MASK_SFT (0x1 << 22) #define DL1_DATA_SFT 21 #define DL1_DATA_MASK 0x1 #define DL1_DATA_MASK_SFT (0x1 << 21) #define DL1_DATA2_DATA_SFT 20 #define DL1_DATA2_DATA_MASK 0x1 #define DL1_DATA2_DATA_MASK_SFT (0x1 << 20) #define VUL_MODE_SFT 16 #define VUL_MODE_MASK 0xf #define VUL_MODE_MASK_SFT (0xf << 16) #define AWB_MODE_SFT 12 #define AWB_MODE_MASK 0xf #define AWB_MODE_MASK_SFT (0xf << 12) #define I2S_MODE_SFT 8 #define I2S_MODE_MASK 0xf #define I2S_MODE_MASK_SFT (0xf << 8) #define DL2_MODE_SFT 4 #define DL2_MODE_MASK 0xf #define DL2_MODE_MASK_SFT (0xf << 4) #define DL1_MODE_SFT 0 #define DL1_MODE_MASK 0xf #define DL1_MODE_MASK_SFT (0xf << 0) /* AFE_ADDA_DL_SRC2_CON0 */ #define DL_2_INPUT_MODE_CTL_SFT 28 #define DL_2_INPUT_MODE_CTL_MASK 0xf #define DL_2_INPUT_MODE_CTL_MASK_SFT (0xf << 28) #define DL_2_CH1_SATURATION_EN_CTL_SFT 27 #define DL_2_CH1_SATURATION_EN_CTL_MASK 0x1 #define DL_2_CH1_SATURATION_EN_CTL_MASK_SFT (0x1 << 27) #define DL_2_CH2_SATURATION_EN_CTL_SFT 26 #define DL_2_CH2_SATURATION_EN_CTL_MASK 0x1 #define DL_2_CH2_SATURATION_EN_CTL_MASK_SFT (0x1 << 26) #define DL_2_OUTPUT_SEL_CTL_SFT 24 #define DL_2_OUTPUT_SEL_CTL_MASK 0x3 #define DL_2_OUTPUT_SEL_CTL_MASK_SFT (0x3 << 24) #define DL_2_FADEIN_0START_EN_SFT 16 #define DL_2_FADEIN_0START_EN_MASK 0x3 #define DL_2_FADEIN_0START_EN_MASK_SFT (0x3 << 16) #define DL_DISABLE_HW_CG_CTL_SFT 15 #define DL_DISABLE_HW_CG_CTL_MASK 0x1 #define DL_DISABLE_HW_CG_CTL_MASK_SFT (0x1 << 15) #define C_DATA_EN_SEL_CTL_PRE_SFT 14 #define C_DATA_EN_SEL_CTL_PRE_MASK 0x1 #define C_DATA_EN_SEL_CTL_PRE_MASK_SFT (0x1 << 14) #define DL_2_SIDE_TONE_ON_CTL_PRE_SFT 13 #define DL_2_SIDE_TONE_ON_CTL_PRE_MASK 0x1 #define DL_2_SIDE_TONE_ON_CTL_PRE_MASK_SFT (0x1 << 13) #define DL_2_MUTE_CH1_OFF_CTL_PRE_SFT 12 #define DL_2_MUTE_CH1_OFF_CTL_PRE_MASK 0x1 #define DL_2_MUTE_CH1_OFF_CTL_PRE_MASK_SFT (0x1 << 12) #define DL_2_MUTE_CH2_OFF_CTL_PRE_SFT 11 #define DL_2_MUTE_CH2_OFF_CTL_PRE_MASK 0x1 #define DL_2_MUTE_CH2_OFF_CTL_PRE_MASK_SFT (0x1 << 11) #define DL2_ARAMPSP_CTL_PRE_SFT 9 #define DL2_ARAMPSP_CTL_PRE_MASK 0x3 #define DL2_ARAMPSP_CTL_PRE_MASK_SFT (0x3 << 9) #define DL_2_IIRMODE_CTL_PRE_SFT 6 #define DL_2_IIRMODE_CTL_PRE_MASK 0x7 #define DL_2_IIRMODE_CTL_PRE_MASK_SFT (0x7 << 6) #define DL_2_VOICE_MODE_CTL_PRE_SFT 5 #define DL_2_VOICE_MODE_CTL_PRE_MASK 0x1 #define DL_2_VOICE_MODE_CTL_PRE_MASK_SFT (0x1 << 5) #define D2_2_MUTE_CH1_ON_CTL_PRE_SFT 4 #define D2_2_MUTE_CH1_ON_CTL_PRE_MASK 0x1 #define D2_2_MUTE_CH1_ON_CTL_PRE_MASK_SFT (0x1 << 4) #define D2_2_MUTE_CH2_ON_CTL_PRE_SFT 3 #define D2_2_MUTE_CH2_ON_CTL_PRE_MASK 0x1 #define D2_2_MUTE_CH2_ON_CTL_PRE_MASK_SFT (0x1 << 3) #define DL_2_IIR_ON_CTL_PRE_SFT 2 #define DL_2_IIR_ON_CTL_PRE_MASK 0x1 #define DL_2_IIR_ON_CTL_PRE_MASK_SFT (0x1 << 2) #define DL_2_GAIN_ON_CTL_PRE_SFT 1 #define DL_2_GAIN_ON_CTL_PRE_MASK 0x1 #define DL_2_GAIN_ON_CTL_PRE_MASK_SFT (0x1 << 1) #define DL_2_SRC_ON_TMP_CTL_PRE_SFT 0 #define DL_2_SRC_ON_TMP_CTL_PRE_MASK 0x1 #define DL_2_SRC_ON_TMP_CTL_PRE_MASK_SFT (0x1 << 0) /* AFE_ADDA_DL_SRC2_CON1 */ #define DL_2_GAIN_CTL_PRE_SFT 16 #define DL_2_GAIN_CTL_PRE_MASK 0xffff #define DL_2_GAIN_CTL_PRE_MASK_SFT (0xffff << 16) #define DL_2_GAIN_MODE_CTL_SFT 0 #define DL_2_GAIN_MODE_CTL_MASK 0x1 #define DL_2_GAIN_MODE_CTL_MASK_SFT (0x1 << 0) /* AFE_ADDA_UL_SRC_CON0 */ #define C_COMB_OUT_SIN_GEN_CTL_SFT 31 #define C_COMB_OUT_SIN_GEN_CTL_MASK 0x1 #define C_COMB_OUT_SIN_GEN_CTL_MASK_SFT (0x1 << 31) #define C_BASEBAND_SIN_GEN_CTL_SFT 30 #define C_BASEBAND_SIN_GEN_CTL_MASK 0x1 #define C_BASEBAND_SIN_GEN_CTL_MASK_SFT (0x1 << 30) #define C_DIGMIC_PHASE_SEL_CH1_CTL_SFT 27 #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK 0x7 #define C_DIGMIC_PHASE_SEL_CH1_CTL_MASK_SFT (0x7 << 27) #define C_DIGMIC_PHASE_SEL_CH2_CTL_SFT 24 #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK 0x7 #define C_DIGMIC_PHASE_SEL_CH2_CTL_MASK_SFT (0x7 << 24) #define C_TWO_DIGITAL_MIC_CTL_SFT 23 #define C_TWO_DIGITAL_MIC_CTL_MASK 0x1 #define C_TWO_DIGITAL_MIC_CTL_MASK_SFT (0x1 << 23) #define UL_MODE_3P25M_CH2_CTL_SFT 22 #define UL_MODE_3P25M_CH2_CTL_MASK 0x1 #define UL_MODE_3P25M_CH2_CTL_MASK_SFT (0x1 << 22) #define UL_MODE_3P25M_CH1_CTL_SFT 21 #define UL_MODE_3P25M_CH1_CTL_MASK 0x1 #define UL_MODE_3P25M_CH1_CTL_MASK_SFT (0x1 << 21) #define UL_SRC_USE_CIC_OUT_CTL_SFT 20 #define UL_SRC_USE_CIC_OUT_CTL_MASK 0x1 #define UL_SRC_USE_CIC_OUT_CTL_MASK_SFT (0x1 << 20) #define UL_VOICE_MODE_CH1_CH2_CTL_SFT 17 #define UL_VOICE_MODE_CH1_CH2_CTL_MASK 0x7 #define UL_VOICE_MODE_CH1_CH2_CTL_MASK_SFT (0x7 << 17) #define DMIC_LOW_POWER_MODE_CTL_SFT 14 #define DMIC_LOW_POWER_MODE_CTL_MASK 0x3 #define DMIC_LOW_POWER_MODE_CTL_MASK_SFT (0x3 << 14) #define DMIC_48K_SEL_CTL_SFT 13 #define DMIC_48K_SEL_CTL_MASK 0x1 #define DMIC_48K_SEL_CTL_MASK_SFT (0x1 << 13) #define UL_DISABLE_HW_CG_CTL_SFT 12 #define UL_DISABLE_HW_CG_CTL_MASK 0x1 #define UL_DISABLE_HW_CG_CTL_MASK_SFT (0x1 << 12) #define UL_IIR_ON_TMP_CTL_SFT 10 #define UL_IIR_ON_TMP_CTL_MASK 0x1 #define UL_IIR_ON_TMP_CTL_MASK_SFT (0x1 << 10) #define UL_IIRMODE_CTL_SFT 7 #define UL_IIRMODE_CTL_MASK 0x7 #define UL_IIRMODE_CTL_MASK_SFT (0x7 << 7) #define DIGMIC_3P25M_1P625M_SEL_CTL_SFT 5 #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK 0x1 #define DIGMIC_3P25M_1P625M_SEL_CTL_MASK_SFT (0x1 << 5) #define AGC_260K_SEL_CH2_CTL_SFT 4 #define AGC_260K_SEL_CH2_CTL_MASK 0x1 #define AGC_260K_SEL_CH2_CTL_MASK_SFT (0x1 << 4) #define AGC_260K_SEL_CH1_CTL_SFT 3 #define AGC_260K_SEL_CH1_CTL_MASK 0x1 #define AGC_260K_SEL_CH1_CTL_MASK_SFT (0x1 << 3) #define UL_LOOP_BACK_MODE_CTL_SFT 2 #define UL_LOOP_BACK_MODE_CTL_MASK 0x1 #define UL_LOOP_BACK_MODE_CTL_MASK_SFT (0x1 << 2) #define UL_SDM_3_LEVEL_CTL_SFT 1 #define UL_SDM_3_LEVEL_CTL_MASK 0x1 #define UL_SDM_3_LEVEL_CTL_MASK_SFT (0x1 << 1) #define UL_SRC_ON_TMP_CTL_SFT 0 #define UL_SRC_ON_TMP_CTL_MASK 0x1 #define UL_SRC_ON_TMP_CTL_MASK_SFT (0x1 << 0) /* AFE_ADDA_UL_SRC_CON1 */ #define C_SDM_RESET_CTL_SFT 31 #define C_SDM_RESET_CTL_MASK 0x1 #define C_SDM_RESET_CTL_MASK_SFT (0x1 << 31) #define ADITHON_CTL_SFT 30 #define ADITHON_CTL_MASK 0x1 #define ADITHON_CTL_MASK_SFT (0x1 << 30) #define ADITHVAL_CTL_SFT 28 #define ADITHVAL_CTL_MASK 0x3 #define ADITHVAL_CTL_MASK_SFT (0x3 << 28) #define C_DAC_EN_CTL_SFT 27 #define C_DAC_EN_CTL_MASK 0x1 #define C_DAC_EN_CTL_MASK_SFT (0x1 << 27) #define C_MUTE_SW_CTL_SFT 26 #define C_MUTE_SW_CTL_MASK 0x1 #define C_MUTE_SW_CTL_MASK_SFT (0x1 << 26) #define ASDM_SRC_SEL_CTL_SFT 25 #define ASDM_SRC_SEL_CTL_MASK 0x1 #define ASDM_SRC_SEL_CTL_MASK_SFT (0x1 << 25) #define C_AMP_DIV_CH2_CTL_SFT 21 #define C_AMP_DIV_CH2_CTL_MASK 0x7 #define C_AMP_DIV_CH2_CTL_MASK_SFT (0x7 << 21) #define C_FREQ_DIV_CH2_CTL_SFT 16 #define C_FREQ_DIV_CH2_CTL_MASK 0x1f #define C_FREQ_DIV_CH2_CTL_MASK_SFT (0x1f << 16) #define C_SINE_MODE_CH2_CTL_SFT 12 #define C_SINE_MODE_CH2_CTL_MASK 0xf #define C_SINE_MODE_CH2_CTL_MASK_SFT (0xf << 12) #define C_AMP_DIV_CH1_CTL_SFT 9 #define C_AMP_DIV_CH1_CTL_MASK 0x7 #define C_AMP_DIV_CH1_CTL_MASK_SFT (0x7 << 9) #define C_FREQ_DIV_CH1_CTL_SFT 4 #define C_FREQ_DIV_CH1_CTL_MASK 0x1f #define C_FREQ_DIV_CH1_CTL_MASK_SFT (0x1f << 4) #define C_SINE_MODE_CH1_CTL_SFT 0 #define C_SINE_MODE_CH1_CTL_MASK 0xf #define C_SINE_MODE_CH1_CTL_MASK_SFT (0xf << 0) /* AFE_ADDA_TOP_CON0 */ #define C_LOOP_BACK_MODE_CTL_SFT 12 #define C_LOOP_BACK_MODE_CTL_MASK 0xf #define C_LOOP_BACK_MODE_CTL_MASK_SFT (0xf << 12) #define C_EXT_ADC_CTL_SFT 0 #define C_EXT_ADC_CTL_MASK 0x1 #define C_EXT_ADC_CTL_MASK_SFT (0x1 << 0) /* AFE_ADDA_UL_DL_CON0 */ #define AFE_UL_DL_CON0_RESERVED_SFT 1 #define AFE_UL_DL_CON0_RESERVED_MASK 0x3fff #define AFE_UL_DL_CON0_RESERVED_MASK_SFT (0x3fff << 1) #define ADDA_AFE_ON_SFT 0 #define ADDA_AFE_ON_MASK 0x1 #define ADDA_AFE_ON_MASK_SFT (0x1 << 0) /* AFE_IRQ_MCU_CON */ #define IRQ7_MCU_MODE_SFT 24 #define IRQ7_MCU_MODE_MASK 0xf #define IRQ7_MCU_MODE_MASK_SFT (0xf << 24) #define IRQ4_MCU_MODE_SFT 20 #define IRQ4_MCU_MODE_MASK 0xf #define IRQ4_MCU_MODE_MASK_SFT (0xf << 20) #define IRQ3_MCU_MODE_SFT 16 #define IRQ3_MCU_MODE_MASK 0xf #define IRQ3_MCU_MODE_MASK_SFT (0xf << 16) #define IRQ7_MCU_ON_SFT 14 #define IRQ7_MCU_ON_MASK 0x1 #define IRQ7_MCU_ON_MASK_SFT (0x1 << 14) #define IRQ5_MCU_ON_SFT 12 #define IRQ5_MCU_ON_MASK 0x1 #define IRQ5_MCU_ON_MASK_SFT (0x1 << 12) #define IRQ2_MCU_MODE_SFT 8 #define IRQ2_MCU_MODE_MASK 0xf #define IRQ2_MCU_MODE_MASK_SFT (0xf << 8) #define IRQ1_MCU_MODE_SFT 4 #define IRQ1_MCU_MODE_MASK 0xf #define IRQ1_MCU_MODE_MASK_SFT (0xf << 4) #define IRQ4_MCU_ON_SFT 3 #define IRQ4_MCU_ON_MASK 0x1 #define IRQ4_MCU_ON_MASK_SFT (0x1 << 3) #define IRQ3_MCU_ON_SFT 2 #define IRQ3_MCU_ON_MASK 0x1 #define IRQ3_MCU_ON_MASK_SFT (0x1 << 2) #define IRQ2_MCU_ON_SFT 1 #define IRQ2_MCU_ON_MASK 0x1 #define IRQ2_MCU_ON_MASK_SFT (0x1 << 1) #define IRQ1_MCU_ON_SFT 0 #define IRQ1_MCU_ON_MASK 0x1 #define IRQ1_MCU_ON_MASK_SFT (0x1 << 0) /* AFE_IRQ_MCU_EN */ #define AFE_IRQ_CM4_EN_SFT 16 #define AFE_IRQ_CM4_EN_MASK 0x7f #define AFE_IRQ_CM4_EN_MASK_SFT (0x7f << 16) #define AFE_IRQ_MD32_EN_SFT 8 #define AFE_IRQ_MD32_EN_MASK 0x7f #define AFE_IRQ_MD32_EN_MASK_SFT (0x7f << 8) #define AFE_IRQ_MCU_EN_SFT 0 #define AFE_IRQ_MCU_EN_MASK 0x7f #define AFE_IRQ_MCU_EN_MASK_SFT (0x7f << 0) /* AFE_IRQ_MCU_CLR */ #define IRQ7_MCU_CLR_SFT 6 #define IRQ7_MCU_CLR_MASK 0x1 #define IRQ7_MCU_CLR_MASK_SFT (0x1 << 6) #define IRQ5_MCU_CLR_SFT 4 #define IRQ5_MCU_CLR_MASK 0x1 #define IRQ5_MCU_CLR_MASK_SFT (0x1 << 4) #define IRQ4_MCU_CLR_SFT 3 #define IRQ4_MCU_CLR_MASK 0x1 #define IRQ4_MCU_CLR_MASK_SFT (0x1 << 3) #define IRQ3_MCU_CLR_SFT 2 #define IRQ3_MCU_CLR_MASK 0x1 #define IRQ3_MCU_CLR_MASK_SFT (0x1 << 2) #define IRQ2_MCU_CLR_SFT 1 #define IRQ2_MCU_CLR_MASK 0x1 #define IRQ2_MCU_CLR_MASK_SFT (0x1 << 1) #define IRQ1_MCU_CLR_SFT 0 #define IRQ1_MCU_CLR_MASK 0x1 #define IRQ1_MCU_CLR_MASK_SFT (0x1 << 0) /* AFE_IRQ_MCU_CNT1 */ #define AFE_IRQ_MCU_CNT1_SFT 0 #define AFE_IRQ_MCU_CNT1_MASK 0x3ffff #define AFE_IRQ_MCU_CNT1_MASK_SFT (0x3ffff << 0) /* AFE_IRQ_MCU_CNT2 */ #define AFE_IRQ_MCU_CNT2_SFT 0 #define AFE_IRQ_MCU_CNT2_MASK 0x3ffff #define AFE_IRQ_MCU_CNT2_MASK_SFT (0x3ffff << 0) /* AFE_IRQ_MCU_CNT3 */ #define AFE_IRQ_MCU_CNT3_SFT 0 #define AFE_IRQ_MCU_CNT3_MASK 0x3ffff #define AFE_IRQ_MCU_CNT3_MASK_SFT (0x3ffff << 0) /* AFE_IRQ_MCU_CNT4 */ #define AFE_IRQ_MCU_CNT4_SFT 0 #define AFE_IRQ_MCU_CNT4_MASK 0x3ffff #define AFE_IRQ_MCU_CNT4_MASK_SFT (0x3ffff << 0) /* AFE_IRQ_MCU_CNT5 */ #define AFE_IRQ_MCU_CNT5_SFT 0 #define AFE_IRQ_MCU_CNT5_MASK 0x3ffff #define AFE_IRQ_MCU_CNT5_MASK_SFT (0x3ffff << 0) /* AFE_IRQ_MCU_CNT7 */ #define AFE_IRQ_MCU_CNT7_SFT 0 #define AFE_IRQ_MCU_CNT7_MASK 0x3ffff #define AFE_IRQ_MCU_CNT7_MASK_SFT (0x3ffff << 0) /* AFE_MEMIF_MSB */ #define CPU_COMPACT_MODE_SFT 23 #define CPU_COMPACT_MODE_MASK 0x1 #define CPU_COMPACT_MODE_MASK_SFT (0x1 << 23) #define CPU_HD_ALIGN_SFT 22 #define CPU_HD_ALIGN_MASK 0x1 #define CPU_HD_ALIGN_MASK_SFT (0x1 << 22) /* AFE_MEMIF_HD_MODE */ #define HDMI_HD_SFT 20 #define HDMI_HD_MASK 0x3 #define HDMI_HD_MASK_SFT (0x3 << 20) #define MOD_DAI_HD_SFT 18 #define MOD_DAI_HD_MASK 0x3 #define MOD_DAI_HD_MASK_SFT (0x3 << 18) #define DAI_HD_SFT 16 #define DAI_HD_MASK 0x3 #define DAI_HD_MASK_SFT (0x3 << 16) #define VUL_DATA2_HD_SFT 12 #define VUL_DATA2_HD_MASK 0x3 #define VUL_DATA2_HD_MASK_SFT (0x3 << 12) #define VUL_HD_SFT 10 #define VUL_HD_MASK 0x3 #define VUL_HD_MASK_SFT (0x3 << 10) #define AWB_HD_SFT 8 #define AWB_HD_MASK 0x3 #define AWB_HD_MASK_SFT (0x3 << 8) #define DL3_HD_SFT 6 #define DL3_HD_MASK 0x3 #define DL3_HD_MASK_SFT (0x3 << 6) #define DL2_HD_SFT 4 #define DL2_HD_MASK 0x3 #define DL2_HD_MASK_SFT (0x3 << 4) #define DL1_DATA2_HD_SFT 2 #define DL1_DATA2_HD_MASK 0x3 #define DL1_DATA2_HD_MASK_SFT (0x3 << 2) #define DL1_HD_SFT 0 #define DL1_HD_MASK 0x3 #define DL1_HD_MASK_SFT (0x3 << 0) /* AFE_MEMIF_HDALIGN */ #define HDMI_NORMAL_MODE_SFT 26 #define HDMI_NORMAL_MODE_MASK 0x1 #define HDMI_NORMAL_MODE_MASK_SFT (0x1 << 26) #define MOD_DAI_NORMAL_MODE_SFT 25 #define MOD_DAI_NORMAL_MODE_MASK 0x1 #define MOD_DAI_NORMAL_MODE_MASK_SFT (0x1 << 25) #define DAI_NORMAL_MODE_SFT 24 #define DAI_NORMAL_MODE_MASK 0x1 #define DAI_NORMAL_MODE_MASK_SFT (0x1 << 24) #define VUL_DATA2_NORMAL_MODE_SFT 22 #define VUL_DATA2_NORMAL_MODE_MASK 0x1 #define VUL_DATA2_NORMAL_MODE_MASK_SFT (0x1 << 22) #define VUL_NORMAL_MODE_SFT 21 #define VUL_NORMAL_MODE_MASK 0x1 #define VUL_NORMAL_MODE_MASK_SFT (0x1 << 21) #define AWB_NORMAL_MODE_SFT 20 #define AWB_NORMAL_MODE_MASK 0x1 #define AWB_NORMAL_MODE_MASK_SFT (0x1 << 20) #define DL3_NORMAL_MODE_SFT 19 #define DL3_NORMAL_MODE_MASK 0x1 #define DL3_NORMAL_MODE_MASK_SFT (0x1 << 19) #define DL2_NORMAL_MODE_SFT 18 #define DL2_NORMAL_MODE_MASK 0x1 #define DL2_NORMAL_MODE_MASK_SFT (0x1 << 18) #define DL1_DATA2_NORMAL_MODE_SFT 17 #define DL1_DATA2_NORMAL_MODE_MASK 0x1 #define DL1_DATA2_NORMAL_MODE_MASK_SFT (0x1 << 17) #define DL1_NORMAL_MODE_SFT 16 #define DL1_NORMAL_MODE_MASK 0x1 #define DL1_NORMAL_MODE_MASK_SFT (0x1 << 16) #define HDMI_HD_ALIGN_SFT 10 #define HDMI_HD_ALIGN_MASK 0x1 #define HDMI_HD_ALIGN_MASK_SFT (0x1 << 10) #define MOD_DAI_HD_ALIGN_SFT 9 #define MOD_DAI_HD_ALIGN_MASK 0x1 #define MOD_DAI_HD_ALIGN_MASK_SFT (0x1 << 9) #define DAI_ALIGN_SFT 8 #define DAI_ALIGN_MASK 0x1 #define DAI_ALIGN_MASK_SFT (0x1 << 8) #define VUL2_HD_ALIGN_SFT 7 #define VUL2_HD_ALIGN_MASK 0x1 #define VUL2_HD_ALIGN_MASK_SFT (0x1 << 7) #define VUL_DATA2_HD_ALIGN_SFT 6 #define VUL_DATA2_HD_ALIGN_MASK 0x1 #define VUL_DATA2_HD_ALIGN_MASK_SFT (0x1 << 6) #define VUL_HD_ALIGN_SFT 5 #define VUL_HD_ALIGN_MASK 0x1 #define VUL_HD_ALIGN_MASK_SFT (0x1 << 5) #define AWB_HD_ALIGN_SFT 4 #define AWB_HD_ALIGN_MASK 0x1 #define AWB_HD_ALIGN_MASK_SFT (0x1 << 4) #define DL3_HD_ALIGN_SFT 3 #define DL3_HD_ALIGN_MASK 0x1 #define DL3_HD_ALIGN_MASK_SFT (0x1 << 3) #define DL2_HD_ALIGN_SFT 2 #define DL2_HD_ALIGN_MASK 0x1 #define DL2_HD_ALIGN_MASK_SFT (0x1 << 2) #define DL1_DATA2_HD_ALIGN_SFT 1 #define DL1_DATA2_HD_ALIGN_MASK 0x1 #define DL1_DATA2_HD_ALIGN_MASK_SFT (0x1 << 1) #define DL1_HD_ALIGN_SFT 0 #define DL1_HD_ALIGN_MASK 0x1 #define DL1_HD_ALIGN_MASK_SFT (0x1 << 0) /* PCM_INTF_CON1 */ #define PCM_FIX_VALUE_SEL_SFT 31 #define PCM_FIX_VALUE_SEL_MASK 0x1 #define PCM_FIX_VALUE_SEL_MASK_SFT (0x1 << 31) #define PCM_BUFFER_LOOPBACK_SFT 30 #define PCM_BUFFER_LOOPBACK_MASK 0x1 #define PCM_BUFFER_LOOPBACK_MASK_SFT (0x1 << 30) #define PCM_PARALLEL_LOOPBACK_SFT 29 #define PCM_PARALLEL_LOOPBACK_MASK 0x1 #define PCM_PARALLEL_LOOPBACK_MASK_SFT (0x1 << 29) #define PCM_SERIAL_LOOPBACK_SFT 28 #define PCM_SERIAL_LOOPBACK_MASK 0x1 #define PCM_SERIAL_LOOPBACK_MASK_SFT (0x1 << 28) #define PCM_DAI_PCM_LOOPBACK_SFT 27 #define PCM_DAI_PCM_LOOPBACK_MASK 0x1 #define PCM_DAI_PCM_LOOPBACK_MASK_SFT (0x1 << 27) #define PCM_I2S_PCM_LOOPBACK_SFT 26 #define PCM_I2S_PCM_LOOPBACK_MASK 0x1 #define PCM_I2S_PCM_LOOPBACK_MASK_SFT (0x1 << 26) #define PCM_SYNC_DELSEL_SFT 25 #define PCM_SYNC_DELSEL_MASK 0x1 #define PCM_SYNC_DELSEL_MASK_SFT (0x1 << 25) #define PCM_TX_LR_SWAP_SFT 24 #define PCM_TX_LR_SWAP_MASK 0x1 #define PCM_TX_LR_SWAP_MASK_SFT (0x1 << 24) #define PCM_SYNC_OUT_INV_SFT 23 #define PCM_SYNC_OUT_INV_MASK 0x1 #define PCM_SYNC_OUT_INV_MASK_SFT (0x1 << 23) #define PCM_BCLK_OUT_INV_SFT 22 #define PCM_BCLK_OUT_INV_MASK 0x1 #define PCM_BCLK_OUT_INV_MASK_SFT (0x1 << 22) #define PCM_SYNC_IN_INV_SFT 21 #define PCM_SYNC_IN_INV_MASK 0x1 #define PCM_SYNC_IN_INV_MASK_SFT (0x1 << 21) #define PCM_BCLK_IN_INV_SFT 20 #define PCM_BCLK_IN_INV_MASK 0x1 #define PCM_BCLK_IN_INV_MASK_SFT (0x1 << 20) #define PCM_TX_LCH_RPT_SFT 19 #define PCM_TX_LCH_RPT_MASK 0x1 #define PCM_TX_LCH_RPT_MASK_SFT (0x1 << 19) #define PCM_VBT_16K_MODE_SFT 18 #define PCM_VBT_16K_MODE_MASK 0x1 #define PCM_VBT_16K_MODE_MASK_SFT (0x1 << 18) #define PCM_EXT_MODEM_SFT 17 #define PCM_EXT_MODEM_MASK 0x1 #define PCM_EXT_MODEM_MASK_SFT (0x1 << 17) #define PCM_24BIT_SFT 16 #define PCM_24BIT_MASK 0x1 #define PCM_24BIT_MASK_SFT (0x1 << 16) #define PCM_WLEN_SFT 14 #define PCM_WLEN_MASK 0x3 #define PCM_WLEN_MASK_SFT (0x3 << 14) #define PCM_SYNC_LENGTH_SFT 9 #define PCM_SYNC_LENGTH_MASK 0x1f #define PCM_SYNC_LENGTH_MASK_SFT (0x1f << 9) #define PCM_SYNC_TYPE_SFT 8 #define PCM_SYNC_TYPE_MASK 0x1 #define PCM_SYNC_TYPE_MASK_SFT (0x1 << 8) #define PCM_BT_MODE_SFT 7 #define PCM_BT_MODE_MASK 0x1 #define PCM_BT_MODE_MASK_SFT (0x1 << 7) #define PCM_BYP_ASRC_SFT 6 #define PCM_BYP_ASRC_MASK 0x1 #define PCM_BYP_ASRC_MASK_SFT (0x1 << 6) #define PCM_SLAVE_SFT 5 #define PCM_SLAVE_MASK 0x1 #define PCM_SLAVE_MASK_SFT (0x1 << 5) #define PCM_MODE_SFT 3 #define PCM_MODE_MASK 0x3 #define PCM_MODE_MASK_SFT (0x3 << 3) #define PCM_FMT_SFT 1 #define PCM_FMT_MASK 0x3 #define PCM_FMT_MASK_SFT (0x3 << 1) #define PCM_EN_SFT 0 #define PCM_EN_MASK 0x1 #define PCM_EN_MASK_SFT (0x1 << 0) /* PCM_INTF_CON2 */ #define PCM1_TX_FIFO_OV_SFT 31 #define PCM1_TX_FIFO_OV_MASK 0x1 #define PCM1_TX_FIFO_OV_MASK_SFT (0x1 << 31) #define PCM1_RX_FIFO_OV_SFT 30 #define PCM1_RX_FIFO_OV_MASK 0x1 #define PCM1_RX_FIFO_OV_MASK_SFT (0x1 << 30) #define PCM2_TX_FIFO_OV_SFT 29 #define PCM2_TX_FIFO_OV_MASK 0x1 #define PCM2_TX_FIFO_OV_MASK_SFT (0x1 << 29) #define PCM2_RX_FIFO_OV_SFT 28 #define PCM2_RX_FIFO_OV_MASK 0x1 #define PCM2_RX_FIFO_OV_MASK_SFT (0x1 << 28) #define PCM1_SYNC_GLITCH_SFT 27 #define PCM1_SYNC_GLITCH_MASK 0x1 #define PCM1_SYNC_GLITCH_MASK_SFT (0x1 << 27) #define PCM2_SYNC_GLITCH_SFT 26 #define PCM2_SYNC_GLITCH_MASK 0x1 #define PCM2_SYNC_GLITCH_MASK_SFT (0x1 << 26) #define PCM1_PCM2_LOOPBACK_SFT 15 #define PCM1_PCM2_LOOPBACK_MASK 0x1 #define PCM1_PCM2_LOOPBACK_MASK_SFT (0x1 << 15) #define DAI_PCM_LOOPBACK_CH_SFT 13 #define DAI_PCM_LOOPBACK_CH_MASK 0x1 #define DAI_PCM_LOOPBACK_CH_MASK_SFT (0x1 << 13) #define I2S_PCM_LOOPBACK_CH_SFT 12 #define I2S_PCM_LOOPBACK_CH_MASK 0x1 #define I2S_PCM_LOOPBACK_CH_MASK_SFT (0x1 << 12) #define PCM_USE_MD3_SFT 8 #define PCM_USE_MD3_MASK 0x1 #define PCM_USE_MD3_MASK_SFT (0x1 << 8) #define TX_FIX_VALUE_SFT 0 #define TX_FIX_VALUE_MASK 0xff #define TX_FIX_VALUE_MASK_SFT (0xff << 0) /* PCM2_INTF_CON */ #define PCM2_TX_FIX_VALUE_SFT 24 #define PCM2_TX_FIX_VALUE_MASK 0xff #define PCM2_TX_FIX_VALUE_MASK_SFT (0xff << 24) #define PCM2_FIX_VALUE_SEL_SFT 23 #define PCM2_FIX_VALUE_SEL_MASK 0x1 #define PCM2_FIX_VALUE_SEL_MASK_SFT (0x1 << 23) #define PCM2_BUFFER_LOOPBACK_SFT 22 #define PCM2_BUFFER_LOOPBACK_MASK 0x1 #define PCM2_BUFFER_LOOPBACK_MASK_SFT (0x1 << 22) #define PCM2_PARALLEL_LOOPBACK_SFT 21 #define PCM2_PARALLEL_LOOPBACK_MASK 0x1 #define PCM2_PARALLEL_LOOPBACK_MASK_SFT (0x1 << 21) #define PCM2_SERIAL_LOOPBACK_SFT 20 #define PCM2_SERIAL_LOOPBACK_MASK 0x1 #define PCM2_SERIAL_LOOPBACK_MASK_SFT (0x1 << 20) #define PCM2_DAI_PCM_LOOPBACK_SFT 19 #define PCM2_DAI_PCM_LOOPBACK_MASK 0x1 #define PCM2_DAI_PCM_LOOPBACK_MASK_SFT (0x1 << 19) #define PCM2_I2S_PCM_LOOPBACK_SFT 18 #define PCM2_I2S_PCM_LOOPBACK_MASK 0x1 #define PCM2_I2S_PCM_LOOPBACK_MASK_SFT (0x1 << 18) #define PCM2_SYNC_DELSEL_SFT 17 #define PCM2_SYNC_DELSEL_MASK 0x1 #define PCM2_SYNC_DELSEL_MASK_SFT (0x1 << 17) #define PCM2_TX_LR_SWAP_SFT 16 #define PCM2_TX_LR_SWAP_MASK 0x1 #define PCM2_TX_LR_SWAP_MASK_SFT (0x1 << 16) #define PCM2_SYNC_IN_INV_SFT 15 #define PCM2_SYNC_IN_INV_MASK 0x1 #define PCM2_SYNC_IN_INV_MASK_SFT (0x1 << 15) #define PCM2_BCLK_IN_INV_SFT 14 #define PCM2_BCLK_IN_INV_MASK 0x1 #define PCM2_BCLK_IN_INV_MASK_SFT (0x1 << 14) #define PCM2_TX_LCH_RPT_SFT 13 #define PCM2_TX_LCH_RPT_MASK 0x1 #define PCM2_TX_LCH_RPT_MASK_SFT (0x1 << 13) #define PCM2_VBT_16K_MODE_SFT 12 #define PCM2_VBT_16K_MODE_MASK 0x1 #define PCM2_VBT_16K_MODE_MASK_SFT (0x1 << 12) #define PCM2_LOOPBACK_CH_SEL_SFT 10 #define PCM2_LOOPBACK_CH_SEL_MASK 0x3 #define PCM2_LOOPBACK_CH_SEL_MASK_SFT (0x3 << 10) #define PCM2_TX2_BT_MODE_SFT 8 #define PCM2_TX2_BT_MODE_MASK 0x1 #define PCM2_TX2_BT_MODE_MASK_SFT (0x1 << 8) #define PCM2_BT_MODE_SFT 7 #define PCM2_BT_MODE_MASK 0x1 #define PCM2_BT_MODE_MASK_SFT (0x1 << 7) #define PCM2_AFIFO_SFT 6 #define PCM2_AFIFO_MASK 0x1 #define PCM2_AFIFO_MASK_SFT (0x1 << 6) #define PCM2_WLEN_SFT 5 #define PCM2_WLEN_MASK 0x1 #define PCM2_WLEN_MASK_SFT (0x1 << 5) #define PCM2_MODE_SFT 3 #define PCM2_MODE_MASK 0x3 #define PCM2_MODE_MASK_SFT (0x3 << 3) #define PCM2_FMT_SFT 1 #define PCM2_FMT_MASK 0x3 #define PCM2_FMT_MASK_SFT (0x3 << 1) #define PCM2_EN_SFT 0 #define PCM2_EN_MASK 0x1 #define PCM2_EN_MASK_SFT (0x1 << 0) #endif