rt5645.h (26440c835f8b1a491e2704118ac55bf87334366c) rt5645.h (bc86e53a0ae9bb26c1af04034e010d8f22b1b0da)
1/*
2 * rt5645.h -- RT5645 ALSA SoC audio driver
3 *
4 * Copyright 2013 Realtek Microelectronics
5 * Author: Bard Liao <bardliao@realtek.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 25 unchanged lines hidden (view full) ---

34#define RT5645_ADJ_HPF_CTRL 0x16
35/* I/O - ADC/DAC/DMIC */
36#define RT5645_DAC1_DIG_VOL 0x19
37#define RT5645_DAC2_DIG_VOL 0x1a
38#define RT5645_DAC_CTRL 0x1b
39#define RT5645_STO1_ADC_DIG_VOL 0x1c
40#define RT5645_MONO_ADC_DIG_VOL 0x1d
41#define RT5645_ADC_BST_VOL1 0x1e
1/*
2 * rt5645.h -- RT5645 ALSA SoC audio driver
3 *
4 * Copyright 2013 Realtek Microelectronics
5 * Author: Bard Liao <bardliao@realtek.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 25 unchanged lines hidden (view full) ---

34#define RT5645_ADJ_HPF_CTRL 0x16
35/* I/O - ADC/DAC/DMIC */
36#define RT5645_DAC1_DIG_VOL 0x19
37#define RT5645_DAC2_DIG_VOL 0x1a
38#define RT5645_DAC_CTRL 0x1b
39#define RT5645_STO1_ADC_DIG_VOL 0x1c
40#define RT5645_MONO_ADC_DIG_VOL 0x1d
41#define RT5645_ADC_BST_VOL1 0x1e
42#define RT5645_ADC_BST_VOL2 0x20
43/* Mixer - D-D */
42/* Mixer - D-D */
43#define RT5645_ADC_BST_VOL2 0x20
44#define RT5645_STO1_ADC_MIXER 0x27
45#define RT5645_MONO_ADC_MIXER 0x28
46#define RT5645_AD_DA_MIXER 0x29
47#define RT5645_STO_DAC_MIXER 0x2a
48#define RT5645_MONO_DAC_MIXER 0x2b
49#define RT5645_DIG_MIXER 0x2c
50#define RT5650_A_DAC_SOUR 0x2d
51#define RT5645_DIG_INF1_DATA 0x2f

--- 258 unchanged lines hidden (view full) ---

310
311/* ADC Boost Volume Control (0x1e) */
312#define RT5645_STO1_ADC_L_BST_MASK (0x3 << 14)
313#define RT5645_STO1_ADC_L_BST_SFT 14
314#define RT5645_STO1_ADC_R_BST_MASK (0x3 << 12)
315#define RT5645_STO1_ADC_R_BST_SFT 12
316#define RT5645_STO1_ADC_COMP_MASK (0x3 << 10)
317#define RT5645_STO1_ADC_COMP_SFT 10
44#define RT5645_STO1_ADC_MIXER 0x27
45#define RT5645_MONO_ADC_MIXER 0x28
46#define RT5645_AD_DA_MIXER 0x29
47#define RT5645_STO_DAC_MIXER 0x2a
48#define RT5645_MONO_DAC_MIXER 0x2b
49#define RT5645_DIG_MIXER 0x2c
50#define RT5650_A_DAC_SOUR 0x2d
51#define RT5645_DIG_INF1_DATA 0x2f

--- 258 unchanged lines hidden (view full) ---

310
311/* ADC Boost Volume Control (0x1e) */
312#define RT5645_STO1_ADC_L_BST_MASK (0x3 << 14)
313#define RT5645_STO1_ADC_L_BST_SFT 14
314#define RT5645_STO1_ADC_R_BST_MASK (0x3 << 12)
315#define RT5645_STO1_ADC_R_BST_SFT 12
316#define RT5645_STO1_ADC_COMP_MASK (0x3 << 10)
317#define RT5645_STO1_ADC_COMP_SFT 10
318#define RT5645_STO2_ADC_L_BST_MASK (0x3 << 8)
319#define RT5645_STO2_ADC_L_BST_SFT 8
320#define RT5645_STO2_ADC_R_BST_MASK (0x3 << 6)
321#define RT5645_STO2_ADC_R_BST_SFT 6
322#define RT5645_STO2_ADC_COMP_MASK (0x3 << 4)
323#define RT5645_STO2_ADC_COMP_SFT 4
318
324
319/* ADC Boost Volume Control (0x20) */
320#define RT5645_MONO_ADC_L_BST_MASK (0x3 << 14)
321#define RT5645_MONO_ADC_L_BST_SFT 14
322#define RT5645_MONO_ADC_R_BST_MASK (0x3 << 12)
323#define RT5645_MONO_ADC_R_BST_SFT 12
324#define RT5645_MONO_ADC_COMP_MASK (0x3 << 10)
325#define RT5645_MONO_ADC_COMP_SFT 10
326
327/* Stereo2 ADC Mixer Control (0x26) */
328#define RT5645_STO2_ADC_SRC_MASK (0x1 << 15)
329#define RT5645_STO2_ADC_SRC_SFT 15
330
331/* Stereo ADC Mixer Control (0x27) */
332#define RT5645_M_ADC_L1 (0x1 << 14)
333#define RT5645_M_ADC_L1_SFT 14
334#define RT5645_M_ADC_L2 (0x1 << 13)

--- 281 unchanged lines hidden (view full) ---

616#define RT5645_G_DAC_L1_SM_L_MASK (0x3 << 10)
617#define RT5645_G_DAC_L1_SM_L_SFT 10
618#define RT5645_G_DAC_L2_SM_L_MASK (0x3 << 8)
619#define RT5645_G_DAC_L2_SM_L_SFT 8
620#define RT5645_G_OM_L_SM_L_MASK (0x3 << 6)
621#define RT5645_G_OM_L_SM_L_SFT 6
622#define RT5645_M_BST1_L_SM_L (0x1 << 5)
623#define RT5645_M_BST1_L_SM_L_SFT 5
325/* Stereo2 ADC Mixer Control (0x26) */
326#define RT5645_STO2_ADC_SRC_MASK (0x1 << 15)
327#define RT5645_STO2_ADC_SRC_SFT 15
328
329/* Stereo ADC Mixer Control (0x27) */
330#define RT5645_M_ADC_L1 (0x1 << 14)
331#define RT5645_M_ADC_L1_SFT 14
332#define RT5645_M_ADC_L2 (0x1 << 13)

--- 281 unchanged lines hidden (view full) ---

614#define RT5645_G_DAC_L1_SM_L_MASK (0x3 << 10)
615#define RT5645_G_DAC_L1_SM_L_SFT 10
616#define RT5645_G_DAC_L2_SM_L_MASK (0x3 << 8)
617#define RT5645_G_DAC_L2_SM_L_SFT 8
618#define RT5645_G_OM_L_SM_L_MASK (0x3 << 6)
619#define RT5645_G_OM_L_SM_L_SFT 6
620#define RT5645_M_BST1_L_SM_L (0x1 << 5)
621#define RT5645_M_BST1_L_SM_L_SFT 5
622#define RT5645_M_BST3_L_SM_L (0x1 << 4)
623#define RT5645_M_BST3_L_SM_L_SFT 4
624#define RT5645_M_IN_L_SM_L (0x1 << 3)
625#define RT5645_M_IN_L_SM_L_SFT 3
624#define RT5645_M_IN_L_SM_L (0x1 << 3)
625#define RT5645_M_IN_L_SM_L_SFT 3
626#define RT5645_M_DAC_L1_SM_L (0x1 << 1)
627#define RT5645_M_DAC_L1_SM_L_SFT 1
628#define RT5645_M_DAC_L2_SM_L (0x1 << 2)
629#define RT5645_M_DAC_L2_SM_L_SFT 2
626#define RT5645_M_DAC_L2_SM_L (0x1 << 2)
627#define RT5645_M_DAC_L2_SM_L_SFT 2
630#define RT5645_M_BST3_L_SM_L (0x1 << 4)
631#define RT5645_M_BST3_L_SM_L_SFT 4
628#define RT5645_M_DAC_L1_SM_L (0x1 << 1)
629#define RT5645_M_DAC_L1_SM_L_SFT 1
632
633/* SPK Right Mixer Control (0x47) */
634#define RT5645_G_RM_R_SM_R_MASK (0x3 << 14)
635#define RT5645_G_RM_R_SM_R_SFT 14
636#define RT5645_G_IN_R_SM_R_MASK (0x3 << 12)
637#define RT5645_G_IN_R_SM_R_SFT 12
638#define RT5645_G_DAC_R1_SM_R_MASK (0x3 << 10)
639#define RT5645_G_DAC_R1_SM_R_SFT 10
640#define RT5645_G_DAC_R2_SM_R_MASK (0x3 << 8)
641#define RT5645_G_DAC_R2_SM_R_SFT 8
642#define RT5645_G_OM_R_SM_R_MASK (0x3 << 6)
643#define RT5645_G_OM_R_SM_R_SFT 6
644#define RT5645_M_BST2_R_SM_R (0x1 << 5)
645#define RT5645_M_BST2_R_SM_R_SFT 5
630
631/* SPK Right Mixer Control (0x47) */
632#define RT5645_G_RM_R_SM_R_MASK (0x3 << 14)
633#define RT5645_G_RM_R_SM_R_SFT 14
634#define RT5645_G_IN_R_SM_R_MASK (0x3 << 12)
635#define RT5645_G_IN_R_SM_R_SFT 12
636#define RT5645_G_DAC_R1_SM_R_MASK (0x3 << 10)
637#define RT5645_G_DAC_R1_SM_R_SFT 10
638#define RT5645_G_DAC_R2_SM_R_MASK (0x3 << 8)
639#define RT5645_G_DAC_R2_SM_R_SFT 8
640#define RT5645_G_OM_R_SM_R_MASK (0x3 << 6)
641#define RT5645_G_OM_R_SM_R_SFT 6
642#define RT5645_M_BST2_R_SM_R (0x1 << 5)
643#define RT5645_M_BST2_R_SM_R_SFT 5
644#define RT5645_M_BST3_R_SM_R (0x1 << 4)
645#define RT5645_M_BST3_R_SM_R_SFT 4
646#define RT5645_M_IN_R_SM_R (0x1 << 3)
647#define RT5645_M_IN_R_SM_R_SFT 3
646#define RT5645_M_IN_R_SM_R (0x1 << 3)
647#define RT5645_M_IN_R_SM_R_SFT 3
648#define RT5645_M_DAC_R1_SM_R (0x1 << 1)
649#define RT5645_M_DAC_R1_SM_R_SFT 1
650#define RT5645_M_DAC_R2_SM_R (0x1 << 2)
651#define RT5645_M_DAC_R2_SM_R_SFT 2
648#define RT5645_M_DAC_R2_SM_R (0x1 << 2)
649#define RT5645_M_DAC_R2_SM_R_SFT 2
652#define RT5645_M_BST3_R_SM_R (0x1 << 4)
653#define RT5645_M_BST3_R_SM_R_SFT 4
650#define RT5645_M_DAC_R1_SM_R (0x1 << 1)
651#define RT5645_M_DAC_R1_SM_R_SFT 1
654
655/* SPOLMIX Control (0x48) */
656#define RT5645_M_DAC_L1_SPM_L (0x1 << 15)
657#define RT5645_M_DAC_L1_SPM_L_SFT 15
658#define RT5645_M_DAC_R1_SPM_L (0x1 << 14)
659#define RT5645_M_DAC_R1_SPM_L_SFT 14
660#define RT5645_M_SV_L_SPM_L (0x1 << 13)
661#define RT5645_M_SV_L_SPM_L_SFT 13
662#define RT5645_M_SV_R_SPM_L (0x1 << 12)
663#define RT5645_M_SV_R_SPM_L_SFT 12
664#define RT5645_M_BST3_SPM_L (0x1 << 11)
665#define RT5645_M_BST3_SPM_L_SFT 11
666#define RT5645_M_DAC_R1_SPM_R (0x1 << 2)
667#define RT5645_M_DAC_R1_SPM_R_SFT 2
668#define RT5645_M_BST3_SPM_R (0x1 << 1)
669#define RT5645_M_BST3_SPM_R_SFT 1
670#define RT5645_M_SV_R_SPM_R (0x1 << 0)
671#define RT5645_M_SV_R_SPM_R_SFT 0
672
652
653/* SPOLMIX Control (0x48) */
654#define RT5645_M_DAC_L1_SPM_L (0x1 << 15)
655#define RT5645_M_DAC_L1_SPM_L_SFT 15
656#define RT5645_M_DAC_R1_SPM_L (0x1 << 14)
657#define RT5645_M_DAC_R1_SPM_L_SFT 14
658#define RT5645_M_SV_L_SPM_L (0x1 << 13)
659#define RT5645_M_SV_L_SPM_L_SFT 13
660#define RT5645_M_SV_R_SPM_L (0x1 << 12)
661#define RT5645_M_SV_R_SPM_L_SFT 12
662#define RT5645_M_BST3_SPM_L (0x1 << 11)
663#define RT5645_M_BST3_SPM_L_SFT 11
664#define RT5645_M_DAC_R1_SPM_R (0x1 << 2)
665#define RT5645_M_DAC_R1_SPM_R_SFT 2
666#define RT5645_M_BST3_SPM_R (0x1 << 1)
667#define RT5645_M_BST3_SPM_R_SFT 1
668#define RT5645_M_SV_R_SPM_R (0x1 << 0)
669#define RT5645_M_SV_R_SPM_R_SFT 0
670
671/* SPOMIX Ratio Control (0x4a) */
672#define RT5645_SPK_G_CLSD_MASK (0x7 << 0)
673#define RT5645_SPK_G_CLSD_SFT 0
674
673/* Mono Output Mixer Control (0x4c) */
675/* Mono Output Mixer Control (0x4c) */
676#define RT5645_G_MONOMIX_MASK (0x1 << 10)
677#define RT5645_G_MONOMIX_SFT 10
674#define RT5645_M_OV_L_MM (0x1 << 9)
675#define RT5645_M_OV_L_MM_SFT 9
676#define RT5645_M_DAC_L2_MA (0x1 << 8)
677#define RT5645_M_DAC_L2_MA_SFT 8
678#define RT5645_M_OV_L_MM (0x1 << 9)
679#define RT5645_M_OV_L_MM_SFT 9
680#define RT5645_M_DAC_L2_MA (0x1 << 8)
681#define RT5645_M_DAC_L2_MA_SFT 8
678#define RT5645_G_MONOMIX_MASK (0x1 << 10)
679#define RT5645_G_MONOMIX_SFT 10
680#define RT5645_M_BST2_MM (0x1 << 4)
681#define RT5645_M_BST2_MM_SFT 4
682#define RT5645_M_DAC_R1_MM (0x1 << 3)
683#define RT5645_M_DAC_R1_MM_SFT 3
684#define RT5645_M_DAC_R2_MM (0x1 << 2)
685#define RT5645_M_DAC_R2_MM_SFT 2
686#define RT5645_M_DAC_L2_MM (0x1 << 1)
687#define RT5645_M_DAC_L2_MM_SFT 1

--- 86 unchanged lines hidden (view full) ---

774#define RT5645_PWR_DAC_L1 (0x1 << 12)
775#define RT5645_PWR_DAC_L1_BIT 12
776#define RT5645_PWR_DAC_R1 (0x1 << 11)
777#define RT5645_PWR_DAC_R1_BIT 11
778#define RT5645_PWR_CLS_D_R (0x1 << 9)
779#define RT5645_PWR_CLS_D_R_BIT 9
780#define RT5645_PWR_CLS_D_L (0x1 << 8)
781#define RT5645_PWR_CLS_D_L_BIT 8
682#define RT5645_M_BST2_MM (0x1 << 4)
683#define RT5645_M_BST2_MM_SFT 4
684#define RT5645_M_DAC_R1_MM (0x1 << 3)
685#define RT5645_M_DAC_R1_MM_SFT 3
686#define RT5645_M_DAC_R2_MM (0x1 << 2)
687#define RT5645_M_DAC_R2_MM_SFT 2
688#define RT5645_M_DAC_L2_MM (0x1 << 1)
689#define RT5645_M_DAC_L2_MM_SFT 1

--- 86 unchanged lines hidden (view full) ---

776#define RT5645_PWR_DAC_L1 (0x1 << 12)
777#define RT5645_PWR_DAC_L1_BIT 12
778#define RT5645_PWR_DAC_R1 (0x1 << 11)
779#define RT5645_PWR_DAC_R1_BIT 11
780#define RT5645_PWR_CLS_D_R (0x1 << 9)
781#define RT5645_PWR_CLS_D_R_BIT 9
782#define RT5645_PWR_CLS_D_L (0x1 << 8)
783#define RT5645_PWR_CLS_D_L_BIT 8
782#define RT5645_PWR_ADC_R (0x1 << 1)
783#define RT5645_PWR_ADC_R_BIT 1
784#define RT5645_PWR_DAC_L2 (0x1 << 7)
785#define RT5645_PWR_DAC_L2_BIT 7
786#define RT5645_PWR_DAC_R2 (0x1 << 6)
787#define RT5645_PWR_DAC_R2_BIT 6
788#define RT5645_PWR_ADC_L (0x1 << 2)
789#define RT5645_PWR_ADC_L_BIT 2
790#define RT5645_PWR_ADC_R (0x1 << 1)
791#define RT5645_PWR_ADC_R_BIT 1

--- 831 unchanged lines hidden (view full) ---

1623#define RT5645_JD_P_SFT 11
1624#define RT5645_JD_P_NOR (0x0 << 11)
1625#define RT5645_JD_P_INV (0x1 << 11)
1626#define RT5645_OT_P_MASK (0x1 << 10)
1627#define RT5645_OT_P_SFT 10
1628#define RT5645_OT_P_NOR (0x0 << 10)
1629#define RT5645_OT_P_INV (0x1 << 10)
1630#define RT5645_IRQ_JD_1_1_EN (0x1 << 9)
784#define RT5645_PWR_DAC_L2 (0x1 << 7)
785#define RT5645_PWR_DAC_L2_BIT 7
786#define RT5645_PWR_DAC_R2 (0x1 << 6)
787#define RT5645_PWR_DAC_R2_BIT 6
788#define RT5645_PWR_ADC_L (0x1 << 2)
789#define RT5645_PWR_ADC_L_BIT 2
790#define RT5645_PWR_ADC_R (0x1 << 1)
791#define RT5645_PWR_ADC_R_BIT 1

--- 831 unchanged lines hidden (view full) ---

1623#define RT5645_JD_P_SFT 11
1624#define RT5645_JD_P_NOR (0x0 << 11)
1625#define RT5645_JD_P_INV (0x1 << 11)
1626#define RT5645_OT_P_MASK (0x1 << 10)
1627#define RT5645_OT_P_SFT 10
1628#define RT5645_OT_P_NOR (0x0 << 10)
1629#define RT5645_OT_P_INV (0x1 << 10)
1630#define RT5645_IRQ_JD_1_1_EN (0x1 << 9)
1631#define RT5645_JD_1_1_MASK (0x1 << 7)
1632#define RT5645_JD_1_1_SFT 7
1633#define RT5645_JD_1_1_NOR (0x0 << 7)
1634#define RT5645_JD_1_1_INV (0x1 << 7)
1631
1632/* IRQ Control 2 (0xbe) */
1633#define RT5645_IRQ_MB1_OC_MASK (0x1 << 15)
1634#define RT5645_IRQ_MB1_OC_SFT 15
1635#define RT5645_IRQ_MB1_OC_BP (0x0 << 15)
1636#define RT5645_IRQ_MB1_OC_NOR (0x1 << 15)
1637#define RT5645_IRQ_MB2_OC_MASK (0x1 << 14)
1638#define RT5645_IRQ_MB2_OC_SFT 14

--- 552 unchanged lines hidden ---
1635
1636/* IRQ Control 2 (0xbe) */
1637#define RT5645_IRQ_MB1_OC_MASK (0x1 << 15)
1638#define RT5645_IRQ_MB1_OC_SFT 15
1639#define RT5645_IRQ_MB1_OC_BP (0x0 << 15)
1640#define RT5645_IRQ_MB1_OC_NOR (0x1 << 15)
1641#define RT5645_IRQ_MB2_OC_MASK (0x1 << 14)
1642#define RT5645_IRQ_MB2_OC_SFT 14

--- 552 unchanged lines hidden ---