2011-01-02 23:16:27 +00:00
|
|
|
/***************************************************************************
|
|
|
|
* __________ __ ___.
|
|
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
|
|
* \/ \/ \/ \/ \/
|
|
|
|
* $Id: wm8975.h 28159 2010-09-24 22:42:06Z Buschel $
|
|
|
|
*
|
|
|
|
* Copyright (C) 2010 by Michael Sparmann
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, either express or implied.
|
|
|
|
*
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
#ifndef __CS42L55_H__
|
|
|
|
#define __CS42L55_H__
|
|
|
|
|
|
|
|
/* volume/balance/treble/bass interdependency */
|
|
|
|
#define VOLUME_MIN -580
|
|
|
|
#define VOLUME_MAX 120
|
|
|
|
|
2011-01-07 23:09:09 +00:00
|
|
|
#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | BASS_CUTOFF_CAP \
|
|
|
|
| TREBLE_CUTOFF_CAP | PRESCALER_CAP)
|
2011-01-02 23:16:27 +00:00
|
|
|
|
|
|
|
extern int tenthdb2master(int db);
|
|
|
|
|
|
|
|
extern void audiohw_set_master_vol(int vol_l, int vol_r);
|
|
|
|
extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
|
|
|
|
extern void audiohw_enable_lineout(bool enable);
|
|
|
|
|
|
|
|
/* Register addresses and bits */
|
|
|
|
|
|
|
|
#define HIDDENCTL 0x00
|
|
|
|
#define HIDDENCTL_LOCK 0x00
|
|
|
|
#define HIDDENCTL_UNLOCK 0x99
|
|
|
|
|
|
|
|
#define CHIPVERSION 0x01
|
|
|
|
|
|
|
|
#define PWRCTL1 0x02
|
|
|
|
#define PWRCTL1_PDN_CODEC (1 << 0)
|
|
|
|
#define PWRCTL1_PDN_ADCA (1 << 1)
|
|
|
|
#define PWRCTL1_PDN_ADCB (1 << 2)
|
|
|
|
#define PWRCTL1_PDN_CHRG (1 << 3)
|
|
|
|
|
|
|
|
#define PWRCTL2 0x03
|
|
|
|
#define PWRCTL2_PDN_LINA_MASK (3 << 0)
|
|
|
|
#define PWRCTL2_PDN_LINA_HIGH (0 << 0)
|
|
|
|
#define PWRCTL2_PDN_LINA_LOW (1 << 0)
|
|
|
|
#define PWRCTL2_PDN_LINA_NEVER (2 << 0)
|
|
|
|
#define PWRCTL2_PDN_LINA_ALWAYS (3 << 0)
|
|
|
|
#define PWRCTL2_PDN_LINB_MASK (3 << 2)
|
|
|
|
#define PWRCTL2_PDN_LINB_HIGH (0 << 2)
|
|
|
|
#define PWRCTL2_PDN_LINB_LOW (1 << 2)
|
|
|
|
#define PWRCTL2_PDN_LINB_NEVER (2 << 2)
|
|
|
|
#define PWRCTL2_PDN_LINB_ALWAYS (3 << 2)
|
|
|
|
#define PWRCTL2_PDN_HPA_MASK (3 << 4)
|
|
|
|
#define PWRCTL2_PDN_HPA_HIGH (0 << 4)
|
|
|
|
#define PWRCTL2_PDN_HPA_LOW (1 << 4)
|
|
|
|
#define PWRCTL2_PDN_HPA_NEVER (2 << 4)
|
|
|
|
#define PWRCTL2_PDN_HPA_ALWAYS (3 << 4)
|
|
|
|
#define PWRCTL2_PDN_HPB_MASK (3 << 6)
|
|
|
|
#define PWRCTL2_PDN_HPB_HIGH (0 << 6)
|
|
|
|
#define PWRCTL2_PDN_HPB_LOW (1 << 6)
|
|
|
|
#define PWRCTL2_PDN_HPB_NEVER (2 << 6)
|
|
|
|
#define PWRCTL2_PDN_HPB_ALWAYS (3 << 6)
|
|
|
|
|
|
|
|
#define CLKCTL1 0x04
|
|
|
|
#define CLKCTL1_MCLKDIS (1 << 0)
|
|
|
|
#define CLKCTL1_MCLKDIV2 (1 << 1)
|
|
|
|
#define CLKCTL1_SCLKMCLK_MASK (3 << 2)
|
|
|
|
#define CLKCTL1_SCLKMCLK_BURST (0 << 2)
|
|
|
|
#define CLKCTL1_SCLKMCLK_AFTER (2 << 2)
|
|
|
|
#define CLKCTL1_SCLKMCLK_BEFORE (3 << 2)
|
|
|
|
#define CLKCTL1_INV_SCLK (1 << 4)
|
|
|
|
#define CLKCTL1_MASTER (1 << 5)
|
|
|
|
|
|
|
|
#define CLKCTL2 0x05
|
|
|
|
#define CLKCTL2_MCLKLRCK_MASK (3 << 0)
|
|
|
|
#define CLKCTL2_MCLKLRCK_125 (1 << 0)
|
|
|
|
#define CLKCTL2_MCLKLRCK_136 (3 << 0)
|
|
|
|
#define CLKCTL2_32KGROUP (1 << 2)
|
|
|
|
#define CLKCTL2_SPEED_MASK (3 << 3)
|
|
|
|
#define CLKCTL2_SPEED_SINGLE (1 << 3)
|
|
|
|
#define CLKCTL2_SPEED_HALF (2 << 3)
|
|
|
|
#define CLKCTL2_SPEED_QUARTER (3 << 3)
|
|
|
|
#define CLKCTL2_8000HZ 0x1d
|
|
|
|
#define CLKCTL2_11025HZ 0x1b
|
|
|
|
#define CLKCTL2_12000HZ 0x19
|
|
|
|
#define CLKCTL2_16000HZ 0x15
|
|
|
|
#define CLKCTL2_22050HZ 0x13
|
|
|
|
#define CLKCTL2_24000HZ 0x11
|
|
|
|
#define CLKCTL2_32000HZ 0x0d
|
|
|
|
#define CLKCTL2_44100HZ 0x0b
|
|
|
|
#define CLKCTL2_48000HZ 0x09
|
|
|
|
|
|
|
|
#define CLSHCTL 0x06
|
|
|
|
#define CLSHCTL_ADPTPWR_MASK (3 << 4)
|
|
|
|
#define CLSHCTL_ADPTPWR_VOLUME (0 << 4)
|
|
|
|
#define CLSHCTL_ADPTPWR_HALF (1 << 4)
|
|
|
|
#define CLSHCTL_ADPTPWR_FULL (2 << 4)
|
|
|
|
#define CLSHCTL_ADPTPWR_SIGNAL (3 << 4)
|
|
|
|
|
|
|
|
#define MISCCTL 0x07
|
|
|
|
#define MISCCTL_FREEZE (1 << 0)
|
|
|
|
#define MISCCTL_DIGSFT (1 << 2)
|
|
|
|
#define MISCCTL_ANLGZC (1 << 3)
|
|
|
|
#define MISCCTL_UNDOC4 (1 << 4)
|
|
|
|
#define MISCCTL_DIGMUX (1 << 7)
|
|
|
|
|
|
|
|
#define ALHMUX 0x08
|
|
|
|
#define ALHMUX_HPAMUX_MASK (1 << 0)
|
|
|
|
#define ALHMUX_HPAMUX_DACA (0 << 0)
|
|
|
|
#define ALHMUX_HPAMUX_PGAA (1 << 0)
|
|
|
|
#define ALHMUX_HPBMUX_MASK (1 << 1)
|
|
|
|
#define ALHMUX_HPBMUX_DACB (0 << 1)
|
|
|
|
#define ALHMUX_HPBMUX_PGAB (1 << 1)
|
|
|
|
#define ALHMUX_LINEAMUX_MASK (1 << 2)
|
|
|
|
#define ALHMUX_LINEAMUX_DACA (0 << 2)
|
|
|
|
#define ALHMUX_LINEAMUX_PGAA (1 << 2)
|
|
|
|
#define ALHMUX_LINEBMUX_MASK (1 << 3)
|
|
|
|
#define ALHMUX_LINEBMUX_DACB (0 << 3)
|
|
|
|
#define ALHMUX_LINEBMUX_PGAB (1 << 3)
|
|
|
|
#define ALHMUX_ADCAMUX_MASK (3 << 4)
|
|
|
|
#define ALHMUX_ADCAMUX_PGAA (0 << 4)
|
|
|
|
#define ALHMUX_ADCAMUX_AIN1A (1 << 4)
|
|
|
|
#define ALHMUX_ADCAMUX_AIN2A (2 << 4)
|
|
|
|
#define ALHMUX_ADCBMUX_MASK (3 << 4)
|
|
|
|
#define ALHMUX_ADCBMUX_PGAB (0 << 6)
|
|
|
|
#define ALHMUX_ADCBMUX_AIN1B (1 << 6)
|
|
|
|
#define ALHMUX_ADCBMUX_AIN2B (2 << 6)
|
|
|
|
|
|
|
|
#define HPFCTL 0x09
|
|
|
|
#define HPFCTL_HPFA_CF_MASK (3 << 0)
|
|
|
|
#define HPFCTL_HPFA_CF_1_8 (0 << 0)
|
|
|
|
#define HPFCTL_HPFA_CF_119 (1 << 0)
|
|
|
|
#define HPFCTL_HPFA_CF_236 (2 << 0)
|
|
|
|
#define HPFCTL_HPFA_CF_464 (3 << 0)
|
|
|
|
#define HPFCTL_HPFB_CF_MASK (3 << 2)
|
|
|
|
#define HPFCTL_HPFB_CF_1_8 (0 << 2)
|
|
|
|
#define HPFCTL_HPFB_CF_119 (1 << 2)
|
|
|
|
#define HPFCTL_HPFB_CF_236 (2 << 2)
|
|
|
|
#define HPFCTL_HPFB_CF_464 (3 << 2)
|
|
|
|
#define HPFCTL_HPFRZA (1 << 4)
|
|
|
|
#define HPFCTL_HPFA (1 << 5)
|
|
|
|
#define HPFCTL_HPFRZB (1 << 6)
|
|
|
|
#define HPFCTL_HPFB (1 << 7)
|
|
|
|
|
|
|
|
#define ADCCTL 0x0a
|
|
|
|
#define ADCCTL_ADCAMUTE (1 << 0)
|
|
|
|
#define ADCCTL_ADCBMUTE (1 << 1)
|
|
|
|
#define ADCCTL_INV_ADCA (1 << 2)
|
|
|
|
#define ADCCTL_INV_ADCB (1 << 3)
|
|
|
|
#define ADCCTL_DIGSUM_MASK (3 << 4)
|
|
|
|
#define ADCCTL_DIGSUM_NORMAL (0 << 4)
|
|
|
|
#define ADCCTL_DIGSUM_HALFSUM (1 << 4)
|
|
|
|
#define ADCCTL_DIGSUM_HALFDIFF (2 << 4)
|
|
|
|
#define ADCCTL_DIGSUM_SWAPPED (3 << 4)
|
|
|
|
#define ADCCTL_PGA_VOLUME_GROUP (1 << 6)
|
|
|
|
#define ADCCTL_ADC_VOLUME_GROUP (1 << 7)
|
|
|
|
|
|
|
|
#define PGAACTL 0x0b
|
|
|
|
#define PGAACTL_VOLUME_MASK (0x3f << 0)
|
|
|
|
#define PGAACTL_VOLUME_SHIFT 0
|
|
|
|
#define PGAACTL_MUX_MASK (1 << 6)
|
|
|
|
#define PGAACTL_MUX_AIN1A (0 << 6)
|
|
|
|
#define PGAACTL_MUX_AIN2A (1 << 6)
|
|
|
|
#define PGAACTL_BOOST (1 << 7)
|
|
|
|
|
|
|
|
#define PGABCTL 0x0c
|
|
|
|
#define PGABCTL_VOLUME_MASK (0x3f << 0)
|
|
|
|
#define PGABCTL_VOLUME_SHIFT 0
|
|
|
|
#define PGABCTL_MUX_MASK (1 << 6)
|
|
|
|
#define PGABCTL_MUX_AIN1B (0 << 6)
|
|
|
|
#define PGABCTL_MUX_AIN2B (1 << 6)
|
|
|
|
#define PGABCTL_BOOST (1 << 7)
|
|
|
|
|
|
|
|
#define ADCAATT 0x0d
|
|
|
|
#define ADCAATT_VOLUME_MASK (0xff << 0)
|
|
|
|
#define ADCAATT_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define ADCBATT 0x0e
|
|
|
|
#define ADCBATT_VOLUME_MASK (0xff << 0)
|
|
|
|
#define ADCBATT_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define PLAYCTL 0x0f
|
|
|
|
#define PLAYCTL_MSTAMUTE (1 << 0)
|
|
|
|
#define PLAYCTL_MSTBMUTE (1 << 1)
|
|
|
|
#define PLAYCTL_INV_PCMA (1 << 2)
|
|
|
|
#define PLAYCTL_INV_PCMB (1 << 3)
|
|
|
|
#define PLAYCTL_PB_VOLUME_GROUP (1 << 4)
|
|
|
|
#define PLAYCTL_DEEMPH (1 << 6)
|
|
|
|
#define PLAYCTL_PDN_DSP (1 << 7)
|
|
|
|
|
|
|
|
#define AMIXACTL 0x10
|
|
|
|
#define AMIXACTL_AMIXAVOL_MASK (0x7f << 0)
|
|
|
|
#define AMIXACTL_AMIXAVOL_SHIFT 0
|
|
|
|
#define AMIXACTL_AMIXAMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define AMIXBCTL 0x11
|
|
|
|
#define AMIXBCTL_AMIXBVOL_MASK (0x7f << 0)
|
|
|
|
#define AMIXBCTL_AMIXBVOL_SHIFT 0
|
|
|
|
#define AMIXBCTL_AMIXBMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define PMIXACTL 0x12
|
|
|
|
#define PMIXACTL_PMIXAVOL_MASK (0x7f << 0)
|
|
|
|
#define PMIXACTL_PMIXAVOL_SHIFT 0
|
|
|
|
#define PMIXACTL_PMIXAMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define PMIXBCTL 0x13
|
|
|
|
#define PMIXBCTL_PMIXBVOL_MASK (0x7f << 0)
|
|
|
|
#define PMIXBCTL_PMIXBVOL_SHIFT 0
|
|
|
|
#define PMIXBCTL_PMIXBMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define BEEPFO 0x14
|
|
|
|
#define BEEPFO_ONTIME_MASK (0xf << 0)
|
|
|
|
#define BEEPFO_ONTIME_86 (0x0 << 0)
|
|
|
|
#define BEEPFO_ONTIME_430 (0x1 << 0)
|
|
|
|
#define BEEPFO_ONTIME_780 (0x2 << 0)
|
|
|
|
#define BEEPFO_ONTIME_1200 (0x3 << 0)
|
|
|
|
#define BEEPFO_ONTIME_1500 (0x4 << 0)
|
|
|
|
#define BEEPFO_ONTIME_1800 (0x5 << 0)
|
|
|
|
#define BEEPFO_ONTIME_2200 (0x6 << 0)
|
|
|
|
#define BEEPFO_ONTIME_2500 (0x7 << 0)
|
|
|
|
#define BEEPFO_ONTIME_2800 (0x8 << 0)
|
|
|
|
#define BEEPFO_ONTIME_3200 (0x9 << 0)
|
|
|
|
#define BEEPFO_ONTIME_3500 (0xa << 0)
|
|
|
|
#define BEEPFO_ONTIME_3800 (0xb << 0)
|
|
|
|
#define BEEPFO_ONTIME_4200 (0xc << 0)
|
|
|
|
#define BEEPFO_ONTIME_4500 (0xd << 0)
|
|
|
|
#define BEEPFO_ONTIME_4800 (0xe << 0)
|
|
|
|
#define BEEPFO_ONTIME_5200 (0xf << 0)
|
|
|
|
#define BEEPFO_FREQ_MASK (0xf << 4)
|
|
|
|
#define BEEPFO_FREQ_254_76 (0x0 << 4)
|
|
|
|
#define BEEPFO_FREQ_509_51 (0x1 << 4)
|
|
|
|
#define BEEPFO_FREQ_571_65 (0x2 << 4)
|
|
|
|
#define BEEPFO_FREQ_651_04 (0x3 << 4)
|
|
|
|
#define BEEPFO_FREQ_689_34 (0x4 << 4)
|
|
|
|
#define BEEPFO_FREQ_756_04 (0x5 << 4)
|
|
|
|
#define BEEPFO_FREQ_869_45 (0x6 << 4)
|
|
|
|
#define BEEPFO_FREQ_976_56 (0x7 << 4)
|
|
|
|
#define BEEPFO_FREQ_1019_02 (0x8 << 4)
|
|
|
|
#define BEEPFO_FREQ_1171_88 (0x9 << 4)
|
|
|
|
#define BEEPFO_FREQ_1302_08 (0xa << 4)
|
|
|
|
#define BEEPFO_FREQ_1378_67 (0xb << 4)
|
|
|
|
#define BEEPFO_FREQ_1562_50 (0xc << 4)
|
|
|
|
#define BEEPFO_FREQ_1674_11 (0xd << 4)
|
|
|
|
#define BEEPFO_FREQ_1953_13 (0xe << 4)
|
|
|
|
#define BEEPFO_FREQ_2130_68 (0xf << 4)
|
|
|
|
|
|
|
|
#define BEEPVO 0x15
|
|
|
|
#define BEEPVO_VOLUME_MASK (0x1f << 0)
|
|
|
|
#define BEEPVO_VOLUME_SHIFT 0
|
|
|
|
#define BEEPVO_OFFTIME_MASK (7 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_1230 (0 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_2580 (1 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_3900 (2 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_5200 (3 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_6600 (4 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_8050 (5 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_9350 (6 << 5)
|
|
|
|
#define BEEPVO_OFFTIME_10800 (7 << 5)
|
|
|
|
|
|
|
|
#define BTCTL 0x16
|
|
|
|
#define BTCTL_TCEN (1 << 0)
|
|
|
|
#define BTCTL_BASSCF_MASK (3 << 1)
|
2011-01-07 23:09:09 +00:00
|
|
|
#define BTCTL_BASSCF_SHIFT 1
|
2011-01-02 23:16:27 +00:00
|
|
|
#define BTCTL_BASSCF_50 (0 << 1)
|
|
|
|
#define BTCTL_BASSCF_100 (1 << 1)
|
|
|
|
#define BTCTL_BASSCF_200 (2 << 1)
|
|
|
|
#define BTCTL_BASSCF_250 (3 << 1)
|
|
|
|
#define BTCTL_TREBCF_MASK (3 << 3)
|
2011-01-07 23:09:09 +00:00
|
|
|
#define BTCTL_TREBCF_SHIFT 3
|
2011-01-02 23:16:27 +00:00
|
|
|
#define BTCTL_TREBCF_5000 (0 << 3)
|
|
|
|
#define BTCTL_TREBCF_7000 (1 << 3)
|
|
|
|
#define BTCTL_TREBCF_10000 (2 << 3)
|
|
|
|
#define BTCTL_TREBCF_15000 (3 << 3)
|
|
|
|
#define BTCTL_BEEP_MASK (0 << 6)
|
|
|
|
#define BTCTL_BEEP_OFF (0 << 6)
|
|
|
|
#define BTCTL_BEEP_SINGLE (1 << 6)
|
|
|
|
#define BTCTL_BEEP_MULTIPLE (2 << 6)
|
|
|
|
#define BTCTL_BEEP_CONTINUOUS (3 << 6)
|
|
|
|
|
|
|
|
#define TONECTL 0x17
|
|
|
|
#define TONECTL_BASS_MASK (0xf << 0)
|
|
|
|
#define TONECTL_BASS_SHIFT 0
|
|
|
|
#define TONECTL_TREB_MASK (0xf << 4)
|
|
|
|
#define TONECTL_TREB_SHIFT 4
|
|
|
|
|
|
|
|
#define MSTAVOL 0x18
|
|
|
|
#define MSTAVOL_VOLUME_MASK (0xff << 0)
|
|
|
|
#define MSTAVOL_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define MSTBVOL 0x19
|
|
|
|
#define MSTBVOL_VOLUME_MASK (0xff << 0)
|
|
|
|
#define MSTBVOL_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define HPACTL 0x1a
|
|
|
|
#define HPACTL_HPAVOL_MASK (0x7f << 0)
|
|
|
|
#define HPACTL_HPAVOL_SHIFT 0
|
|
|
|
#define HPACTL_HPAMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define HPBCTL 0x1b
|
|
|
|
#define HPBCTL_HPBVOL_MASK (0x7f << 0)
|
|
|
|
#define HPBCTL_HPBVOL_SHIFT 0
|
|
|
|
#define HPBCTL_HPBMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define LINEACTL 0x1c
|
|
|
|
#define LINEACTL_LINEAVOL_MASK (0x7f << 0)
|
|
|
|
#define LINEACTL_LINEAVOL_SHIFT 0
|
|
|
|
#define LINEACTL_LINEAMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define LINEBCTL 0x1d
|
|
|
|
#define LINEBCTL_LINEBVOL_MASK (0x7f << 0)
|
|
|
|
#define LINEBCTL_LINEBVOL_SHIFT 0
|
|
|
|
#define LINEBCTL_LINEBMUTE (1 << 7)
|
|
|
|
|
|
|
|
#define AINADV 0x1e
|
|
|
|
#define AINADV_VOLUME_MASK (0xff << 0)
|
|
|
|
#define AINADV_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define DINADV 0x1f
|
|
|
|
#define DINADV_VOLUME_MASK (0xff << 0)
|
|
|
|
#define DINADV_VOLUME_SHIFT 0
|
|
|
|
|
|
|
|
#define MIXCTL 0x20
|
|
|
|
#define MIXCTL_ADCASWP_MASK (3 << 0)
|
|
|
|
#define MIXCTL_ADCASWP_NORMAL (0 << 0)
|
|
|
|
#define MIXCTL_ADCASWP_HALFSUM (1 << 0)
|
|
|
|
#define MIXCTL_ADCASWP_HALFSUM2 (2 << 0)
|
|
|
|
#define MIXCTL_ADCASWP_SWAPPED (3 << 0)
|
|
|
|
#define MIXCTL_ADCBSWP_MASK (3 << 2)
|
|
|
|
#define MIXCTL_ADCBSWP_NORMAL (0 << 2)
|
|
|
|
#define MIXCTL_ADCBSWP_HALFSUM (1 << 2)
|
|
|
|
#define MIXCTL_ADCBSWP_HALFSUM2 (2 << 2)
|
|
|
|
#define MIXCTL_ADCBSWP_SWAPPED (3 << 2)
|
|
|
|
#define MIXCTL_PCMASWP_MASK (3 << 4)
|
|
|
|
#define MIXCTL_PCMASWP_NORMAL (0 << 4)
|
|
|
|
#define MIXCTL_PCMASWP_HALFSUM (1 << 4)
|
|
|
|
#define MIXCTL_PCMASWP_HALFSUM2 (2 << 4)
|
|
|
|
#define MIXCTL_PCMASWP_SWAPPED (3 << 4)
|
|
|
|
#define MIXCTL_PCMBSWP_MASK (3 << 6)
|
|
|
|
#define MIXCTL_PCMBSWP_NORMAL (0 << 6)
|
|
|
|
#define MIXCTL_PCMBSWP_HALFSUM (1 << 6)
|
|
|
|
#define MIXCTL_PCMBSWP_HALFSUM2 (2 << 6)
|
|
|
|
#define MIXCTL_PCMBSWP_SWAPPED (3 << 6)
|
|
|
|
|
|
|
|
#define LIMCTL1 0x21
|
|
|
|
#define LIMCTL1_CUSH_MASK (7 << 2)
|
|
|
|
#define LIMCTL1_CUSH_0 (0 << 2)
|
|
|
|
#define LIMCTL1_CUSH_3 (1 << 2)
|
|
|
|
#define LIMCTL1_CUSH_6 (2 << 2)
|
|
|
|
#define LIMCTL1_CUSH_9 (3 << 2)
|
|
|
|
#define LIMCTL1_CUSH_12 (4 << 2)
|
|
|
|
#define LIMCTL1_CUSH_18 (5 << 2)
|
|
|
|
#define LIMCTL1_CUSH_24 (6 << 2)
|
|
|
|
#define LIMCTL1_CUSH_30 (7 << 2)
|
|
|
|
#define LIMCTL1_LMAX_MASK (7 << 5)
|
|
|
|
#define LIMCTL1_LMAX_0 (0 << 5)
|
|
|
|
#define LIMCTL1_LMAX_3 (1 << 5)
|
|
|
|
#define LIMCTL1_LMAX_6 (2 << 5)
|
|
|
|
#define LIMCTL1_LMAX_9 (3 << 5)
|
|
|
|
#define LIMCTL1_LMAX_12 (4 << 5)
|
|
|
|
#define LIMCTL1_LMAX_18 (5 << 5)
|
|
|
|
#define LIMCTL1_LMAX_24 (6 << 5)
|
|
|
|
#define LIMCTL1_LMAX_30 (7 << 5)
|
|
|
|
|
|
|
|
#define LIMCTL2 0x22
|
|
|
|
#define LIMCTL2_LIMRRATE_MASK (0x3f << 0)
|
|
|
|
#define LIMCTL2_LIMRRATE_SHIFT 0
|
|
|
|
#define LIMCTL2_LIMIT_ALL (1 << 6)
|
|
|
|
#define LIMCTL2_LIMIT (1 << 7)
|
|
|
|
|
|
|
|
#define LIMCTL3 0x23
|
|
|
|
#define LIMCTL3_LIMARATE_MASK (0x3f << 0)
|
|
|
|
#define LIMCTL3_LIMARATE_SHIFT 0
|
|
|
|
|
|
|
|
#define ALCCTL1 0x24
|
|
|
|
#define ALCCTL1_ALCARATE_MASK (0x3f << 0)
|
|
|
|
#define ALCCTL1_ALCARATE_SHIFT 0
|
|
|
|
#define ALCCTL1_ALCA (1 << 6)
|
|
|
|
#define ALCCTL1_ALCB (1 << 7)
|
|
|
|
|
|
|
|
#define ALCCTL2 0x25
|
|
|
|
#define ALCCTL2_ALCRRATE_MASK (0x3f << 0)
|
|
|
|
#define ALCCTL2_ALCRRATE_SHIFT 0
|
|
|
|
|
|
|
|
#define ALCCTL3 0x26
|
|
|
|
#define ALCCTL3_ALCMIN_MASK (7 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_0 (0 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_3 (1 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_6 (2 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_9 (3 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_12 (4 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_18 (5 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_24 (6 << 2)
|
|
|
|
#define ALCCTL3_ALCMIN_30 (7 << 2)
|
|
|
|
#define ALCCTL3_ALCMAX_MASK (7 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_0 (0 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_3 (1 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_6 (2 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_9 (3 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_12 (4 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_18 (5 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_24 (6 << 5)
|
|
|
|
#define ALCCTL3_ALCMAX_30 (7 << 5)
|
|
|
|
|
|
|
|
#define NGCTL 0x27
|
|
|
|
#define NGCTL_NGDELEAY_MASK (3 << 0)
|
|
|
|
#define NGCTL_NGDELEAY_50 (0 << 0)
|
|
|
|
#define NGCTL_NGDELEAY_100 (1 << 0)
|
|
|
|
#define NGCTL_NGDELEAY_150 (2 << 0)
|
|
|
|
#define NGCTL_NGDELEAY_200 (3 << 0)
|
|
|
|
#define NGCTL_THRESH_MASK (7 << 2)
|
|
|
|
#define NGCTL_THRESH_SHIFT 2
|
|
|
|
#define NGCTL_NG_BOOST30 (1 << 5)
|
|
|
|
#define NGCTL_NG (1 << 6)
|
|
|
|
#define NGCTL_NGALL (1 << 7)
|
|
|
|
|
|
|
|
#define ALSZDIS 0x28
|
|
|
|
#define ALSZDIS_LIMSRDIS (1 << 3)
|
|
|
|
#define ALSZDIS_ALCAZCDIS (1 << 4)
|
|
|
|
#define ALSZDIS_ALCASRDIS (1 << 5)
|
|
|
|
#define ALSZDIS_ALCBZCDIS (1 << 6)
|
|
|
|
#define ALSZDIS_ALCBSRDIS (1 << 7)
|
|
|
|
|
|
|
|
#define STATUS 0x29
|
|
|
|
#define STATUS_ADCAOVFL (1 << 0)
|
|
|
|
#define STATUS_ADCBOVFL (1 << 1)
|
|
|
|
#define STATUS_MIXAOVFL (1 << 2)
|
|
|
|
#define STATUS_MIXBOVFL (1 << 3)
|
|
|
|
#define STATUS_DSPAOVFL (1 << 4)
|
|
|
|
#define STATUS_DSPBOVFL (1 << 5)
|
|
|
|
#define STATUS_SPCLKERR (1 << 6)
|
|
|
|
#define STATUS_HPDETECT (1 << 7)
|
|
|
|
|
|
|
|
#define CPCTL 0x2a
|
|
|
|
#define CPCTL_CHGFREQ_MASK (0xf << 0)
|
|
|
|
#define CPCTL_CHGFREQ_SHIFT 0
|
|
|
|
|
|
|
|
#define HIDDEN2E 0x2e
|
|
|
|
#define HIDDEN2E_DEFAULT 0x30
|
|
|
|
|
|
|
|
#define HIDDEN32 0x32
|
|
|
|
#define HIDDEN32_DEFAULT 0x07
|
|
|
|
|
|
|
|
#define HIDDEN33 0x33
|
|
|
|
#define HIDDEN33_DEFAULT 0xff
|
|
|
|
|
|
|
|
#define HIDDEN34 0x34
|
|
|
|
#define HIDDEN34_DEFAULT 0xf8
|
|
|
|
|
|
|
|
#define HIDDEN35 0x35
|
|
|
|
#define HIDDEN35_DEFAULT 0xdc
|
|
|
|
|
|
|
|
#define HIDDEN36 0x36
|
|
|
|
#define HIDDEN36_DEFAULT 0xfc
|
|
|
|
|
|
|
|
#define HIDDEN37 0x37
|
|
|
|
#define HIDDEN37_DEFAULT 0xac
|
|
|
|
|
|
|
|
#define HIDDEN3A 0x3a
|
|
|
|
#define HIDDEN3A_DEFAULT 0xf8
|
|
|
|
|
|
|
|
#define HIDDEN3C 0x3c
|
|
|
|
#define HIDDEN3C_DEFAULT 0xd3
|
|
|
|
|
|
|
|
#define HIDDEN3D 0x3d
|
|
|
|
#define HIDDEN3D_DEFAULT 0x23
|
|
|
|
|
|
|
|
#define HIDDEN3E 0x3e
|
|
|
|
#define HIDDEN3E_DEFAULT 0x81
|
|
|
|
|
|
|
|
#define HIDDEN3F 0x3f
|
|
|
|
#define HIDDEN3F_DEFAULT 0x46
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* __CS42L55_H__ */
|