blob: 43d874d9f3f01df8b4a58fc2b93d5c284b8f8d75 [file] [edit]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* ad82128.h -- ad82128 ALSA SoC Audio driver
*
* Copyright 1998 Elite Semiconductor Memory Technology
*
* Author: ESMT Audio/Power Product BU Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __AD82128_H__
#define __AD82128_H__
#define AD82128_REGISTER_COUNT 134
#define AD82128_RAM_TABLE_COUNT 120
// #define PD_CRL_PIN_INDEX 122
/* Register Address Map */
#define AD82128_STATE_CTRL1_REG 0x00
#define AD82128_STATE_CTRL2_REG 0x01
#define AD82128_STATE_CTRL3_REG 0x02
#define AD82128_VOLUME_CTRL_REG 0x03
#define AD82128_VOLUME_CTRL_REG_CH1 0x04
#define AD82128_VOLUME_CTRL_REG_CH2 0x05
#define AD82128_STATE_CTRL5_REG 0x1A
#define CFADDR 0x1d
#define A1CF1 0x1e
#define A1CF2 0x1f
#define A1CF3 0x20
#define A1CF4 0x21
#define CFUD 0x32
#define AD82128_ANALOG_CTRL_REG 0x5e
#define AD82128_FAULT_REG 0x7D
#define AD82128_MAX_REG 0x85
/* AD82128_STATE_CTRL2_REG */
#define AD82128_SSZ_DS BIT(5)
/* AD82128_STATE_CTRL1_REG */
#define AD82128_SAIF_I2S (0x0 << 5)
#define AD82128_SAIF_LEFTJ (0x1 << 5)
#define AD82128_SAIF_FORMAT_MASK GENMASK(7, 5)
/* AD82128_STATE_CTRL3_REG */
#define AD82128_MUTE BIT(6)
/* AD82128_STATE_CTRL5_REG */
#define AD82128_SW_RESET BIT(5)
/* AD82128_ANALOG_CTRL_REG */
#define AD82128_ANALOG_GAIN_15_5DBV (0x0)
#define AD82128_ANALOG_GAIN_14_0DBV (0x1)
#define AD82128_ANALOG_GAIN_13_0DBV (0x2)
#define AD82128_ANALOG_GAIN_11_5DBV (0x3)
#define AD82128_ANALOG_GAIN_MASK GENMASK(1, 0)
#define AD82128_ANALOG_GAIN_SHIFT (0x0)
/* AD82128_FAULT_REG */
#define AD82128_CLKE BIT(2)
#define AD82128_OCE BIT(7)
#define AD82128_DCE BIT(4)
#define AD82128_OTE BIT(6)
static int m_reg_tab[AD82128_REGISTER_COUNT][2] = {
{ 0x00, 0x00 }, //##State_Control_1
{ 0x01, 0x81 }, //##State_Control_2
{ 0x02, 0x7f }, //##State_Control_3
{ 0x03, 0x00 }, //##Master_volume_control
{ 0x04, 0x18 }, //##Channel_1_volume_control
{ 0x05, 0x18 }, //##Channel_2_volume_control
{ 0x06, 0x18 }, //##Channel_3_volume_control
{ 0x07, 0x18 }, //##Channel_4_volume_control
{ 0x08, 0x18 }, //##Channel_5_volume_control
{ 0x09, 0x18 }, //##Channel_6_volume_control
{ 0x0a, 0x00 }, //##Reserve
{ 0x0b, 0x00 }, //##Reserve
{ 0x0c, 0x90 }, //##State_Control_4
{ 0x0d, 0x80 }, //##Channel_1_configuration_registers
{ 0x0e, 0x80 }, //##Channel_2_configuration_registers
{ 0x0f, 0x80 }, //##Channel_3_configuration_registers
{ 0x10, 0x80 }, //##Channel_4_configuration_registers
{ 0x11, 0x80 }, //##Channel_5_configuration_registers
{ 0x12, 0x80 }, //##Channel_6_configuration_registers
{ 0x13, 0x80 }, //##Channel_7_configuration_registers
{ 0x14, 0x80 }, //##Channel_8_configuration_registers
{ 0x15, 0x6a }, //##Reserve
{ 0x16, 0x6a }, //##Reserve
{ 0x17, 0x6a }, //##Reserve
{ 0x18, 0x6a }, //##Reserve
{ 0x19, 0x00 }, //##Reserve
{ 0x1a, 0x28 }, //##State_Control_5
{ 0x1b, 0x80 }, //##State_Control_6
{ 0x1c, 0x20 }, //##State_Control_7
{ 0x1d, 0x7f }, //##Coefficient_RAM_Base_Address
{ 0x1e, 0x00 }, //##First_4bits_of_coefficients_A1
{ 0x1f, 0x00 }, //##Second_8bits_of_coefficients_A1
{ 0x20, 0x00 }, //##Third_8bits_of_coefficients_A1
{ 0x21, 0x00 }, //##Fourth_bits_of_coefficients_A1
{ 0x22, 0x00 }, //##First_4bits_of_coefficients_A2
{ 0x23, 0x00 }, //##Second_8bits_of_coefficients_A2
{ 0x24, 0x00 }, //##Third_8bits_of_coefficients_A2
{ 0x25, 0x00 }, //##Fourth_8bits_of_coefficients_A2
{ 0x26, 0x00 }, //##First_4bits_of_coefficients_B1
{ 0x27, 0x00 }, //##Second_8bits_of_coefficients_B1
{ 0x28, 0x00 }, //##Third_8bits_of_coefficients_B1
{ 0x29, 0x00 }, //##Fourth_8bits_of_coefficients_B1
{ 0x2a, 0x00 }, //##First_4bits_of_coefficients_B2
{ 0x2b, 0x00 }, //##Second_8bits_of_coefficients_B2
{ 0x2c, 0x00 }, //##Third_8bits_of_coefficients_B2
{ 0x2d, 0x00 }, //##Fourth_bits_of_coefficients_B2
{ 0x2e, 0x00 }, //##First_4bits_of_coefficients_A0
{ 0x2f, 0x80 }, //##Second_8bits_of_coefficients_A0
{ 0x30, 0x00 }, //##Third_8bits_of_coefficients_A0
{ 0x31, 0x00 }, //##Fourth_8bits_of_coefficients_A0
{ 0x32, 0x00 }, //##Coefficient_RAM_RW_control
{ 0x33, 0x06 }, //##State_Control_8
{ 0x34, 0xf0 }, //##State_Control_9
{ 0x35, 0x00 }, //##Volume_Fine_tune
{ 0x36, 0x00 }, //##Volume_Fine_tune
{ 0x37, 0x04 }, //##Device_ID_register
{ 0x38, 0x00 }, //##Level_Meter_Clear
{ 0x39, 0x00 }, //##Power_Meter_Clear
{ 0x3a, 0x00 }, //##First_8bits_of_C1_Level_Meter
{ 0x3b, 0x00 }, //##Second_8bits_of_C1_Level_Meter
{ 0x3c, 0xc0 }, //##Third_8bits_of_C1_Level_Meter
{ 0x3d, 0x83 }, //##Fourth_8bits_of_C1_Level_Meter
{ 0x3e, 0x00 }, //##First_8bits_of_C2_Level_Meter
{ 0x3f, 0x00 }, //##Second_8bits_of_C2_Level_Meter
{ 0x40, 0xc0 }, //##Third_8bits_of_C2_Level_Meter
{ 0x41, 0x94 }, //##Fourth_8bits_of_C2_Level_Meter
{ 0x42, 0x00 }, //##First_8bits_of_C3_Level_Meter
{ 0x43, 0x00 }, //##Second_8bits_of_C3_Level_Meter
{ 0x44, 0x00 }, //##Third_8bits_of_C3_Level_Meter
{ 0x45, 0x00 }, //##Fourth_8bits_of_C3_Level_Meter
{ 0x46, 0x00 }, //##First_8bits_of_C4_Level_Meter
{ 0x47, 0x00 }, //##Second_8bits_of_C4_Level_Meter
{ 0x48, 0x00 }, //##Third_8bits_of_C4_Level_Meter
{ 0x49, 0x00 }, //##Fourth_8bits_of_C4_Level_Meter
{ 0x4a, 0x00 }, //##First_8bits_of_C5_Level_Meter
{ 0x4b, 0x00 }, //##Second_8bits_of_C5_Level_Meter
{ 0x4c, 0x00 }, //##Third_8bits_of_C5_Level_Meter
{ 0x4d, 0x00 }, //##Fourth_8bits_of_C5_Level_Meter
{ 0x4e, 0x00 }, //##First_8bits_of_C6_Level_Meter
{ 0x4f, 0x00 }, //##Second_8bits_of_C6_Level_Meter
{ 0x50, 0x00 }, //##Third_8bits_of_C6_Level_Meter
{ 0x51, 0x00 }, //##Fourth_8bits_of_C6_Level_Meter
{ 0x52, 0x00 }, //##First_8bits_of_C7_Level_Meter
{ 0x53, 0x00 }, //##Second_8bits_of_C7_Level_Meter
{ 0x54, 0x00 }, //##Third_8bits_of_C7_Level_Meter
{ 0x55, 0x00 }, //##Fourth_8bits_of_C7_Level_Meter
{ 0x56, 0x00 }, //##First_8bits_of_C8_Level_Meter
{ 0x57, 0x00 }, //##Second_8bits_of_C8_Level_Meter
{ 0x58, 0x00 }, //##Third_8bits_of_C8_Level_Meter
{ 0x59, 0x00 }, //##Fourth_8bits_of_C8_Level_Meter
{ 0x5a, 0x05 }, //##I2S_data_output_selection_register
{ 0x5b, 0x00 }, //##Mono_Key_High_Byte
{ 0x5c, 0x00 }, //##Mono_Key_Low_Byte
{ 0x5d, 0x07 }, //##Hires_Item
{ 0x5e, 0x00 }, //##Analog_gain
{ 0x5f, 0x00 }, //##Reserve
{ 0x60, 0x00 }, //##Reserve
{ 0x61, 0x00 }, //##Reserve
{ 0x62, 0x00 }, //##Reserve
{ 0x63, 0x00 }, //##Reserve
{ 0x64, 0x00 }, //##Reserve
{ 0x65, 0x00 }, //##Reserve
{ 0x66, 0x00 }, //##Reserve
{ 0x67, 0x00 }, //##Reserve
{ 0x68, 0x00 }, //##Reserve
{ 0x69, 0x00 }, //##Reserve
{ 0x6a, 0x00 }, //##Reserve
{ 0x6b, 0x00 }, //##Reserve
{ 0x6c, 0x11 }, //##FS_and_PMF_read_out
{ 0x6d, 0x00 }, //##OC_level_setting
{ 0x6e, 0x40 }, //##DTC_setting
{ 0x6f, 0x74 }, //##Testmode_register0
{ 0x70, 0x07 }, //##Reserve
{ 0x71, 0x40 }, //##Testmode_register1
{ 0x72, 0x38 }, //##Testmode_register2
{ 0x73, 0x18 }, //##Dither_signal_setting
{ 0x74, 0x06 }, //##Error_delay
{ 0x75, 0x55 }, //##First_8bits_of_MBIST_User_Program_Even
{ 0x76, 0x55 }, //##Second_8bits_of_MBIST_User_Program_Even
{ 0x77, 0x55 }, //##Third_8bits_of_MBIST_User_Program_Even
{ 0x78, 0x55 }, //##Fourth_8bits_of_MBIST_User_Program_Even
{ 0x79, 0x55 }, //##First_8bits_of_MBIST_User_Program_Odd
{ 0x7a, 0x55 }, //##Second_8bits_of_MBIST_User_Program_Odd
{ 0x7b, 0x55 }, //##Third_8bits_of_MBIST_User_Program_Odd
{ 0x7c, 0x55 }, //##Fourth_8bits_of_MBIST_User_Program_Odd
{ 0x7d, 0xfe }, //##Error_register
{ 0x7e, 0xfe }, //##Error_latch_register
{ 0x7f, 0x00 }, //##Error_clear_register
{ 0x80, 0x00 }, //##Protection_register_set
{ 0x81, 0x00 }, //##Memory_MBIST_status
{ 0x82, 0x00 }, //##PWM_output_control
{ 0x83, 0x00 }, //##Testmode_control_register
{ 0x84, 0x00 }, //##RAM1_test_register_address
{ 0x85, 0x00 }, //##First_8bits_of_RAM1_data
};
static int m_ram1_tab[][5] = {
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ1_A1
{ 0x01, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ1_A2
{ 0x02, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ1_B1
{ 0x03, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ1_B2
{ 0x04, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ1_A0
{ 0x05, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ2_A1
{ 0x06, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ2_A2
{ 0x07, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ2_B1
{ 0x08, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ2_B2
{ 0x09, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ2_A0
{ 0x0a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ3_A1
{ 0x0b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ3_A2
{ 0x0c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ3_B1
{ 0x0d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ3_B2
{ 0x0e, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ3_A0
{ 0x0f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ4_A1
{ 0x10, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ4_A2
{ 0x11, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ4_B1
{ 0x12, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ4_B2
{ 0x13, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ4_A0
{ 0x14, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ5_A1
{ 0x15, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ5_A2
{ 0x16, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ5_B1
{ 0x17, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ5_B2
{ 0x18, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ5_A0
{ 0x19, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ6_A1
{ 0x1a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ6_A2
{ 0x1b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ6_B1
{ 0x1c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ6_B2
{ 0x1d, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ6_A0
{ 0x1e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ7_A1
{ 0x1f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ7_A2
{ 0x20, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ7_B1
{ 0x21, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ7_B2
{ 0x22, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ7_A0
{ 0x23, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ8_A1
{ 0x24, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ8_A2
{ 0x25, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ8_B1
{ 0x26, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ8_B2
{ 0x27, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ8_A0
{ 0x28, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ9_A1
{ 0x29, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ9_A2
{ 0x2a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ9_B1
{ 0x2b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ9_B2
{ 0x2c, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ9_A0
{ 0x2d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ10_A1
{ 0x2e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ10_A2
{ 0x2f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ10_B1
{ 0x30, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ10_B2
{ 0x31, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ10_A0
{ 0x32, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ11_A1
{ 0x33, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ11_A2
{ 0x34, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ11_B1
{ 0x35, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ11_B2
{ 0x36, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ11_A0
{ 0x37, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ12_A1
{ 0x38, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ12_A2
{ 0x39, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ12_B1
{ 0x3a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ12_B2
{ 0x3b, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ12_A0
{ 0x3c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ13_A1
{ 0x3d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ13_A2
{ 0x3e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ13_B1
{ 0x3f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ13_B2
{ 0x40, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ13_A0
{ 0x41, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ14_A1
{ 0x42, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ14_A2
{ 0x43, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ14_B1
{ 0x44, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ14_B2
{ 0x45, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ14_A0
{ 0x46, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ15_A1
{ 0x47, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ15_A2
{ 0x48, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ15_B1
{ 0x49, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ15_B2
{ 0x4a, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ15_A0
{ 0x4b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ16_A1
{ 0x4c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ16_A2
{ 0x4d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ16_B1
{ 0x4e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_EQ16_B2
{ 0x4f, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_EQ16_A0
{ 0x50, 0x07, 0xff, 0xff, 0xf0 }, //##Channel_1_Mixer1
{ 0x51, 0x00, 0x00, 0x00, 0x00 }, //##Channel_1_Mixer2
{ 0x52, 0x00, 0x7e, 0x88, 0xe0 }, //##Channel_1_Prescale
{ 0x53, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_Postscale
{ 0x54, 0x02, 0x00, 0x00, 0x00 }, //##CH1.2_Power_Clipping
{ 0x55, 0x00, 0x00, 0x01, 0xa0 }, //##Noise_Gate_Attack_Level
{ 0x56, 0x00, 0x00, 0x05, 0x30 }, //##Noise_Gate_Release_Level
{ 0x57, 0x00, 0x01, 0x00, 0x00 }, //##DRC1_Energy_Coefficient
{ 0x58, 0x00, 0x01, 0x00, 0x00 }, //##DRC2_Energy_Coefficient
{ 0x59, 0x00, 0x01, 0x00, 0x00 }, //##DRC3_Energy_Coefficient
{ 0x5a, 0x00, 0x01, 0x00, 0x00 }, //##DRC4_Energy_Coefficient
{ 0x5b, 0x00, 0x00, 0x19, 0x04 }, //##DRC1_Power_Meter
{ 0x5c, 0x00, 0x00, 0x00, 0x00 }, //##DRC3_Power_Meter
{ 0x5d, 0x00, 0x00, 0x00, 0x00 }, //##DRC5_Power_Meter
{ 0x5e, 0x00, 0x00, 0x00, 0x00 }, //##DRC7_Power_Meter
{ 0x5f, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_DRC_GAIN1
{ 0x60, 0x02, 0x00, 0x00, 0x00 }, //##Channel_1_DRC_GAIN2
{ 0x61, 0x0e, 0x00, 0x00, 0x00 }, //##Channel_1_DRC_GAIN3
{ 0x62, 0x0e, 0x01, 0xc0, 0x70 }, //##DRC1_FF_threshold
{ 0x63, 0x02, 0x00, 0x00, 0x00 }, //##DRC1_FF_slope
{ 0x64, 0x00, 0x00, 0x40, 0x00 }, //##DRC1_FF_aa
{ 0x65, 0x00, 0x00, 0x40, 0x00 }, //##DRC1_FF_da
{ 0x66, 0x0e, 0x01, 0xc0, 0x70 }, //##DRC2_FF_threshold
{ 0x67, 0x02, 0x00, 0x00, 0x00 }, //##DRC2_FF_slope
{ 0x68, 0x00, 0x00, 0x40, 0x00 }, //##DRC2_FF_aa
{ 0x69, 0x00, 0x00, 0x40, 0x00 }, //##DRC2_FF_da
{ 0x6a, 0x0e, 0x01, 0xc0, 0x70 }, //##DRC3_FF_threshold
{ 0x6b, 0x02, 0x00, 0x00, 0x00 }, //##DRC3_FF_slope
{ 0x6c, 0x00, 0x00, 0x40, 0x00 }, //##DRC3_FF_aa
{ 0x6d, 0x00, 0x00, 0x40, 0x00 }, //##DRC3_FF_da
{ 0x6e, 0x0e, 0x01, 0xc0, 0x70 }, //##DRC4_FF_threshold
{ 0x6f, 0x02, 0x00, 0x00, 0x00 }, //##DRC4_FF_slope
{ 0x70, 0x00, 0x00, 0x40, 0x00 }, //##DRC4_FF_aa
{ 0x71, 0x00, 0x00, 0x40, 0x00 }, //##DRC4_FF_da
{ 0x72, 0x00, 0x7f, 0xf8, 0x01 }, //##DRC1_gain
{ 0x73, 0x00, 0x00, 0x00, 0x00 }, //##DRC3_gain
{ 0x74, 0x00, 0x00, 0x00, 0x00 }, //##DRC5_gain
{ 0x75, 0x00, 0x00, 0x00, 0x00 }, //##DRC7_gain
{ 0x76, 0x00, 0x80, 0x00, 0x00 }, //##I2SO_LCH_gain
{ 0x77, 0x02, 0x00, 0x00, 0x00 }, //##SRS_gain
};
static int m_ram2_tab[][5] = {
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ1_A1
{ 0x01, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ1_A2
{ 0x02, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ1_B1
{ 0x03, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ1_B2
{ 0x04, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ1_A0
{ 0x05, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ2_A1
{ 0x06, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ2_A2
{ 0x07, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ2_B1
{ 0x08, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ2_B2
{ 0x09, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ2_A0
{ 0x0a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ3_A1
{ 0x0b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ3_A2
{ 0x0c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ3_B1
{ 0x0d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ3_B2
{ 0x0e, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ3_A0
{ 0x0f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ4_A1
{ 0x10, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ4_A2
{ 0x11, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ4_B1
{ 0x12, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ4_B2
{ 0x13, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ4_A0
{ 0x14, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ5_A1
{ 0x15, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ5_A2
{ 0x16, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ5_B1
{ 0x17, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ5_B2
{ 0x18, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ5_A0
{ 0x19, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ6_A1
{ 0x1a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ6_A2
{ 0x1b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ6_B1
{ 0x1c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ6_B2
{ 0x1d, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ6_A0
{ 0x1e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ7_A1
{ 0x1f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ7_A2
{ 0x20, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ7_B1
{ 0x21, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ7_B2
{ 0x22, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ7_A0
{ 0x23, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ8_A1
{ 0x24, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ8_A2
{ 0x25, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ8_B1
{ 0x26, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ8_B2
{ 0x27, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ8_A0
{ 0x28, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ9_A1
{ 0x29, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ9_A2
{ 0x2a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ9_B1
{ 0x2b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ9_B2
{ 0x2c, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ9_A0
{ 0x2d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ10_A1
{ 0x2e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ10_A2
{ 0x2f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ10_B1
{ 0x30, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ10_B2
{ 0x31, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ10_A0
{ 0x32, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ11_A1
{ 0x33, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ11_A2
{ 0x34, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ11_B1
{ 0x35, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ11_B2
{ 0x36, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ11_A0
{ 0x37, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ12_A1
{ 0x38, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ12_A2
{ 0x39, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ12_B1
{ 0x3a, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ12_B2
{ 0x3b, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ12_A0
{ 0x3c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ13_A1
{ 0x3d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ13_A2
{ 0x3e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ13_B1
{ 0x3f, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ13_B2
{ 0x40, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ13_A0
{ 0x41, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ14_A1
{ 0x42, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ14_A2
{ 0x43, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ14_B1
{ 0x44, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ14_B2
{ 0x45, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ14_A0
{ 0x46, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ15_A1
{ 0x47, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ15_A2
{ 0x48, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ15_B1
{ 0x49, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ15_B2
{ 0x4a, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ15_A0
{ 0x4b, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ16_A1
{ 0x4c, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ16_A2
{ 0x4d, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ16_B1
{ 0x4e, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_EQ16_B2
{ 0x4f, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_EQ16_A0
{ 0x50, 0x00, 0x00, 0x00, 0x00 }, //##Channel_2_Mixer1
{ 0x51, 0x07, 0xff, 0xff, 0xf0 }, //##Channel_2_Mixer2
{ 0x52, 0x00, 0x7e, 0x88, 0xe0 }, //##Channel_2_Prescale
{ 0x53, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_Postscale
{ 0x54, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x55, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x56, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x57, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x58, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x59, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x5a, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x5b, 0x00, 0x00, 0x18, 0x88 }, //##DRC2_Power_Meter
{ 0x5c, 0x00, 0x00, 0x00, 0x00 }, //##DRC4_Power_Mete
{ 0x5d, 0x00, 0x00, 0x00, 0x00 }, //##DRC6_Power_Meter
{ 0x5e, 0x00, 0x00, 0x00, 0x00 }, //##DRC8_Power_Meter
{ 0x5f, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_DRC_GAIN1
{ 0x60, 0x02, 0x00, 0x00, 0x00 }, //##Channel_2_DRC_GAIN2
{ 0x61, 0x0e, 0x00, 0x00, 0x00 }, //##Channel_2_DRC_GAIN3
{ 0x62, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x63, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x64, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x65, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x66, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x67, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x68, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x69, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6a, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6b, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6c, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6d, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6e, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x6f, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x70, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x71, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
{ 0x72, 0x00, 0x00, 0x00, 0x00 }, //##DRC2_gain
{ 0x73, 0x00, 0x00, 0x00, 0x00 }, //##DRC4_gain
{ 0x74, 0x00, 0x00, 0x00, 0x00 }, //##DRC6_gain
{ 0x75, 0x00, 0x00, 0x00, 0x00 }, //##DRC8_gain
{ 0x76, 0x00, 0x80, 0x00, 0x00 }, //##I2SO_RCH_gain
{ 0x77, 0x00, 0x00, 0x00, 0x00 }, //##Reserve
};
const u32 ad82128_volume[] = {
0xE6, //0, -103dB
0xE5, //1, -102.5dB
0xE4, //2, -102dB
0xE3, //3, -101.5dB
0xE2, //4, -101dB
0xE1, //5, -100.5dB
0xE0, //6, -100dB
0xDF, //7, -99.5dB
0xDE, //8, -99dB
0xDD, //9, -98.5dB
0xDC, //10, -98dB
0xDB, //11, -97.5dB
0xDA, //12, -97dB
0xD9, //13, -96.5dB
0xD8, //14, -96dB
0xD7, //15, -95.5dB
0xD6, //16, -95dB
0xD5, //17, -94.5dB
0xD4, //18, -94dB
0xD3, //19, -93.5dB
0xD2, //20, -93dB
0xD1, //21, -92.5dB
0xD0, //22, -92dB
0xCF, //23, -91.5dB
0xCE, //24, -91dB
0xCD, //25, -90.5dB
0xCC, //26, -90dB
0xCB, //27, -89.5dB
0xCA, //28, -89dB
0xC9, //29, -88.5dB
0xC8, //30, -88dB
0xC7, //31, -87.5dB
0xC6, //32, -87dB
0xC5, //33, -86.5dB
0xC4, //34, -86dB
0xC3, //35, -85.5dB
0xC2, //36, -85dB
0xC1, //37, -84.5dB
0xC0, //38, -84dB
0xBF, //39, -83.5dB
0xBE, //40, -83dB
0xBD, //41, -82.5dB
0xBC, //42, -82dB
0xBB, //43, -81.5dB
0xBA, //44, -81dB
0xB9, //45, -80.5dB
0xB8, //46, -80dB
0xB7, //47, -79.5dB
0xB6, //48, -79dB
0xB5, //49, -78.5dB
0xB4, //50, -78dB
0xB3, //51, -77.5dB
0xB2, //52, -77dB
0xB1, //53, -76.5dB
0xB0, //54, -76dB
0xAF, //55, -75.5dB
0xAE, //56, -75dB
0xAD, //57, -74.5dB
0xAC, //58, -74dB
0xAB, //59, -73.5dB
0xAA, //60, -73dB
0xA9, //61, -72.5dB
0xA8, //62, -72dB
0xA7, //63, -71.5dB
0xA6, //64, -71dB
0xA5, //65, -70.5dB
0xA4, //66, -70dB
0xA3, //67, -69.5dB
0xA2, //68, -69dB
0xA1, //69, -68.5dB
0xA0, //70, -68dB
0x9F, //71, -67.5dB
0x9E, //72, -67dB
0x9D, //73, -66.5dB
0x9C, //74, -66dB
0x9B, //75, -65.5dB
0x9A, //76, -65dB
0x99, //77, -64.5dB
0x98, //78, -64dB
0x97, //79, -63.5dB
0x96, //80, -63dB
0x95, //81, -62.5dB
0x94, //82, -62dB
0x93, //83, -61.5dB
0x92, //84, -61dB
0x91, //85, -60.5dB
0x90, //86, -60dB
0x8F, //87, -59.5dB
0x8E, //88, -59dB
0x8D, //89, -58.5dB
0x8C, //90, -58dB
0x8B, //91, -57dB
0x8A, //92, -57dB
0x89, //93, -56.5dB
0x88, //94, -56dB
0x87, //95, -55.5dB
0x86, //96, -55dB
0x85, //97, -54.5dB
0x84, //98, -54dB
0x83, //99, -53.5dB
0x82, //100, -53dB
0x81, //101, -52.5dB
0x80, //102, -52dB
0x7F, //103, -51.5dB
0x7E, //104, -51dB
0x7D, //105, -50.5dB
0x7C, //106, -50dB
0x7B, //107, -49.5dB
0x7A, //108, -49dB
0x79, //109, -48.5dB
0x78, //110, -48dB
0x77, //111, -47.5dB
0x76, //112, -47dB
0x75, //113, -46.5dB
0x74, //114, -46dB
0x73, //115, -45.5dB
0x72, //116, -45dB
0x71, //117, -44.5dB
0x70, //118, -44dB
0x6F, //119, -43.5dB
0x6E, //120, -43dB
0x6D, //121, -42.5dB
0x6C, //122, -42dB
0x6B, //123, -41.5dB
0x6A, //124, -41dB
0x69, //125, -40.5dB
0x68, //126, -40dB
0x67, //127, -39.5dB
0x66, //128, -39dB
0x65, //129, -38.5dB
0x64, //130, -38dB
0x63, //131, -37.5dB
0x62, //132, -37dB
0x61, //133, -36.5dB
0x60, //134, -36dB
0x5F, //135, -35.5dB
0x5E, //136, -35dB
0x5D, //137, -34.5dB
0x5C, //138, -34dB
0x5B, //139, -33.5dB
0x5A, //140, -33dB
0x59, //141, -32.5dB
0x58, //142, -32dB
0x57, //143, -31.5dB
0x56, //144, -31dB
0x55, //145, -30.5dB
0x54, //146, -30dB
0x53, //147, -29.5dB
0x52, //148, -29dB
0x51, //149, -28.5dB
0x50, //150, -28dB
0x4F, //151, -27.5dB
0x4E, //152, -27dB
0x4D, //153, -26.5dB
0x4C, //154, -26dB
0x4B, //155, -25.5dB
0x4A, //156, -25dB
0x49, //157, -24.5dB
0x48, //158, -24dB
0x47, //159, -23.5dB
0x46, //160, -23dB
0x45, //161, -22.5dB
0x44, //162, -22dB
0x43, //163, -21.5dB
0x42, //164, -21dB
0x41, //165, -20.5dB
0x40, //166, -20dB
0x3F, //167, -19.5dB
0x3E, //168, -19dB
0x3D, //169, -18.5dB
0x3C, //170, -18dB
0x3B, //171, -17.5dB
0x3A, //172, -17dB
0x39, //173, -16.5dB
0x38, //174, -16dB
0x37, //175, -15.5dB
0x36, //176, -15dB
0x35, //177, -14.5dB
0x34, //178, -14dB
0x33, //179, -13.5dB
0x32, //180, -13dB
0x31, //181, -12.5dB
0x30, //182, -12dB
0x2F, //183, -11.5dB
0x2E, //184, -11dB
0x2D, //185, -10.5dB
0x2C, //186, -10dB
0x2B, //187, -9.5dB
0x2A, //188, -9dB
0x29, //189, -8.5dB
0x28, //190, -8dB
0x27, //191, -7.5dB
0x26, //192, -7dB
0x25, //193, -6.5dB
0x24, //194, -6dB
0x23, //195, -5.5dB
0x22, //196, -5dB
0x21, //197, -4.5dB
0x20, //198, -4dB
0x1F, //199, -3.5dB
0x1E, //200, -3dB
0x1D, //201, -2.5dB
0x1C, //202, -2dB
0x1B, //203, -1.5dB
0x1A, //204, -1dB
0x19, //205, -0.5dB
0x18, //206, 0dB
0x17, //207, 0.5dB
0x16, //208, 1dB
0x15, //209, 1.5dB
0x14, //210, 2dB
0x13, //211, 2.5dB
0x12, //212, 3dB
0x11, //213, 3.5dB
0x10, //214, 4dB
0x0F, //215, 4.5dB
0x0E, //216, 5dB
0x0D, //217, 5.5dB
0x0C, //218, 6dB
0x0B, //219, 6.5dB
0x0A, //220, 7dB
0x09, //221, 7.5dB
0x08, //222, 8dB
0x07, //223, 8.5dB
0x06, //224, 9dB
0x05, //225, 9.5dB
0x04, //226, 10dB
0x03, //227, 10.5dB
0x02, //228, 11dB
0x01, //229, 11.5dB
0x00, //230, 12dB
};
#endif /* __AD82128_H__ */