1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 248e27874SAdam Thomson /* 348e27874SAdam Thomson * da732x_reg.h --- Dialog DA732X ALSA SoC Audio Registers Header File 448e27874SAdam Thomson * 548e27874SAdam Thomson * Copyright (C) 2012 Dialog Semiconductor GmbH 648e27874SAdam Thomson * 748e27874SAdam Thomson * Author: Michal Hajduk <Michal.Hajduk@diasemi.com> 848e27874SAdam Thomson */ 948e27874SAdam Thomson 1048e27874SAdam Thomson #ifndef __DA732X_REG_H_ 1148e27874SAdam Thomson #define __DA732X_REG_H_ 1248e27874SAdam Thomson 1348e27874SAdam Thomson /* DA732X registers */ 1448e27874SAdam Thomson #define DA732X_REG_STATUS_EXT 0x00 1548e27874SAdam Thomson #define DA732X_REG_STATUS 0x01 1648e27874SAdam Thomson #define DA732X_REG_REF1 0x02 1748e27874SAdam Thomson #define DA732X_REG_BIAS_EN 0x03 1848e27874SAdam Thomson #define DA732X_REG_BIAS1 0x04 1948e27874SAdam Thomson #define DA732X_REG_BIAS2 0x05 2048e27874SAdam Thomson #define DA732X_REG_BIAS3 0x06 2148e27874SAdam Thomson #define DA732X_REG_BIAS4 0x07 2248e27874SAdam Thomson #define DA732X_REG_MICBIAS2 0x0F 2348e27874SAdam Thomson #define DA732X_REG_MICBIAS1 0x10 2448e27874SAdam Thomson #define DA732X_REG_MICDET 0x11 2548e27874SAdam Thomson #define DA732X_REG_MIC1_PRE 0x12 2648e27874SAdam Thomson #define DA732X_REG_MIC1 0x13 2748e27874SAdam Thomson #define DA732X_REG_MIC2_PRE 0x14 2848e27874SAdam Thomson #define DA732X_REG_MIC2 0x15 2948e27874SAdam Thomson #define DA732X_REG_AUX1L 0x16 3048e27874SAdam Thomson #define DA732X_REG_AUX1R 0x17 3148e27874SAdam Thomson #define DA732X_REG_MIC3_PRE 0x18 3248e27874SAdam Thomson #define DA732X_REG_MIC3 0x19 3348e27874SAdam Thomson #define DA732X_REG_INP_PINBIAS 0x1A 3448e27874SAdam Thomson #define DA732X_REG_INP_ZC_EN 0x1B 3548e27874SAdam Thomson #define DA732X_REG_INP_MUX 0x1D 3648e27874SAdam Thomson #define DA732X_REG_HP_DET 0x20 3748e27874SAdam Thomson #define DA732X_REG_HPL_DAC_OFFSET 0x21 3848e27874SAdam Thomson #define DA732X_REG_HPL_DAC_OFF_CNTL 0x22 3948e27874SAdam Thomson #define DA732X_REG_HPL_OUT_OFFSET 0x23 4048e27874SAdam Thomson #define DA732X_REG_HPL 0x24 4148e27874SAdam Thomson #define DA732X_REG_HPL_VOL 0x25 4248e27874SAdam Thomson #define DA732X_REG_HPR_DAC_OFFSET 0x26 4348e27874SAdam Thomson #define DA732X_REG_HPR_DAC_OFF_CNTL 0x27 4448e27874SAdam Thomson #define DA732X_REG_HPR_OUT_OFFSET 0x28 4548e27874SAdam Thomson #define DA732X_REG_HPR 0x29 4648e27874SAdam Thomson #define DA732X_REG_HPR_VOL 0x2A 4748e27874SAdam Thomson #define DA732X_REG_LIN2 0x2B 4848e27874SAdam Thomson #define DA732X_REG_LIN3 0x2C 4948e27874SAdam Thomson #define DA732X_REG_LIN4 0x2D 5048e27874SAdam Thomson #define DA732X_REG_OUT_ZC_EN 0x2E 5148e27874SAdam Thomson #define DA732X_REG_HP_LIN1_GNDSEL 0x37 5248e27874SAdam Thomson #define DA732X_REG_CP_HP1 0x3A 5348e27874SAdam Thomson #define DA732X_REG_CP_HP2 0x3B 5448e27874SAdam Thomson #define DA732X_REG_CP_CTRL1 0x40 5548e27874SAdam Thomson #define DA732X_REG_CP_CTRL2 0x41 5648e27874SAdam Thomson #define DA732X_REG_CP_CTRL3 0x42 5748e27874SAdam Thomson #define DA732X_REG_CP_LEVEL_MASK 0x43 5848e27874SAdam Thomson #define DA732X_REG_CP_DET 0x44 5948e27874SAdam Thomson #define DA732X_REG_CP_STATUS 0x45 6048e27874SAdam Thomson #define DA732X_REG_CP_THRESH1 0x46 6148e27874SAdam Thomson #define DA732X_REG_CP_THRESH2 0x47 6248e27874SAdam Thomson #define DA732X_REG_CP_THRESH3 0x48 6348e27874SAdam Thomson #define DA732X_REG_CP_THRESH4 0x49 6448e27874SAdam Thomson #define DA732X_REG_CP_THRESH5 0x4A 6548e27874SAdam Thomson #define DA732X_REG_CP_THRESH6 0x4B 6648e27874SAdam Thomson #define DA732X_REG_CP_THRESH7 0x4C 6748e27874SAdam Thomson #define DA732X_REG_CP_THRESH8 0x4D 6848e27874SAdam Thomson #define DA732X_REG_PLL_DIV_LO 0x50 6948e27874SAdam Thomson #define DA732X_REG_PLL_DIV_MID 0x51 7048e27874SAdam Thomson #define DA732X_REG_PLL_DIV_HI 0x52 7148e27874SAdam Thomson #define DA732X_REG_PLL_CTRL 0x53 7248e27874SAdam Thomson #define DA732X_REG_CLK_CTRL 0x54 7348e27874SAdam Thomson #define DA732X_REG_CLK_DSP 0x5A 7448e27874SAdam Thomson #define DA732X_REG_CLK_EN1 0x5B 7548e27874SAdam Thomson #define DA732X_REG_CLK_EN2 0x5C 7648e27874SAdam Thomson #define DA732X_REG_CLK_EN3 0x5D 7748e27874SAdam Thomson #define DA732X_REG_CLK_EN4 0x5E 7848e27874SAdam Thomson #define DA732X_REG_CLK_EN5 0x5F 7948e27874SAdam Thomson #define DA732X_REG_AIF_MCLK 0x60 8048e27874SAdam Thomson #define DA732X_REG_AIFA1 0x61 8148e27874SAdam Thomson #define DA732X_REG_AIFA2 0x62 8248e27874SAdam Thomson #define DA732X_REG_AIFA3 0x63 8348e27874SAdam Thomson #define DA732X_REG_AIFB1 0x64 8448e27874SAdam Thomson #define DA732X_REG_AIFB2 0x65 8548e27874SAdam Thomson #define DA732X_REG_AIFB3 0x66 8648e27874SAdam Thomson #define DA732X_REG_PC_CTRL 0x6A 8748e27874SAdam Thomson #define DA732X_REG_DATA_ROUTE 0x70 8848e27874SAdam Thomson #define DA732X_REG_DSP_CTRL 0x71 8948e27874SAdam Thomson #define DA732X_REG_CIF_CTRL2 0x74 9048e27874SAdam Thomson #define DA732X_REG_HANDSHAKE 0x75 9148e27874SAdam Thomson #define DA732X_REG_MBOX0 0x76 9248e27874SAdam Thomson #define DA732X_REG_MBOX1 0x77 9348e27874SAdam Thomson #define DA732X_REG_MBOX2 0x78 9448e27874SAdam Thomson #define DA732X_REG_MBOX_STATUS 0x79 9548e27874SAdam Thomson #define DA732X_REG_SPARE1_OUT 0x7D 9648e27874SAdam Thomson #define DA732X_REG_SPARE2_OUT 0x7E 9748e27874SAdam Thomson #define DA732X_REG_SPARE1_IN 0x7F 9848e27874SAdam Thomson #define DA732X_REG_ID 0x81 9948e27874SAdam Thomson #define DA732X_REG_ADC1_PD 0x90 10048e27874SAdam Thomson #define DA732X_REG_ADC1_HPF 0x93 10148e27874SAdam Thomson #define DA732X_REG_ADC1_SEL 0x94 10248e27874SAdam Thomson #define DA732X_REG_ADC1_EQ12 0x95 10348e27874SAdam Thomson #define DA732X_REG_ADC1_EQ34 0x96 10448e27874SAdam Thomson #define DA732X_REG_ADC1_EQ5 0x97 10548e27874SAdam Thomson #define DA732X_REG_ADC2_PD 0x98 10648e27874SAdam Thomson #define DA732X_REG_ADC2_HPF 0x9B 10748e27874SAdam Thomson #define DA732X_REG_ADC2_SEL 0x9C 10848e27874SAdam Thomson #define DA732X_REG_ADC2_EQ12 0x9D 10948e27874SAdam Thomson #define DA732X_REG_ADC2_EQ34 0x9E 11048e27874SAdam Thomson #define DA732X_REG_ADC2_EQ5 0x9F 11148e27874SAdam Thomson #define DA732X_REG_DAC1_HPF 0xA0 11248e27874SAdam Thomson #define DA732X_REG_DAC1_L_VOL 0xA1 11348e27874SAdam Thomson #define DA732X_REG_DAC1_R_VOL 0xA2 11448e27874SAdam Thomson #define DA732X_REG_DAC1_SEL 0xA3 11548e27874SAdam Thomson #define DA732X_REG_DAC1_SOFTMUTE 0xA4 11648e27874SAdam Thomson #define DA732X_REG_DAC1_EQ12 0xA5 11748e27874SAdam Thomson #define DA732X_REG_DAC1_EQ34 0xA6 11848e27874SAdam Thomson #define DA732X_REG_DAC1_EQ5 0xA7 11948e27874SAdam Thomson #define DA732X_REG_DAC2_HPF 0xB0 12048e27874SAdam Thomson #define DA732X_REG_DAC2_L_VOL 0xB1 12148e27874SAdam Thomson #define DA732X_REG_DAC2_R_VOL 0xB2 12248e27874SAdam Thomson #define DA732X_REG_DAC2_SEL 0xB3 12348e27874SAdam Thomson #define DA732X_REG_DAC2_SOFTMUTE 0xB4 12448e27874SAdam Thomson #define DA732X_REG_DAC2_EQ12 0xB5 12548e27874SAdam Thomson #define DA732X_REG_DAC2_EQ34 0xB6 12648e27874SAdam Thomson #define DA732X_REG_DAC2_EQ5 0xB7 12748e27874SAdam Thomson #define DA732X_REG_DAC3_HPF 0xC0 12848e27874SAdam Thomson #define DA732X_REG_DAC3_VOL 0xC1 12948e27874SAdam Thomson #define DA732X_REG_DAC3_SEL 0xC3 13048e27874SAdam Thomson #define DA732X_REG_DAC3_SOFTMUTE 0xC4 13148e27874SAdam Thomson #define DA732X_REG_DAC3_EQ12 0xC5 13248e27874SAdam Thomson #define DA732X_REG_DAC3_EQ34 0xC6 13348e27874SAdam Thomson #define DA732X_REG_DAC3_EQ5 0xC7 13448e27874SAdam Thomson #define DA732X_REG_BIQ_BYP 0xD2 13548e27874SAdam Thomson #define DA732X_REG_DMA_CMD 0xD3 13648e27874SAdam Thomson #define DA732X_REG_DMA_ADDR0 0xD4 13748e27874SAdam Thomson #define DA732X_REG_DMA_ADDR1 0xD5 13848e27874SAdam Thomson #define DA732X_REG_DMA_DATA0 0xD6 13948e27874SAdam Thomson #define DA732X_REG_DMA_DATA1 0xD7 14048e27874SAdam Thomson #define DA732X_REG_DMA_DATA2 0xD8 14148e27874SAdam Thomson #define DA732X_REG_DMA_DATA3 0xD9 14248e27874SAdam Thomson #define DA732X_REG_DMA_STATUS 0xDA 14348e27874SAdam Thomson #define DA732X_REG_BROWNOUT 0xDF 14448e27874SAdam Thomson #define DA732X_REG_UNLOCK 0xE0 14548e27874SAdam Thomson 14648e27874SAdam Thomson #define DA732X_MAX_REG DA732X_REG_UNLOCK 14748e27874SAdam Thomson /* 14848e27874SAdam Thomson * Bits 14948e27874SAdam Thomson */ 15048e27874SAdam Thomson 15148e27874SAdam Thomson /* DA732X_REG_STATUS_EXT (addr=0x00) */ 15248e27874SAdam Thomson #define DA732X_STATUS_EXT_DSP (1 << 4) 15348e27874SAdam Thomson #define DA732X_STATUS_EXT_CLEAR (0 << 0) 15448e27874SAdam Thomson 15548e27874SAdam Thomson /* DA732X_REG_STATUS (addr=0x01) */ 15648e27874SAdam Thomson #define DA732X_STATUS_PLL_LOCK (1 << 0) 15748e27874SAdam Thomson #define DA732X_STATUS_PLL_MCLK_DET (1 << 1) 15848e27874SAdam Thomson #define DA732X_STATUS_HPDET_OUT (1 << 2) 15948e27874SAdam Thomson #define DA732X_STATUS_INP_MIXDET_1 (1 << 3) 16048e27874SAdam Thomson #define DA732X_STATUS_INP_MIXDET_2 (1 << 4) 16148e27874SAdam Thomson #define DA732X_STATUS_BO_STATUS (1 << 5) 16248e27874SAdam Thomson 16348e27874SAdam Thomson /* DA732X_REG_REF1 (addr=0x02) */ 16448e27874SAdam Thomson #define DA732X_VMID_FASTCHG (1 << 1) 16548e27874SAdam Thomson #define DA732X_VMID_FASTDISCHG (1 << 2) 16648e27874SAdam Thomson #define DA732X_REFBUFX2_EN (1 << 6) 16748e27874SAdam Thomson #define DA732X_REFBUFX2_DIS (0 << 6) 16848e27874SAdam Thomson 16948e27874SAdam Thomson /* DA732X_REG_BIAS_EN (addr=0x03) */ 17048e27874SAdam Thomson #define DA732X_BIAS_BOOST_MASK (3 << 0) 17148e27874SAdam Thomson #define DA732X_BIAS_BOOST_100PC (0 << 0) 17248e27874SAdam Thomson #define DA732X_BIAS_BOOST_133PC (1 << 0) 17348e27874SAdam Thomson #define DA732X_BIAS_BOOST_88PC (2 << 0) 17448e27874SAdam Thomson #define DA732X_BIAS_BOOST_50PC (3 << 0) 17548e27874SAdam Thomson #define DA732X_BIAS_EN (1 << 7) 17648e27874SAdam Thomson #define DA732X_BIAS_DIS (0 << 7) 17748e27874SAdam Thomson 17848e27874SAdam Thomson /* DA732X_REG_BIAS1 (addr=0x04) */ 17948e27874SAdam Thomson #define DA732X_BIAS1_HP_DAC_BIAS_MASK (3 << 0) 18048e27874SAdam Thomson #define DA732X_BIAS1_HP_DAC_BIAS_100PC (0 << 0) 18148e27874SAdam Thomson #define DA732X_BIAS1_HP_DAC_BIAS_150PC (1 << 0) 18248e27874SAdam Thomson #define DA732X_BIAS1_HP_DAC_BIAS_50PC (2 << 0) 18348e27874SAdam Thomson #define DA732X_BIAS1_HP_DAC_BIAS_75PC (3 << 0) 18448e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_MASK (7 << 4) 18548e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_100PC (0 << 4) 18648e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_125PC (1 << 4) 18748e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_150PC (2 << 4) 18848e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_175PC (3 << 4) 18948e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_200PC (4 << 4) 19048e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_250PC (5 << 4) 19148e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_300PC (6 << 4) 19248e27874SAdam Thomson #define DA732X_BIAS1_HP_OUT_BIAS_350PC (7 << 4) 19348e27874SAdam Thomson 19448e27874SAdam Thomson /* DA732X_REG_BIAS2 (addr=0x05) */ 19548e27874SAdam Thomson #define DA732X_BIAS2_LINE2_DAC_BIAS_MASK (3 << 0) 19648e27874SAdam Thomson #define DA732X_BIAS2_LINE2_DAC_BIAS_100PC (0 << 0) 19748e27874SAdam Thomson #define DA732X_BIAS2_LINE2_DAC_BIAS_150PC (1 << 0) 19848e27874SAdam Thomson #define DA732X_BIAS2_LINE2_DAC_BIAS_50PC (2 << 0) 19948e27874SAdam Thomson #define DA732X_BIAS2_LINE2_DAC_BIAS_75PC (3 << 0) 20048e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_MASK (7 << 4) 20148e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_100PC (0 << 4) 20248e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_125PC (1 << 4) 20348e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_150PC (2 << 4) 20448e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_175PC (3 << 4) 20548e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_200PC (4 << 4) 20648e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_250PC (5 << 4) 20748e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_300PC (6 << 4) 20848e27874SAdam Thomson #define DA732X_BIAS2_LINE2_OUT_BIAS_350PC (7 << 4) 20948e27874SAdam Thomson 21048e27874SAdam Thomson /* DA732X_REG_BIAS3 (addr=0x06) */ 21148e27874SAdam Thomson #define DA732X_BIAS3_LINE3_DAC_BIAS_MASK (3 << 0) 21248e27874SAdam Thomson #define DA732X_BIAS3_LINE3_DAC_BIAS_100PC (0 << 0) 21348e27874SAdam Thomson #define DA732X_BIAS3_LINE3_DAC_BIAS_150PC (1 << 0) 21448e27874SAdam Thomson #define DA732X_BIAS3_LINE3_DAC_BIAS_50PC (2 << 0) 21548e27874SAdam Thomson #define DA732X_BIAS3_LINE3_DAC_BIAS_75PC (3 << 0) 21648e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_MASK (7 << 4) 21748e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_100PC (0 << 4) 21848e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_125PC (1 << 4) 21948e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_150PC (2 << 4) 22048e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_175PC (3 << 4) 22148e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_200PC (4 << 4) 22248e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_250PC (5 << 4) 22348e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_300PC (6 << 4) 22448e27874SAdam Thomson #define DA732X_BIAS3_LINE3_OUT_BIAS_350PC (7 << 4) 22548e27874SAdam Thomson 22648e27874SAdam Thomson /* DA732X_REG_BIAS4 (addr=0x07) */ 22748e27874SAdam Thomson #define DA732X_BIAS4_LINE4_DAC_BIAS_MASK (3 << 0) 22848e27874SAdam Thomson #define DA732X_BIAS4_LINE4_DAC_BIAS_100PC (0 << 0) 22948e27874SAdam Thomson #define DA732X_BIAS4_LINE4_DAC_BIAS_150PC (1 << 0) 23048e27874SAdam Thomson #define DA732X_BIAS4_LINE4_DAC_BIAS_50PC (2 << 0) 23148e27874SAdam Thomson #define DA732X_BIAS4_LINE4_DAC_BIAS_75PC (3 << 0) 23248e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_MASK (7 << 4) 23348e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_100PC (0 << 4) 23448e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_125PC (1 << 4) 23548e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_150PC (2 << 4) 23648e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_175PC (3 << 4) 23748e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_200PC (4 << 4) 23848e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_250PC (5 << 4) 23948e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_300PC (6 << 4) 24048e27874SAdam Thomson #define DA732X_BIAS4_LINE4_OUT_BIAS_350PC (7 << 4) 24148e27874SAdam Thomson 24248e27874SAdam Thomson /* DA732X_REG_SIF_VDD_SEL (addr=0x08) */ 24348e27874SAdam Thomson #define DA732X_SIF_VDD_SEL_AIFA_VDD2 (1 << 0) 24448e27874SAdam Thomson #define DA732X_SIF_VDD_SEL_AIFB_VDD2 (1 << 1) 24548e27874SAdam Thomson #define DA732X_SIF_VDD_SEL_CIFA_VDD2 (1 << 4) 24648e27874SAdam Thomson 24748e27874SAdam Thomson /* DA732X_REG_MICBIAS2/1 (addr=0x0F/0x10) */ 24848e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_MASK (0x0F << 0) 24948e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V (0x00 << 0) 25048e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V05 (0x01 << 0) 25148e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V1 (0x02 << 0) 25248e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V15 (0x03 << 0) 25348e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V2 (0x04 << 0) 25448e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V25 (0x05 << 0) 25548e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V3 (0x06 << 0) 25648e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V35 (0x07 << 0) 25748e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V4 (0x08 << 0) 25848e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V45 (0x09 << 0) 25948e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_2V5 (0x0A << 0) 26048e27874SAdam Thomson #define DA732X_MICBIAS_EN (1 << 7) 26148e27874SAdam Thomson #define DA732X_MICBIAS_EN_SHIFT 7 26248e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_SHIFT 0 26348e27874SAdam Thomson #define DA732X_MICBIAS_VOLTAGE_MAX 0x0B 26448e27874SAdam Thomson 26548e27874SAdam Thomson /* DA732X_REG_MICDET (addr=0x11) */ 26648e27874SAdam Thomson #define DA732X_MICDET_INP_MICRES (1 << 0) 26748e27874SAdam Thomson #define DA732X_MICDET_INP_MICHOOK (1 << 1) 26848e27874SAdam Thomson #define DA732X_MICDET_INP_DEBOUNCE_PRD_8MS (0 << 0) 26948e27874SAdam Thomson #define DA732X_MICDET_INP_DEBOUNCE_PRD_16MS (1 << 0) 27048e27874SAdam Thomson #define DA732X_MICDET_INP_DEBOUNCE_PRD_32MS (2 << 0) 27148e27874SAdam Thomson #define DA732X_MICDET_INP_DEBOUNCE_PRD_64MS (3 << 0) 27248e27874SAdam Thomson #define DA732X_MICDET_INP_MICDET_EN (1 << 7) 27348e27874SAdam Thomson 27448e27874SAdam Thomson /* DA732X_REG_MIC1/2/3_PRE (addr=0x11/0x14/0x18) */ 27548e27874SAdam Thomson #define DA732X_MICBOOST_MASK 0x7 27648e27874SAdam Thomson #define DA732X_MICBOOST_SHIFT 0 27748e27874SAdam Thomson #define DA732X_MICBOOST_MIN 0x1 27848e27874SAdam Thomson #define DA732X_MICBOOST_MAX DA732X_MICBOOST_MASK 27948e27874SAdam Thomson 28048e27874SAdam Thomson /* DA732X_REG_MIC1/2/3 (addr=0x13/0x15/0x19) */ 28148e27874SAdam Thomson #define DA732X_MIC_VOL_SHIFT 0 28248e27874SAdam Thomson #define DA732X_MIC_VOL_VAL_MASK 0x1F 28348e27874SAdam Thomson #define DA732X_MIC_MUTE_SHIFT 6 28448e27874SAdam Thomson #define DA732X_MIC_EN_SHIFT 7 28548e27874SAdam Thomson #define DA732X_MIC_VOL_VAL_MIN 0x7 28648e27874SAdam Thomson #define DA732X_MIC_VOL_VAL_MAX DA732X_MIC_VOL_VAL_MASK 28748e27874SAdam Thomson 28848e27874SAdam Thomson /* DA732X_REG_AUX1L/R (addr=0x16/0x17) */ 28948e27874SAdam Thomson #define DA732X_AUX_VOL_SHIFT 0 29048e27874SAdam Thomson #define DA732X_AUX_VOL_MASK 0x7 29148e27874SAdam Thomson #define DA732X_AUX_MUTE_SHIFT 6 29248e27874SAdam Thomson #define DA732X_AUX_EN_SHIFT 7 29348e27874SAdam Thomson #define DA732X_AUX_VOL_VAL_MAX DA732X_AUX_VOL_MASK 29448e27874SAdam Thomson 29548e27874SAdam Thomson /* DA732X_REG_INP_PINBIAS (addr=0x1A) */ 29648e27874SAdam Thomson #define DA732X_INP_MICL_PINBIAS_EN (1 << 0) 29748e27874SAdam Thomson #define DA732X_INP_MICR_PINBIAS_EN (1 << 1) 29848e27874SAdam Thomson #define DA732X_INP_AUX1L_PINBIAS_EN (1 << 2) 29948e27874SAdam Thomson #define DA732X_INP_AUX1R_PINBIAS_EN (1 << 3) 30048e27874SAdam Thomson #define DA732X_INP_AUX2_PINBIAS_EN (1 << 4) 30148e27874SAdam Thomson 30248e27874SAdam Thomson /* DA732X_REG_INP_ZC_EN (addr=0x1B) */ 30348e27874SAdam Thomson #define DA732X_MIC1_PRE_ZC_EN (1 << 0) 30448e27874SAdam Thomson #define DA732X_MIC1_ZC_EN (1 << 1) 30548e27874SAdam Thomson #define DA732X_MIC2_PRE_ZC_EN (1 << 2) 30648e27874SAdam Thomson #define DA732X_MIC2_ZC_EN (1 << 3) 30748e27874SAdam Thomson #define DA732X_AUXL_ZC_EN (1 << 4) 30848e27874SAdam Thomson #define DA732X_AUXR_ZC_EN (1 << 5) 30948e27874SAdam Thomson #define DA732X_MIC3_PRE_ZC_EN (1 << 6) 31048e27874SAdam Thomson #define DA732X_MIC3_ZC_EN (1 << 7) 31148e27874SAdam Thomson 31248e27874SAdam Thomson /* DA732X_REG_INP_MUX (addr=0x1D) */ 31348e27874SAdam Thomson #define DA732X_INP_ADC1L_MUX_SEL_AUX1L (0 << 0) 31448e27874SAdam Thomson #define DA732X_INP_ADC1L_MUX_SEL_MIC1 (1 << 0) 31548e27874SAdam Thomson #define DA732X_INP_ADC1R_MUX_SEL_MASK (3 << 2) 31648e27874SAdam Thomson #define DA732X_INP_ADC1R_MUX_SEL_AUX1R (0 << 2) 31748e27874SAdam Thomson #define DA732X_INP_ADC1R_MUX_SEL_MIC2 (1 << 2) 31848e27874SAdam Thomson #define DA732X_INP_ADC1R_MUX_SEL_MIC3 (2 << 2) 31948e27874SAdam Thomson #define DA732X_INP_ADC2L_MUX_SEL_AUX1L (0 << 4) 32048e27874SAdam Thomson #define DA732X_INP_ADC2L_MUX_SEL_MICL (1 << 4) 32148e27874SAdam Thomson #define DA732X_INP_ADC2R_MUX_SEL_MASK (3 << 6) 32248e27874SAdam Thomson #define DA732X_INP_ADC2R_MUX_SEL_AUX1R (0 << 6) 32348e27874SAdam Thomson #define DA732X_INP_ADC2R_MUX_SEL_MICR (1 << 6) 32448e27874SAdam Thomson #define DA732X_INP_ADC2R_MUX_SEL_AUX2 (2 << 6) 32548e27874SAdam Thomson #define DA732X_ADC1L_MUX_SEL_SHIFT 0 32648e27874SAdam Thomson #define DA732X_ADC1R_MUX_SEL_SHIFT 2 32748e27874SAdam Thomson #define DA732X_ADC2L_MUX_SEL_SHIFT 4 32848e27874SAdam Thomson #define DA732X_ADC2R_MUX_SEL_SHIFT 6 32948e27874SAdam Thomson 33048e27874SAdam Thomson /* DA732X_REG_HP_DET (addr=0x20) */ 33148e27874SAdam Thomson #define DA732X_HP_DET_AZ (1 << 0) 33248e27874SAdam Thomson #define DA732X_HP_DET_SEL1 (1 << 1) 33348e27874SAdam Thomson #define DA732X_HP_DET_IS_MASK (3 << 2) 33448e27874SAdam Thomson #define DA732X_HP_DET_IS_0_5UA (0 << 2) 33548e27874SAdam Thomson #define DA732X_HP_DET_IS_1UA (1 << 2) 33648e27874SAdam Thomson #define DA732X_HP_DET_IS_2UA (2 << 2) 33748e27874SAdam Thomson #define DA732X_HP_DET_IS_4UA (3 << 2) 33848e27874SAdam Thomson #define DA732X_HP_DET_RS_MASK (3 << 4) 33948e27874SAdam Thomson #define DA732X_HP_DET_RS_INFINITE (0 << 4) 34048e27874SAdam Thomson #define DA732X_HP_DET_RS_100KOHM (1 << 4) 34148e27874SAdam Thomson #define DA732X_HP_DET_RS_10KOHM (2 << 4) 34248e27874SAdam Thomson #define DA732X_HP_DET_RS_1KOHM (3 << 4) 34348e27874SAdam Thomson #define DA732X_HP_DET_EN (1 << 7) 34448e27874SAdam Thomson 34548e27874SAdam Thomson /* DA732X_REG_HPL_DAC_OFFSET (addr=0x21/0x26) */ 34648e27874SAdam Thomson #define DA732X_HP_DAC_OFFSET_TRIM_MASK (0x3F << 0) 34748e27874SAdam Thomson #define DA732X_HP_DAC_OFFSET_DAC_SIGN (1 << 6) 34848e27874SAdam Thomson 34948e27874SAdam Thomson /* DA732X_REG_HPL_DAC_OFF_CNTL (addr=0x22/0x27) */ 35048e27874SAdam Thomson #define DA732X_HP_DAC_OFF_CNTL_CONT_MASK (7 << 0) 35148e27874SAdam Thomson #define DA732X_HP_DAC_OFF_CNTL_COMPO (1 << 3) 35248e27874SAdam Thomson #define DA732X_HP_DAC_OFF_CALIBRATION (1 << 0) 35348e27874SAdam Thomson #define DA732X_HP_DAC_OFF_SCALE_STEPS (1 << 1) 35448e27874SAdam Thomson #define DA732X_HP_DAC_OFF_MASK 0x7F 35548e27874SAdam Thomson #define DA732X_HP_DAC_COMPO_SHIFT 3 35648e27874SAdam Thomson 35748e27874SAdam Thomson /* DA732X_REG_HPL_OUT_OFFSET (addr=0x23/0x28) */ 35848e27874SAdam Thomson #define DA732X_HP_OUT_OFFSET_MASK (0xFF << 0) 35948e27874SAdam Thomson #define DA732X_HP_DAC_OFFSET_TRIM_VAL 0x7F 36048e27874SAdam Thomson 36148e27874SAdam Thomson /* DA732X_REG_HPL/R (addr=0x24/0x29) */ 36248e27874SAdam Thomson #define DA732X_HP_OUT_SIGN (1 << 0) 36348e27874SAdam Thomson #define DA732X_HP_OUT_COMP (1 << 1) 36448e27874SAdam Thomson #define DA732X_HP_OUT_RESERVED (1 << 2) 36548e27874SAdam Thomson #define DA732X_HP_OUT_COMPO (1 << 3) 36648e27874SAdam Thomson #define DA732X_HP_OUT_DAC_EN (1 << 4) 36748e27874SAdam Thomson #define DA732X_HP_OUT_HIZ_EN (1 << 5) 36848e27874SAdam Thomson #define DA732X_HP_OUT_HIZ_DIS (0 << 5) 36948e27874SAdam Thomson #define DA732X_HP_OUT_MUTE (1 << 6) 37048e27874SAdam Thomson #define DA732X_HP_OUT_EN (1 << 7) 37148e27874SAdam Thomson #define DA732X_HP_OUT_COMPO_SHIFT 3 37248e27874SAdam Thomson #define DA732X_HP_OUT_DAC_EN_SHIFT 4 37348e27874SAdam Thomson #define DA732X_HP_HIZ_SHIFT 5 37448e27874SAdam Thomson #define DA732X_HP_MUTE_SHIFT 6 37548e27874SAdam Thomson #define DA732X_HP_OUT_EN_SHIFT 7 37648e27874SAdam Thomson 37748e27874SAdam Thomson #define DA732X_OUT_HIZ_EN (1 << 5) 37848e27874SAdam Thomson #define DA732X_OUT_HIZ_DIS (0 << 5) 37948e27874SAdam Thomson 38048e27874SAdam Thomson /* DA732X_REG_HPL/R_VOL (addr=0x25/0x2A) */ 38148e27874SAdam Thomson #define DA732X_HP_VOL_VAL_MASK 0xF 38248e27874SAdam Thomson #define DA732X_HP_VOL_SHIFT 0 38348e27874SAdam Thomson #define DA732X_HP_VOL_VAL_MAX DA732X_HP_VOL_VAL_MASK 38448e27874SAdam Thomson 38548e27874SAdam Thomson /* DA732X_REG_LIN2/3/4 (addr=0x2B/0x2C/0x2D) */ 38648e27874SAdam Thomson #define DA732X_LOUT_VOL_SHIFT 0 38748e27874SAdam Thomson #define DA732X_LOUT_VOL_MASK 0x0F 38848e27874SAdam Thomson #define DA732X_LOUT_DAC_OFF (0 << 4) 38948e27874SAdam Thomson #define DA732X_LOUT_DAC_EN (1 << 4) 39048e27874SAdam Thomson #define DA732X_LOUT_HIZ_N_DIS (0 << 5) 39148e27874SAdam Thomson #define DA732X_LOUT_HIZ_N_EN (1 << 5) 39248e27874SAdam Thomson #define DA732X_LOUT_UNMUTED (0 << 6) 39348e27874SAdam Thomson #define DA732X_LOUT_MUTED (1 << 6) 39448e27874SAdam Thomson #define DA732X_LOUT_EN (0 << 7) 39548e27874SAdam Thomson #define DA732X_LOUT_DIS (1 << 7) 39648e27874SAdam Thomson #define DA732X_LOUT_DAC_EN_SHIFT 4 39748e27874SAdam Thomson #define DA732X_LOUT_MUTE_SHIFT 6 39848e27874SAdam Thomson #define DA732X_LIN_OUT_EN_SHIFT 7 39948e27874SAdam Thomson #define DA732X_LOUT_VOL_VAL_MAX DA732X_LOUT_VOL_MASK 40048e27874SAdam Thomson 40148e27874SAdam Thomson /* DA732X_REG_OUT_ZC_EN (addr=0x2E) */ 40248e27874SAdam Thomson #define DA732X_HPL_ZC_EN_SHIFT 0 40348e27874SAdam Thomson #define DA732X_HPR_ZC_EN_SHIFT 1 40448e27874SAdam Thomson #define DA732X_HPL_ZC_EN (1 << 0) 40548e27874SAdam Thomson #define DA732X_HPL_ZC_DIS (0 << 0) 40648e27874SAdam Thomson #define DA732X_HPR_ZC_EN (1 << 1) 40748e27874SAdam Thomson #define DA732X_HPR_ZC_DIS (0 << 1) 40848e27874SAdam Thomson #define DA732X_LIN2_ZC_EN (1 << 2) 40948e27874SAdam Thomson #define DA732X_LIN2_ZC_DIS (0 << 2) 41048e27874SAdam Thomson #define DA732X_LIN3_ZC_EN (1 << 3) 41148e27874SAdam Thomson #define DA732X_LIN3_ZC_DIS (0 << 3) 41248e27874SAdam Thomson #define DA732X_LIN4_ZC_EN (1 << 4) 41348e27874SAdam Thomson #define DA732X_LIN4_ZC_DIS (0 << 4) 41448e27874SAdam Thomson 41548e27874SAdam Thomson /* DA732X_REG_HP_LIN1_GNDSEL (addr=0x37) */ 41648e27874SAdam Thomson #define DA732X_HP_OUT_GNDSEL (1 << 0) 41748e27874SAdam Thomson 41848e27874SAdam Thomson /* DA732X_REG_CP_HP2 (addr=0x3a) */ 41948e27874SAdam Thomson #define DA732X_HP_CP_PULSESKIP (1 << 0) 42048e27874SAdam Thomson #define DA732X_HP_CP_REG (1 << 1) 42148e27874SAdam Thomson #define DA732X_HP_CP_EN (1 << 3) 42248e27874SAdam Thomson #define DA732X_HP_CP_DIS (0 << 3) 42348e27874SAdam Thomson 42448e27874SAdam Thomson /* DA732X_REG_CP_CTRL1 (addr=0x40) */ 42548e27874SAdam Thomson #define DA732X_CP_MODE_MASK (7 << 1) 42648e27874SAdam Thomson #define DA732X_CP_CTRL_STANDBY (0 << 1) 42748e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD6 (2 << 1) 42848e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD5 (3 << 1) 42948e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD4 (4 << 1) 43048e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD3 (5 << 1) 43148e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD2 (6 << 1) 43248e27874SAdam Thomson #define DA732X_CP_CTRL_CPVDD1 (7 << 1) 43348e27874SAdam Thomson #define DA723X_CP_DIS (0 << 7) 43448e27874SAdam Thomson #define DA732X_CP_EN (1 << 7) 43548e27874SAdam Thomson 43648e27874SAdam Thomson /* DA732X_REG_CP_CTRL2 (addr=0x41) */ 43748e27874SAdam Thomson #define DA732X_CP_BOOST (1 << 0) 43848e27874SAdam Thomson #define DA732X_CP_MANAGE_MAGNITUDE (2 << 2) 43948e27874SAdam Thomson 44048e27874SAdam Thomson /* DA732X_REG_CP_CTRL3 (addr=0x42) */ 44148e27874SAdam Thomson #define DA732X_CP_1MHZ (0 << 0) 44248e27874SAdam Thomson #define DA732X_CP_500KHZ (1 << 0) 44348e27874SAdam Thomson #define DA732X_CP_250KHZ (2 << 0) 44448e27874SAdam Thomson #define DA732X_CP_125KHZ (3 << 0) 44548e27874SAdam Thomson #define DA732X_CP_63KHZ (4 << 0) 44648e27874SAdam Thomson #define DA732X_CP_0KHZ (5 << 0) 44748e27874SAdam Thomson 44848e27874SAdam Thomson /* DA732X_REG_PLL_CTRL (addr=0x53) */ 44948e27874SAdam Thomson #define DA732X_PLL_INDIV_MASK (3 << 0) 45048e27874SAdam Thomson #define DA732X_PLL_SRM_EN (1 << 2) 45148e27874SAdam Thomson #define DA732X_PLL_EN (1 << 7) 45248e27874SAdam Thomson #define DA732X_PLL_BYPASS (0 << 0) 45348e27874SAdam Thomson 45448e27874SAdam Thomson /* DA732X_REG_CLK_CTRL (addr=0x54) */ 45548e27874SAdam Thomson #define DA732X_SR1_MASK (0xF) 45648e27874SAdam Thomson #define DA732X_SR2_MASK (0xF0) 45748e27874SAdam Thomson 45848e27874SAdam Thomson /* DA732X_REG_CLK_DSP (addr=0x5A) */ 45948e27874SAdam Thomson #define DA732X_DSP_FREQ_MASK (7 << 0) 46048e27874SAdam Thomson #define DA732X_DSP_FREQ_12MHZ (0 << 0) 46148e27874SAdam Thomson #define DA732X_DSP_FREQ_24MHZ (1 << 0) 46248e27874SAdam Thomson #define DA732X_DSP_FREQ_36MHZ (2 << 0) 46348e27874SAdam Thomson #define DA732X_DSP_FREQ_48MHZ (3 << 0) 46448e27874SAdam Thomson #define DA732X_DSP_FREQ_60MHZ (4 << 0) 46548e27874SAdam Thomson #define DA732X_DSP_FREQ_72MHZ (5 << 0) 46648e27874SAdam Thomson #define DA732X_DSP_FREQ_84MHZ (6 << 0) 46748e27874SAdam Thomson #define DA732X_DSP_FREQ_96MHZ (7 << 0) 46848e27874SAdam Thomson 46948e27874SAdam Thomson /* DA732X_REG_CLK_EN1 (addr=0x5B) */ 47048e27874SAdam Thomson #define DA732X_DSP_CLK_EN (1 << 0) 47148e27874SAdam Thomson #define DA732X_SYS3_CLK_EN (1 << 1) 47248e27874SAdam Thomson #define DA732X_DSP12_CLK_EN (1 << 2) 47348e27874SAdam Thomson #define DA732X_PC_CLK_EN (1 << 3) 47448e27874SAdam Thomson #define DA732X_MCLK_SQR_EN (1 << 7) 47548e27874SAdam Thomson 47648e27874SAdam Thomson /* DA732X_REG_CLK_EN2 (addr=0x5C) */ 47748e27874SAdam Thomson #define DA732X_UART_CLK_EN (1 << 1) 47848e27874SAdam Thomson #define DA732X_CP_CLK_EN (1 << 2) 47948e27874SAdam Thomson #define DA732X_CP_CLK_DIS (0 << 2) 48048e27874SAdam Thomson 48148e27874SAdam Thomson /* DA732X_REG_CLK_EN3 (addr=0x5D) */ 48248e27874SAdam Thomson #define DA732X_ADCA_BB_CLK_EN (1 << 0) 48348e27874SAdam Thomson #define DA732X_ADCC_BB_CLK_EN (1 << 4) 48448e27874SAdam Thomson 48548e27874SAdam Thomson /* DA732X_REG_CLK_EN4 (addr=0x5E) */ 48648e27874SAdam Thomson #define DA732X_DACA_BB_CLK_EN (1 << 0) 48748e27874SAdam Thomson #define DA732X_DACC_BB_CLK_EN (1 << 4) 48848e27874SAdam Thomson #define DA732X_DACA_BB_CLK_SHIFT 0 48948e27874SAdam Thomson #define DA732X_DACC_BB_CLK_SHIFT 4 49048e27874SAdam Thomson 49148e27874SAdam Thomson /* DA732X_REG_CLK_EN5 (addr=0x5F) */ 49248e27874SAdam Thomson #define DA732X_DACE_BB_CLK_EN (1 << 0) 49348e27874SAdam Thomson #define DA732X_DACE_BB_CLK_SHIFT 0 49448e27874SAdam Thomson 49548e27874SAdam Thomson /* DA732X_REG_AIF_MCLK (addr=0x60) */ 49648e27874SAdam Thomson #define DA732X_AIFM_FRAME_64 (1 << 2) 49748e27874SAdam Thomson #define DA732X_AIFM_SRC_SEL_AIFA (1 << 6) 49848e27874SAdam Thomson #define DA732X_CLK_GENERATION_AIF_A (1 << 4) 49948e27874SAdam Thomson #define DA732X_NO_CLK_GENERATION 0x0 50048e27874SAdam Thomson 50148e27874SAdam Thomson /* DA732X_REG_AIFA1 (addr=0x61) */ 50248e27874SAdam Thomson #define DA732X_AIF_WORD_MASK (0x3 << 0) 50348e27874SAdam Thomson #define DA732X_AIF_WORD_16 (0 << 0) 50448e27874SAdam Thomson #define DA732X_AIF_WORD_20 (1 << 0) 50548e27874SAdam Thomson #define DA732X_AIF_WORD_24 (2 << 0) 50648e27874SAdam Thomson #define DA732X_AIF_WORD_32 (3 << 0) 50748e27874SAdam Thomson #define DA732X_AIF_TDM_MONO_SHIFT (1 << 6) 50848e27874SAdam Thomson #define DA732X_AIF1_CLK_MASK (1 << 7) 50948e27874SAdam Thomson #define DA732X_AIF_SLAVE (0 << 7) 51048e27874SAdam Thomson #define DA732X_AIF_CLK_FROM_SRC (1 << 7) 51148e27874SAdam Thomson 51248e27874SAdam Thomson /* DA732X_REG_AIFA3 (addr=0x63) */ 51348e27874SAdam Thomson #define DA732X_AIF_MODE_SHIFT 0 51448e27874SAdam Thomson #define DA732X_AIF_MODE_MASK 0x3 51548e27874SAdam Thomson #define DA732X_AIF_I2S_MODE (0 << 0) 51648e27874SAdam Thomson #define DA732X_AIF_LEFT_J_MODE (1 << 0) 51748e27874SAdam Thomson #define DA732X_AIF_RIGHT_J_MODE (2 << 0) 51848e27874SAdam Thomson #define DA732X_AIF_DSP_MODE (3 << 0) 51948e27874SAdam Thomson #define DA732X_AIF_WCLK_INV (1 << 4) 52048e27874SAdam Thomson #define DA732X_AIF_BCLK_INV (1 << 5) 52148e27874SAdam Thomson #define DA732X_AIF_EN (1 << 7) 52248e27874SAdam Thomson #define DA732X_AIF_EN_SHIFT 7 52348e27874SAdam Thomson 52448e27874SAdam Thomson /* DA732X_REG_PC_CTRL (addr=0x6a) */ 52548e27874SAdam Thomson #define DA732X_PC_PULSE_AIFA (0 << 0) 52648e27874SAdam Thomson #define DA732X_PC_PULSE_AIFB (1 << 0) 52748e27874SAdam Thomson #define DA732X_PC_RESYNC_AUT (1 << 6) 52848e27874SAdam Thomson #define DA732X_PC_RESYNC_NOT_AUT (0 << 6) 52948e27874SAdam Thomson #define DA732X_PC_SAME (1 << 7) 53048e27874SAdam Thomson 53148e27874SAdam Thomson /* DA732X_REG_DATA_ROUTE (addr=0x70) */ 53248e27874SAdam Thomson #define DA732X_ADC1_TO_AIFA (0 << 0) 53348e27874SAdam Thomson #define DA732X_DSP_TO_AIFA (1 << 0) 53448e27874SAdam Thomson #define DA732X_ADC2_TO_AIFB (0 << 1) 53548e27874SAdam Thomson #define DA732X_DSP_TO_AIFB (1 << 1) 53648e27874SAdam Thomson #define DA732X_AIFA_TO_DAC1L (0 << 2) 53748e27874SAdam Thomson #define DA732X_DSP_TO_DAC1L (1 << 2) 53848e27874SAdam Thomson #define DA732X_AIFA_TO_DAC1R (0 << 3) 53948e27874SAdam Thomson #define DA732X_DSP_TO_DAC1R (1 << 3) 54048e27874SAdam Thomson #define DA732X_AIFB_TO_DAC2L (0 << 4) 54148e27874SAdam Thomson #define DA732X_DSP_TO_DAC2L (1 << 4) 54248e27874SAdam Thomson #define DA732X_AIFB_TO_DAC2R (0 << 5) 54348e27874SAdam Thomson #define DA732X_DSP_TO_DAC2R (1 << 5) 54448e27874SAdam Thomson #define DA732X_AIFB_TO_DAC3 (0 << 6) 54548e27874SAdam Thomson #define DA732X_DSP_TO_DAC3 (1 << 6) 54648e27874SAdam Thomson #define DA732X_BYPASS_DSP (0 << 0) 54748e27874SAdam Thomson #define DA732X_ALL_TO_DSP (0x7F << 0) 54848e27874SAdam Thomson 54948e27874SAdam Thomson /* DA732X_REG_DSP_CTRL (addr=0x71) */ 55048e27874SAdam Thomson #define DA732X_DIGITAL_EN (1 << 0) 55148e27874SAdam Thomson #define DA732X_DIGITAL_RESET (0 << 0) 55248e27874SAdam Thomson #define DA732X_DSP_CORE_EN (1 << 1) 55348e27874SAdam Thomson #define DA732X_DSP_CORE_RESET (0 << 1) 55448e27874SAdam Thomson 55548e27874SAdam Thomson /* DA732X_REG_SPARE1_OUT (addr=0x7D)*/ 55648e27874SAdam Thomson #define DA732X_HP_DRIVER_EN (1 << 0) 55748e27874SAdam Thomson #define DA732X_HP_GATE_LOW (1 << 2) 55848e27874SAdam Thomson #define DA732X_HP_LOOP_GAIN_CTRL (1 << 3) 55948e27874SAdam Thomson 56048e27874SAdam Thomson /* DA732X_REG_ID (addr=0x81)*/ 56148e27874SAdam Thomson #define DA732X_ID_MINOR_MASK (0xF << 0) 56248e27874SAdam Thomson #define DA732X_ID_MAJOR_MASK (0xF << 4) 56348e27874SAdam Thomson 56448e27874SAdam Thomson /* DA732X_REG_ADC1/2_PD (addr=0x90/0x98) */ 56548e27874SAdam Thomson #define DA732X_ADC_RST_MASK (0x3 << 0) 56648e27874SAdam Thomson #define DA732X_ADC_PD_MASK (0x3 << 2) 56748e27874SAdam Thomson #define DA732X_ADC_SET_ACT (0x3 << 0) 56848e27874SAdam Thomson #define DA732X_ADC_SET_RST (0x0 << 0) 56948e27874SAdam Thomson #define DA732X_ADC_ON (0x3 << 2) 57048e27874SAdam Thomson #define DA732X_ADC_OFF (0x0 << 2) 57148e27874SAdam Thomson 57248e27874SAdam Thomson /* DA732X_REG_ADC1/2_SEL (addr=0x94/0x9C) */ 57348e27874SAdam Thomson #define DA732X_ADC_VOL_VAL_MASK 0x7 57448e27874SAdam Thomson #define DA732X_ADCL_VOL_SHIFT 0 57548e27874SAdam Thomson #define DA732X_ADCR_VOL_SHIFT 4 57648e27874SAdam Thomson #define DA732X_ADCL_EN_SHIFT 2 57748e27874SAdam Thomson #define DA732X_ADCR_EN_SHIFT 3 57848e27874SAdam Thomson #define DA732X_ADCL_EN (1 << 2) 57948e27874SAdam Thomson #define DA732X_ADCR_EN (1 << 3) 58048e27874SAdam Thomson #define DA732X_ADC_VOL_VAL_MAX DA732X_ADC_VOL_VAL_MASK 58148e27874SAdam Thomson 58248e27874SAdam Thomson /* 58348e27874SAdam Thomson * DA732X_REG_ADC1/2_HPF (addr=0x93/0x9b) 58448e27874SAdam Thomson * DA732x_REG_DAC1/2/3_HPG (addr=0xA5/0xB5/0xC5) 58548e27874SAdam Thomson */ 58648e27874SAdam Thomson #define DA732X_HPF_MUSIC_EN (1 << 3) 58748e27874SAdam Thomson #define DA732X_HPF_VOICE_EN ((1 << 3) | (1 << 7)) 58848e27874SAdam Thomson #define DA732X_HPF_MASK ((1 << 3) | (1 << 7)) 58948e27874SAdam Thomson #define DA732X_HPF_DIS ((0 << 3) | (0 << 7)) 59048e27874SAdam Thomson 59148e27874SAdam Thomson /* DA732X_REG_DAC1/2/3_VOL */ 59248e27874SAdam Thomson #define DA732X_DAC_VOL_VAL_MASK 0x7F 59348e27874SAdam Thomson #define DA732X_DAC_VOL_SHIFT 0 59448e27874SAdam Thomson #define DA732X_DAC_VOL_VAL_MAX DA732X_DAC_VOL_VAL_MASK 59548e27874SAdam Thomson 59648e27874SAdam Thomson /* DA732X_REG_DAC1/2/3_SEL (addr=0xA3/0xB3/0xC3) */ 59748e27874SAdam Thomson #define DA732X_DACL_EN_SHIFT 3 59848e27874SAdam Thomson #define DA732X_DACR_EN_SHIFT 7 59948e27874SAdam Thomson #define DA732X_DACL_MUTE_SHIFT 2 60048e27874SAdam Thomson #define DA732X_DACR_MUTE_SHIFT 6 60148e27874SAdam Thomson #define DA732X_DACL_EN (1 << 3) 60248e27874SAdam Thomson #define DA732X_DACR_EN (1 << 7) 60348e27874SAdam Thomson #define DA732X_DACL_SDM (1 << 0) 60448e27874SAdam Thomson #define DA732X_DACR_SDM (1 << 4) 60548e27874SAdam Thomson #define DA732X_DACL_MUTE (1 << 2) 60648e27874SAdam Thomson #define DA732X_DACR_MUTE (1 << 6) 60748e27874SAdam Thomson 60848e27874SAdam Thomson /* DA732X_REG_DAC_SOFTMUTE (addr=0xA4/0xB4/0xC4) */ 60948e27874SAdam Thomson #define DA732X_SOFTMUTE_EN (1 << 7) 61048e27874SAdam Thomson #define DA732X_GAIN_RAMPED (1 << 6) 61148e27874SAdam Thomson #define DA732X_16_SAMPLES (4 << 0) 61248e27874SAdam Thomson #define DA732X_SOFTMUTE_MASK (1 << 7) 61348e27874SAdam Thomson #define DA732X_SOFTMUTE_SHIFT 7 61448e27874SAdam Thomson 61548e27874SAdam Thomson /* 61648e27874SAdam Thomson * DA732x_REG_ADC1/2_EQ12 (addr=0x95/0x9D) 61748e27874SAdam Thomson * DA732x_REG_ADC1/2_EQ34 (addr=0x96/0x9E) 61848e27874SAdam Thomson * DA732x_REG_ADC1/2_EQ5 (addr=0x97/0x9F) 61948e27874SAdam Thomson * DA732x_REG_DAC1/2/3_EQ12 (addr=0xA5/0xB5/0xC5) 62048e27874SAdam Thomson * DA732x_REG_DAC1/2/3_EQ34 (addr=0xA6/0xB6/0xC6) 62148e27874SAdam Thomson * DA732x_REG_DAC1/2/3_EQ5 (addr=0xA7/0xB7/0xB7) 62248e27874SAdam Thomson */ 62348e27874SAdam Thomson #define DA732X_EQ_VOL_VAL_MASK 0xF 62448e27874SAdam Thomson #define DA732X_EQ_BAND1_SHIFT 0 62548e27874SAdam Thomson #define DA732X_EQ_BAND2_SHIFT 4 62648e27874SAdam Thomson #define DA732X_EQ_BAND3_SHIFT 0 62748e27874SAdam Thomson #define DA732X_EQ_BAND4_SHIFT 4 62848e27874SAdam Thomson #define DA732X_EQ_BAND5_SHIFT 0 62948e27874SAdam Thomson #define DA732X_EQ_OVERALL_SHIFT 4 63048e27874SAdam Thomson #define DA732X_EQ_OVERALL_VOL_VAL_MASK 0x3 63148e27874SAdam Thomson #define DA732X_EQ_DIS (0 << 7) 63248e27874SAdam Thomson #define DA732X_EQ_EN (1 << 7) 63348e27874SAdam Thomson #define DA732X_EQ_EN_SHIFT 7 63448e27874SAdam Thomson #define DA732X_EQ_VOL_VAL_MAX DA732X_EQ_VOL_VAL_MASK 63548e27874SAdam Thomson #define DA732X_EQ_OVERALL_VOL_VAL_MAX DA732X_EQ_OVERALL_VOL_VAL_MASK 63648e27874SAdam Thomson 63748e27874SAdam Thomson /* DA732X_REG_DMA_CMD (addr=0xD3) */ 63848e27874SAdam Thomson #define DA732X_SEL_DSP_DMA_MASK (3 << 0) 63948e27874SAdam Thomson #define DA732X_SEL_DSP_DMA_DIS (0 << 0) 64048e27874SAdam Thomson #define DA732X_SEL_DSP_DMA_PMEM (1 << 0) 64148e27874SAdam Thomson #define DA732X_SEL_DSP_DMA_XMEM (2 << 0) 64248e27874SAdam Thomson #define DA732X_SEL_DSP_DMA_YMEM (3 << 0) 64348e27874SAdam Thomson #define DA732X_DSP_RW_MASK (1 << 4) 64448e27874SAdam Thomson #define DA732X_DSP_DMA_WRITE (0 << 4) 64548e27874SAdam Thomson #define DA732X_DSP_DMA_READ (1 << 4) 64648e27874SAdam Thomson 64748e27874SAdam Thomson /* DA732X_REG_DMA_STATUS (addr=0xDA) */ 64848e27874SAdam Thomson #define DA732X_DSP_DMA_FREE (0 << 0) 64948e27874SAdam Thomson #define DA732X_DSP_DMA_BUSY (1 << 0) 65048e27874SAdam Thomson 65148e27874SAdam Thomson #endif /* __DA732X_REG_H_ */ 652