2652 lines
93 KiB
C
Executable File
2652 lines
93 KiB
C
Executable File
/*
|
|
* Driver for ADAU1761 codec
|
|
*
|
|
* Copyright: (C) 2017 NetEase(Hangzhou) Network Co., Ltd.
|
|
* All rights reserved.
|
|
|
|
*
|
|
* Licensed under the GPL-2 or later.
|
|
*/
|
|
#define DEBUG
|
|
|
|
#ifdef DEBUG
|
|
#define DSP_DEBUG(...) \
|
|
do { \
|
|
printk("[ADAU1761]: "__VA_ARGS__); \
|
|
} while (0)
|
|
#else
|
|
#define DSP_DEBUG(...)
|
|
#endif
|
|
|
|
#include <asm/traps.h>
|
|
#include <linux/cdev.h>
|
|
#include <linux/crc32.h>
|
|
#include <linux/delay.h> /* guess what */
|
|
#include <linux/device.h>
|
|
#include <linux/err.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/firmware.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/gpio.h>
|
|
#include <linux/i2c.h>
|
|
#include <linux/init.h>
|
|
#include <linux/io.h>
|
|
#include <linux/ioctl.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/major.h>
|
|
#include <linux/miscdevice.h>
|
|
#include <linux/mm.h>
|
|
#include <linux/module.h>
|
|
#include <linux/mutex.h>
|
|
#include <linux/of_gpio.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/pwm.h>
|
|
#include <linux/regulator/consumer.h>
|
|
#include <linux/sunxi-gpio.h>
|
|
#include <linux/types.h>
|
|
#include <linux/uaccess.h> /* For put_user and get_user */
|
|
#include <linux/unistd.h>
|
|
|
|
#define SIGMA_MAGIC "ADISIGM"
|
|
#define ADAU1761_FIRMWARE "adau1761.bin"
|
|
|
|
struct sigma_firmware_header {
|
|
unsigned char magic[7];
|
|
u8 version;
|
|
__le32 crc;
|
|
} __packed;
|
|
|
|
struct sigma_samprate_list {
|
|
__le32 samplist_len;
|
|
__le32 samplist_ind;
|
|
__le32 zeros;
|
|
__le32 sample_rate;
|
|
} __packed;
|
|
|
|
enum {
|
|
SIGMA_ACTION_WRITEXBYTES = 0,
|
|
SIGMA_ACTION_CONTROL,
|
|
SIGMA_ACTION_END,
|
|
};
|
|
|
|
struct sigma_action {
|
|
__le32 len; // data chunk length
|
|
__le32 ind; // data to load, or control address?
|
|
__le32 mask; // do not care
|
|
} __packed;
|
|
|
|
struct sigma_firmware {
|
|
const struct firmware *fw;
|
|
size_t pos;
|
|
void *control_data;
|
|
};
|
|
|
|
#define ADAU1761_DIGMIC_JACKDETECT 0x4008
|
|
#define ADAU1761_REC_MIXER_LEFT0 0x400A
|
|
#define ADAU1761_REC_MIXER_LEFT1 0x400B
|
|
#define ADAU1761_REC_MIXER_RIGHT0 0x400C
|
|
#define ADAU1761_REC_MIXER_RIGHT1 0x400D
|
|
#define ADAU1761_LEFT_DIFF_INPUT_VOL 0x400E
|
|
#define ADAU1761_RIGHT_DIFF_INPUT_VOL 0x400F
|
|
#define ADAU1761_PLAY_LR_MIXER_LEFT 0x4020
|
|
#define ADAU1761_PLAY_MIXER_LEFT0 0x401C
|
|
#define ADAU1761_PLAY_MIXER_LEFT1 0x401D
|
|
#define ADAU1761_PLAY_MIXER_RIGHT0 0x401E
|
|
#define ADAU1761_PLAY_MIXER_RIGHT1 0x401F
|
|
#define ADAU1761_PLAY_LR_MIXER_RIGHT 0x4021
|
|
#define ADAU1761_PLAY_MIXER_MONO 0x4022
|
|
#define ADAU1761_PLAY_HP_LEFT_VOL 0x4023
|
|
#define ADAU1761_PLAY_HP_RIGHT_VOL 0x4024
|
|
#define ADAU1761_PLAY_LINE_LEFT_VOL 0x4025
|
|
#define ADAU1761_PLAY_LINE_RIGHT_VOL 0x4026
|
|
#define ADAU1761_PLAY_MONO_OUTPUT_VOL 0x4027
|
|
#define ADAU1761_POP_CLICK_SUPPRESS 0x4028
|
|
#define ADAU1761_JACK_DETECT_PIN 0x4031
|
|
#define ADAU1761_DEJITTER 0x4036
|
|
#define ADAU1761_CLK_ENABLE0 0x40F9
|
|
#define ADAU1761_CLK_ENABLE1 0x40FA
|
|
|
|
/* 17x1 common registers */
|
|
#define ADAU17X1_CLOCK_CONTROL 0x4000
|
|
#define ADAU17X1_PLL_CONTROL 0x4002
|
|
#define ADAU17X1_REC_POWER_MGMT 0x4009
|
|
#define ADAU17X1_MICBIAS 0x4010
|
|
#define ADAU17X1_SERIAL_PORT0 0x4015
|
|
#define ADAU17X1_SERIAL_PORT1 0x4016
|
|
#define ADAU17X1_CONVERTER0 0x4017
|
|
#define ADAU17X1_CONVERTER1 0x4018
|
|
#define ADAU17X1_LEFT_INPUT_DIGITAL_VOL 0x401A
|
|
#define ADAU17X1_RIGHT_INPUT_DIGITAL_VOL 0x401B
|
|
#define ADAU17X1_ADC_CONTROL 0x4019
|
|
#define ADAU17X1_PLAY_POWER_MGMT 0x4029
|
|
#define ADAU17X1_DAC_CONTROL0 0x402A
|
|
#define ADAU17X1_DAC_CONTROL1 0x402B
|
|
#define ADAU17X1_DAC_CONTROL2 0x402C
|
|
#define ADAU17X1_SERIAL_PORT_PAD 0x402D
|
|
#define ADAU17X1_CONTROL_PORT_PAD0 0x402F
|
|
#define ADAU17X1_CONTROL_PORT_PAD1 0x4030
|
|
#define ADAU17X1_DSP_SAMPLING_RATE 0x40EB
|
|
#define ADAU17X1_SERIAL_INPUT_ROUTE 0x40F2
|
|
#define ADAU17X1_SERIAL_OUTPUT_ROUTE 0x40F3
|
|
#define ADAU17X1_DSP_ENABLE 0x40F5
|
|
#define ADAU17X1_DSP_RUN 0x40F6
|
|
#define ADAU17X1_SERIAL_SAMPLING_RATE 0x40F8
|
|
|
|
#define ADAU17X1_SERIAL_PORT0_BCLK_POL BIT(4)
|
|
#define ADAU17X1_SERIAL_PORT0_LRCLK_POL BIT(3)
|
|
#define ADAU17X1_SERIAL_PORT0_MASTER BIT(0)
|
|
|
|
#define ADAU17X1_SERIAL_PORT1_DELAY1 0x00
|
|
#define ADAU17X1_SERIAL_PORT1_DELAY0 0x01
|
|
#define ADAU17X1_SERIAL_PORT1_DELAY8 0x02
|
|
#define ADAU17X1_SERIAL_PORT1_DELAY16 0x03
|
|
#define ADAU17X1_SERIAL_PORT1_DELAY_MASK 0x03
|
|
|
|
#define ADAU17X1_CLOCK_CONTROL_INFREQ_MASK 0x6
|
|
#define ADAU17X1_CLOCK_CONTROL_CORECLK_SRC_PLL BIT(3)
|
|
#define ADAU17X1_CLOCK_CONTROL_SYSCLK_EN BIT(0)
|
|
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK64 (0x0 << 5)
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK32 (0x1 << 5)
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK48 (0x2 << 5)
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK128 (0x3 << 5)
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK256 (0x4 << 5)
|
|
#define ADAU17X1_SERIAL_PORT1_BCLK_MASK (0x7 << 5)
|
|
|
|
#define ADAU17X1_SERIAL_PORT0_STEREO (0x0 << 1)
|
|
#define ADAU17X1_SERIAL_PORT0_TDM4 (0x1 << 1)
|
|
#define ADAU17X1_SERIAL_PORT0_TDM8 (0x2 << 1)
|
|
#define ADAU17X1_SERIAL_PORT0_TDM_MASK (0x3 << 1)
|
|
#define ADAU17X1_SERIAL_PORT0_PULSE_MODE BIT(5)
|
|
|
|
#define ADAU17X1_CONVERTER0_DAC_PAIR(x) (((x)-1) << 5)
|
|
#define ADAU17X1_CONVERTER0_DAC_PAIR_MASK (0x3 << 5)
|
|
#define ADAU17X1_CONVERTER1_ADC_PAIR(x) ((x)-1)
|
|
#define ADAU17X1_CONVERTER1_ADC_PAIR_MASK 0x3
|
|
|
|
#define ADAU17X1_CONVERTER0_CONVSR_MASK 0x7
|
|
|
|
#define ADAU1761_DATA_PARAM_START_ADDR (0x0000)
|
|
#define ADAU1761_DATA_PARAM_END_ADDR (0x03FF)
|
|
#define ADAU1761_DATA_PARAM_WORD_LEN (4)
|
|
|
|
#define ADAU1761_PROG_PARAM_START_ADDR (0x0800)
|
|
#define ADAU1761_PROG_PARAM_END_ADDR (0x0BFF)
|
|
#define ADAU1761_PROG_PARAM_WORD_LEN (5)
|
|
|
|
#define ADAU1761_DEF_VOL_STEP (20)
|
|
#define VOL_CTL_ADDR (0x0009)
|
|
#define SRC_SW_ADDR (0x0008)
|
|
|
|
/* safeload registers */
|
|
#define SAFE_LOAD_DATA_1_REG (0x0001)
|
|
#define SAFE_LOAD_TARGET_ADDR_REG (0x0006)
|
|
#define SAFE_LOAD_WORD_NUM_REG (0x0007)
|
|
#define SAFE_LOAD_REG_NUM (SAFE_LOAD_WORD_NUM_REG - SAFE_LOAD_DATA_1_REG + 1)
|
|
#define SAFE_LOAD_WORD_NUM_MAX (5)
|
|
#define ADAU1761_DATA_COUNT (4)
|
|
#define SAFE_LOAD_EQ_SWITCH_REG (0x0047)
|
|
|
|
const unsigned char adau1761_init_arr_00[] = {
|
|
0x40, 0xEB, /* (0) IC 1.Sample Rate Setting */
|
|
0x7F
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_01[] = {
|
|
0x40,
|
|
0xF6, /* (1) IC 1.DSP Run Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_02[] = {
|
|
0x40,
|
|
0x00, /* (2) IC 1.Clock Control Register */
|
|
0x0F,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_03[] = {
|
|
0x40, 0x02, /* (3) IC 1.PLL Control Register */
|
|
0x00, 0x01, 0x00, 0x00, 0x20,
|
|
0x03,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_04[] = {
|
|
// 0x00, 0x00, /* (4) IC 1.Delay */
|
|
// 0x00, 0x64,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_05[] = {
|
|
0x40,
|
|
0x15, /* (5) IC 1.Serial Port Control Registers */
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_06[] = {
|
|
0x40, 0x11, /* (6) IC 1.ALC Control Registers */
|
|
0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_07[] = {
|
|
0x40,
|
|
0x08, /* (7) IC 1.Microphone Control Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_08[] = {
|
|
0x40, 0x09, /* (8) IC 1.Record Input Signal Path Registers */
|
|
0x00, 0x0B, 0x00, 0x0B, 0x00,
|
|
0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_09[] = {
|
|
0x40, 0x19, /* (9) IC 1.ADC Control Registers */
|
|
0x13, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_10[] = {
|
|
0x40, 0x1C, /* (10) IC 1.Playback Output Signal Path Registers */
|
|
0x21, 0x00, 0x41, 0x00, 0x03, 0x09, 0x00,
|
|
0xE5, 0xE5, 0xE6, 0xE6, 0xE5, 0x00, 0x03,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_11[] = {
|
|
0x40,
|
|
0x17, /* (11) IC 1.Converter Control Registers */
|
|
0x00,
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_12[] = {
|
|
0x40, 0x2A, /* (12) IC 1.DAC Control Registers */
|
|
0x03, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_13[] = {
|
|
0x40,
|
|
0x2D, /* (13) IC 1.Serial Port Pad Control Registers */
|
|
0xAA,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_14[] = {
|
|
0x40,
|
|
0x2F, /* (14) IC 1.Communication Port Pad Control Registers */
|
|
0xAA,
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_15[] = {
|
|
0x40,
|
|
0x31, /* (15) IC 1.Jack Detect Pad Control Register */
|
|
0x08,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_16[] = {
|
|
0x08, 0x00, /* (16) Program Clear Block 0 */
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_17[] = {
|
|
0x08, 0xCC, /* (17) Program Clear Block 1 */
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_18[] = {
|
|
0x09, 0x98, /* (18) Program Clear Block 2 */
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_19[] = {
|
|
0x0A, 0x64, /* (19) Program Clear Block 3 */
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_20[] = {
|
|
0x0B, 0xFC, /* (20) Program Clear Block 4 */
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_21[] = {
|
|
0x40,
|
|
0xF5, /* (21) IC 1.DSP ON Register */
|
|
0x01,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_22[] = {
|
|
0x40, 0xC0, /* (22) IC 1.CRC Registers */
|
|
0x00, 0x7F, 0x7C, 0x7F, 0x01,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_23[] = {
|
|
0x40, 0xC6, /* (23) IC 1.GPIO Registers */
|
|
0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_24[] = {
|
|
0x40,
|
|
0xE9, /* (24) IC 1.Non Modulo Registers */
|
|
0x0F,
|
|
0xFC,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_25[] = {
|
|
0x40, 0xD0, /* (25) IC 1.Watchdog Registers */
|
|
0x00, 0x04, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_26[] = {
|
|
0x40,
|
|
0xEB, /* (26) IC 1.Sampling Rate Setting Register */
|
|
0x7F,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_27[] = {
|
|
0x40,
|
|
0xF2, /* (27) IC 1.Routing Matrix Inputs Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_28[] = {
|
|
0x40,
|
|
0xF3, /* (28) IC 1.Routing Matrix Outputs Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_29[] = {
|
|
0x40,
|
|
0xF4, /* (29) IC 1.Serial Data Configuration Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_30[] = {
|
|
0x40,
|
|
0xF7, /* (30) IC 1.DSP Slew Mode Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_31[] = {
|
|
0x40,
|
|
0xF8, /* (31) IC 1.Serial Port Sample Rate Register */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_32[] = {
|
|
0x40,
|
|
0xF9, /* (32) IC 1.Clock Enable Registers */
|
|
0x7F,
|
|
0x03,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_33[] = {
|
|
0x08, 0x00, /* (33) Program Data */
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0xE0, 0x00, 0x00, 0x00,
|
|
0xFF, 0x34, 0x00, 0x00, 0x00,
|
|
0xFF, 0x2C, 0x00, 0x00, 0x00,
|
|
0xFF, 0x54, 0x00, 0x00, 0x00,
|
|
0xFF, 0x5C, 0x00, 0x00, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x20, 0x00,
|
|
0xFF, 0x38, 0x00, 0x00, 0x00,
|
|
0xFF, 0x80, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0xE8, 0x0C, 0x00, 0x00,
|
|
0xFE, 0x30, 0x00, 0xE2, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0xE8, 0x07, 0x20, 0x08,
|
|
0x00, 0x00, 0x06, 0xA0, 0x00,
|
|
0xFF, 0xE0, 0x00, 0xC0, 0x00,
|
|
0xFF, 0x80, 0x07, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0xC0, 0x22, 0x00, 0x27,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0xE8, 0x1E, 0x00, 0x00,
|
|
0xFF, 0xE8, 0x01, 0x20, 0x00,
|
|
0xFF, 0xD8, 0x01, 0x03, 0x00,
|
|
0x00, 0x07, 0xC6, 0x00, 0x00,
|
|
0xFF, 0x08, 0x00, 0x00, 0x00,
|
|
0xFF, 0xF4, 0x00, 0x20, 0x00,
|
|
0xFF, 0xD8, 0x07, 0x02, 0x00,
|
|
0xFD, 0xA5, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0xE2, 0x00,
|
|
0xFD, 0xAD, 0x08, 0x20, 0x00,
|
|
0x00, 0x08, 0x00, 0xE2, 0x00,
|
|
0xFD, 0x25, 0x08, 0x20, 0x00,
|
|
0x00, 0x10, 0x00, 0xE2, 0x00,
|
|
0xFD, 0x2D, 0x08, 0x20, 0x00,
|
|
0x00, 0x18, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xE8, 0x08, 0x20, 0x00,
|
|
0x00, 0x58, 0x00, 0xE2, 0x00,
|
|
0x00, 0x05, 0x08, 0x20, 0x00,
|
|
0x00, 0x30, 0x00, 0xE2, 0x00,
|
|
0x00, 0x0D, 0x08, 0x20, 0x00,
|
|
0x00, 0x40, 0x00, 0xE2, 0x00,
|
|
0x00, 0x15, 0x08, 0x20, 0x00,
|
|
0x00, 0x38, 0x00, 0xE2, 0x00,
|
|
0x00, 0x1D, 0x08, 0x20, 0x00,
|
|
0x00, 0x48, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x20, 0x00,
|
|
0x00, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x00, 0x55, 0x08, 0x20, 0x00,
|
|
0x00, 0x5D, 0x08, 0x22, 0x48,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0xED, 0x08, 0x20, 0x26,
|
|
0x00, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x00, 0x75, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x00, 0x55, 0x08, 0x20, 0x00,
|
|
0x00, 0x95, 0x08, 0x20, 0x25,
|
|
0x00, 0x98, 0x00, 0xE2, 0x00,
|
|
0x00, 0x85, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x00, 0x55, 0x08, 0x20, 0x00,
|
|
0x00, 0xA5, 0x08, 0x20, 0x25,
|
|
0x00, 0xA8, 0x00, 0xE2, 0x00,
|
|
0x00, 0xBD, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0xC8, 0x00, 0xF0, 0x00,
|
|
0x00, 0xCD, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x00, 0xB5, 0x08, 0x20, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x20, 0x25,
|
|
0x00, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x00, 0x55, 0x08, 0x20, 0x00,
|
|
0x00, 0x58, 0x00, 0xE2, 0x25,
|
|
0x00, 0x65, 0x08, 0x20, 0x00,
|
|
0x00, 0x75, 0x08, 0x22, 0x40,
|
|
0x00, 0xC0, 0x00, 0xE2, 0x00,
|
|
0x00, 0x75, 0x08, 0x20, 0x00,
|
|
0x00, 0xC5, 0x14, 0x22, 0x00,
|
|
0x00, 0x78, 0x00, 0xE2, 0x00,
|
|
0x00, 0x98, 0x00, 0xC0, 0x00,
|
|
0x00, 0x07, 0xFF, 0xA0, 0x00,
|
|
0x00, 0x78, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x37, 0xFF, 0x20, 0x80,
|
|
0x00, 0x20, 0x00, 0xE2, 0x00,
|
|
0x00, 0x47, 0xFF, 0x40, 0x80,
|
|
0x00, 0x28, 0x00, 0xE4, 0x00,
|
|
0xFF, 0xED, 0x08, 0x20, 0x00,
|
|
0xFF, 0xEF, 0xFF, 0x22, 0x40,
|
|
0x00, 0x88, 0x00, 0xE2, 0x00,
|
|
0x00, 0xA8, 0x00, 0xC0, 0x00,
|
|
0x00, 0x07, 0xFF, 0xA0, 0x00,
|
|
0x00, 0x88, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x37, 0xFF, 0x20, 0x80,
|
|
0x00, 0x25, 0x08, 0x22, 0x00,
|
|
0x00, 0x20, 0x00, 0xE2, 0x00,
|
|
0x00, 0x47, 0xFF, 0x40, 0x80,
|
|
0x00, 0x2D, 0x08, 0x44, 0x00,
|
|
0x00, 0x28, 0x00, 0xE4, 0x00,
|
|
0x00, 0x65, 0x08, 0x20, 0x00,
|
|
0x00, 0xB5, 0x08, 0x22, 0x40,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x68, 0x00, 0xF0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0xE8, 0x09, 0x20, 0x00,
|
|
0x00, 0xD5, 0x08, 0x22, 0x40,
|
|
0x00, 0xF0, 0x00, 0xE2, 0x00,
|
|
0x00, 0xE5, 0x08, 0x20, 0x00,
|
|
0x00, 0xD5, 0x08, 0x34, 0x00,
|
|
0x00, 0xF0, 0x0A, 0x22, 0x00,
|
|
0x00, 0xD8, 0x00, 0xE2, 0x00,
|
|
0x00, 0xD8, 0x00, 0xC0, 0x00,
|
|
0x00, 0xE8, 0x00, 0xF2, 0x00,
|
|
0x00, 0x27, 0xFF, 0x20, 0x00,
|
|
0x01, 0x08, 0x00, 0xE2, 0x00,
|
|
0x00, 0x2F, 0xFF, 0x20, 0x00,
|
|
0x01, 0x50, 0x00, 0xE2, 0x00,
|
|
0x01, 0x18, 0x0E, 0x20, 0x00,
|
|
0x01, 0x10, 0x0F, 0x22, 0x00,
|
|
0x01, 0x08, 0x0B, 0x22, 0x00,
|
|
0x01, 0x00, 0x0C, 0x22, 0x00,
|
|
0x00, 0xF8, 0x0D, 0x22, 0x00,
|
|
0x01, 0x20, 0x00, 0xE2, 0x00,
|
|
0x01, 0x30, 0x13, 0x20, 0x00,
|
|
0x01, 0x28, 0x14, 0x22, 0x00,
|
|
0x01, 0x20, 0x10, 0x22, 0x00,
|
|
0x01, 0x18, 0x11, 0x22, 0x00,
|
|
0x01, 0x10, 0x12, 0x22, 0x00,
|
|
0x01, 0x38, 0x00, 0xE2, 0x00,
|
|
0x01, 0x60, 0x0E, 0x20, 0x00,
|
|
0x01, 0x58, 0x0F, 0x22, 0x00,
|
|
0x01, 0x50, 0x0B, 0x22, 0x00,
|
|
0x01, 0x48, 0x0C, 0x22, 0x00,
|
|
0x01, 0x40, 0x0D, 0x22, 0x00,
|
|
0x01, 0x68, 0x00, 0xE2, 0x00,
|
|
0x01, 0x78, 0x13, 0x20, 0x00,
|
|
0x01, 0x70, 0x14, 0x22, 0x00,
|
|
0x01, 0x68, 0x10, 0x22, 0x00,
|
|
0x01, 0x60, 0x11, 0x22, 0x00,
|
|
0x01, 0x58, 0x12, 0x22, 0x00,
|
|
0x01, 0x80, 0x00, 0xE2, 0x00,
|
|
0x01, 0x90, 0x18, 0x20, 0x00,
|
|
0x01, 0x88, 0x19, 0x22, 0x00,
|
|
0x01, 0x38, 0x15, 0x22, 0x00,
|
|
0x01, 0x30, 0x16, 0x22, 0x00,
|
|
0x01, 0x28, 0x17, 0x22, 0x00,
|
|
0x01, 0x98, 0x00, 0xE2, 0x00,
|
|
0x01, 0xA8, 0x1D, 0x20, 0x00,
|
|
0x01, 0xA0, 0x1E, 0x22, 0x00,
|
|
0x01, 0x98, 0x1A, 0x22, 0x00,
|
|
0x01, 0x90, 0x1B, 0x22, 0x00,
|
|
0x01, 0x88, 0x1C, 0x22, 0x00,
|
|
0x01, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x01, 0xC0, 0x22, 0x20, 0x00,
|
|
0x01, 0xB8, 0x23, 0x22, 0x00,
|
|
0x01, 0xB0, 0x1F, 0x22, 0x00,
|
|
0x01, 0xA8, 0x20, 0x22, 0x00,
|
|
0x01, 0xA0, 0x21, 0x22, 0x00,
|
|
0x01, 0xC8, 0x00, 0xE2, 0x00,
|
|
0x01, 0xD8, 0x27, 0x20, 0x00,
|
|
0x01, 0xD0, 0x28, 0x22, 0x00,
|
|
0x01, 0xC8, 0x24, 0x22, 0x00,
|
|
0x01, 0xC0, 0x25, 0x22, 0x00,
|
|
0x01, 0xB8, 0x26, 0x22, 0x00,
|
|
0x01, 0xE0, 0x00, 0xE2, 0x00,
|
|
0x01, 0xF0, 0x2C, 0x20, 0x00,
|
|
0x01, 0xE8, 0x2D, 0x22, 0x00,
|
|
0x01, 0xE0, 0x29, 0x22, 0x00,
|
|
0x01, 0xD8, 0x2A, 0x22, 0x00,
|
|
0x01, 0xD0, 0x2B, 0x22, 0x00,
|
|
0x01, 0xF8, 0x00, 0xE2, 0x00,
|
|
0x02, 0x08, 0x31, 0x20, 0x00,
|
|
0x02, 0x00, 0x32, 0x22, 0x00,
|
|
0x01, 0xF8, 0x2E, 0x22, 0x00,
|
|
0x01, 0xF0, 0x2F, 0x22, 0x00,
|
|
0x01, 0xE8, 0x30, 0x22, 0x00,
|
|
0x02, 0x10, 0x00, 0xE2, 0x00,
|
|
0x02, 0x20, 0x18, 0x20, 0x00,
|
|
0x02, 0x18, 0x19, 0x22, 0x00,
|
|
0x01, 0x80, 0x15, 0x22, 0x00,
|
|
0x01, 0x78, 0x16, 0x22, 0x00,
|
|
0x01, 0x70, 0x17, 0x22, 0x00,
|
|
0x02, 0x28, 0x00, 0xE2, 0x00,
|
|
0x02, 0x38, 0x1D, 0x20, 0x00,
|
|
0x02, 0x30, 0x1E, 0x22, 0x00,
|
|
0x02, 0x28, 0x1A, 0x22, 0x00,
|
|
0x02, 0x20, 0x1B, 0x22, 0x00,
|
|
0x02, 0x18, 0x1C, 0x22, 0x00,
|
|
0x02, 0x40, 0x00, 0xE2, 0x00,
|
|
0x02, 0x50, 0x22, 0x20, 0x00,
|
|
0x02, 0x48, 0x23, 0x22, 0x00,
|
|
0x02, 0x40, 0x1F, 0x22, 0x00,
|
|
0x02, 0x38, 0x20, 0x22, 0x00,
|
|
0x02, 0x30, 0x21, 0x22, 0x00,
|
|
0x02, 0x58, 0x00, 0xE2, 0x00,
|
|
0x02, 0x68, 0x27, 0x20, 0x00,
|
|
0x02, 0x60, 0x28, 0x22, 0x00,
|
|
0x02, 0x58, 0x24, 0x22, 0x00,
|
|
0x02, 0x50, 0x25, 0x22, 0x00,
|
|
0x02, 0x48, 0x26, 0x22, 0x00,
|
|
0x02, 0x70, 0x00, 0xE2, 0x00,
|
|
0x02, 0x80, 0x2C, 0x20, 0x00,
|
|
0x02, 0x78, 0x2D, 0x22, 0x00,
|
|
0x02, 0x70, 0x29, 0x22, 0x00,
|
|
0x02, 0x68, 0x2A, 0x22, 0x00,
|
|
0x02, 0x60, 0x2B, 0x22, 0x00,
|
|
0x02, 0x88, 0x00, 0xE2, 0x00,
|
|
0x02, 0x98, 0x31, 0x20, 0x00,
|
|
0x02, 0x90, 0x32, 0x22, 0x00,
|
|
0x02, 0x88, 0x2E, 0x22, 0x00,
|
|
0x02, 0x80, 0x2F, 0x22, 0x00,
|
|
0x02, 0x78, 0x30, 0x22, 0x00,
|
|
0x02, 0xA0, 0x00, 0xE2, 0x00,
|
|
0x02, 0xB0, 0x36, 0x20, 0x00,
|
|
0x02, 0xA8, 0x37, 0x22, 0x00,
|
|
0x01, 0x38, 0x33, 0x22, 0x00,
|
|
0x01, 0x30, 0x34, 0x22, 0x00,
|
|
0x01, 0x28, 0x35, 0x22, 0x00,
|
|
0x02, 0xB8, 0x00, 0xE2, 0x00,
|
|
0x02, 0xC8, 0x3B, 0x20, 0x00,
|
|
0x02, 0xC0, 0x3C, 0x22, 0x00,
|
|
0x02, 0xB8, 0x38, 0x22, 0x00,
|
|
0x02, 0xB0, 0x39, 0x22, 0x00,
|
|
0x02, 0xA8, 0x3A, 0x22, 0x00,
|
|
0x02, 0xD0, 0x00, 0xE2, 0x00,
|
|
0x02, 0xE0, 0x40, 0x20, 0x00,
|
|
0x02, 0xD8, 0x41, 0x22, 0x00,
|
|
0x02, 0xD0, 0x3D, 0x22, 0x00,
|
|
0x02, 0xC8, 0x3E, 0x22, 0x00,
|
|
0x02, 0xC0, 0x3F, 0x22, 0x00,
|
|
0x02, 0xE8, 0x00, 0xE2, 0x00,
|
|
0x02, 0xF8, 0x45, 0x20, 0x00,
|
|
0x02, 0xF0, 0x46, 0x22, 0x00,
|
|
0x02, 0xE8, 0x42, 0x22, 0x00,
|
|
0x02, 0xE0, 0x43, 0x22, 0x00,
|
|
0x02, 0xD8, 0x44, 0x22, 0x00,
|
|
0x03, 0x00, 0x00, 0xE2, 0x00,
|
|
0x03, 0x10, 0x36, 0x20, 0x00,
|
|
0x03, 0x08, 0x37, 0x22, 0x00,
|
|
0x01, 0x80, 0x33, 0x22, 0x00,
|
|
0x01, 0x78, 0x34, 0x22, 0x00,
|
|
0x01, 0x70, 0x35, 0x22, 0x00,
|
|
0x03, 0x18, 0x00, 0xE2, 0x00,
|
|
0x03, 0x28, 0x3B, 0x20, 0x00,
|
|
0x03, 0x20, 0x3C, 0x22, 0x00,
|
|
0x03, 0x18, 0x38, 0x22, 0x00,
|
|
0x03, 0x10, 0x39, 0x22, 0x00,
|
|
0x03, 0x08, 0x3A, 0x22, 0x00,
|
|
0x03, 0x30, 0x00, 0xE2, 0x00,
|
|
0x03, 0x40, 0x40, 0x20, 0x00,
|
|
0x03, 0x38, 0x41, 0x22, 0x00,
|
|
0x03, 0x30, 0x3D, 0x22, 0x00,
|
|
0x03, 0x28, 0x3E, 0x22, 0x00,
|
|
0x03, 0x20, 0x3F, 0x22, 0x00,
|
|
0x03, 0x48, 0x00, 0xE2, 0x00,
|
|
0x03, 0x58, 0x45, 0x20, 0x00,
|
|
0x03, 0x50, 0x46, 0x22, 0x00,
|
|
0x03, 0x48, 0x42, 0x22, 0x00,
|
|
0x03, 0x40, 0x43, 0x22, 0x00,
|
|
0x03, 0x38, 0x44, 0x22, 0x00,
|
|
0x03, 0x60, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xE8, 0x47, 0x20, 0x00,
|
|
0x03, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x01, 0x3D, 0x08, 0x20, 0x00,
|
|
0x03, 0x78, 0x00, 0xE2, 0x00,
|
|
0x01, 0x85, 0x08, 0x20, 0x00,
|
|
0x03, 0x90, 0x00, 0xE2, 0x00,
|
|
0x02, 0x15, 0x08, 0x20, 0x00,
|
|
0x03, 0x80, 0x00, 0xE2, 0x00,
|
|
0x02, 0xA5, 0x08, 0x20, 0x00,
|
|
0x03, 0x98, 0x00, 0xE2, 0x00,
|
|
0x03, 0x05, 0x08, 0x20, 0x00,
|
|
0x03, 0x88, 0x00, 0xE2, 0x00,
|
|
0x03, 0x65, 0x08, 0x20, 0x00,
|
|
0x03, 0xA0, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x20, 0x00,
|
|
0x04, 0x08, 0x00, 0xE2, 0x00,
|
|
0x03, 0xAD, 0x08, 0x20, 0x00,
|
|
0x03, 0xB5, 0x08, 0x22, 0x48,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFF, 0xED, 0x08, 0x20, 0x26,
|
|
0x04, 0x08, 0x00, 0xE2, 0x00,
|
|
0x03, 0xCD, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x03, 0xAD, 0x08, 0x20, 0x00,
|
|
0x03, 0xED, 0x08, 0x20, 0x25,
|
|
0x03, 0xF0, 0x00, 0xE2, 0x00,
|
|
0x03, 0xDD, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x03, 0xAD, 0x08, 0x20, 0x00,
|
|
0x03, 0xFD, 0x08, 0x20, 0x25,
|
|
0x04, 0x00, 0x00, 0xE2, 0x00,
|
|
0x04, 0x15, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x04, 0x20, 0x00, 0xF0, 0x00,
|
|
0x04, 0x25, 0x08, 0x20, 0x00,
|
|
0xFF, 0xED, 0x13, 0x22, 0x48,
|
|
0x04, 0x0D, 0x08, 0x20, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x20, 0x25,
|
|
0x04, 0x08, 0x00, 0xE2, 0x00,
|
|
0x03, 0xAD, 0x08, 0x20, 0x00,
|
|
0x03, 0xB0, 0x00, 0xE2, 0x25,
|
|
0x03, 0xBD, 0x08, 0x20, 0x00,
|
|
0x03, 0xCD, 0x08, 0x22, 0x40,
|
|
0x04, 0x18, 0x00, 0xE2, 0x00,
|
|
0x03, 0xCD, 0x08, 0x20, 0x00,
|
|
0x04, 0x1D, 0x14, 0x22, 0x00,
|
|
0x03, 0xD0, 0x00, 0xE2, 0x00,
|
|
0x03, 0xF0, 0x00, 0xC0, 0x00,
|
|
0x00, 0x07, 0xFF, 0xA0, 0x00,
|
|
0x03, 0xD0, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x03, 0x7F, 0xFF, 0x20, 0x80,
|
|
0x03, 0x68, 0x00, 0xE2, 0x00,
|
|
0x03, 0x97, 0xFF, 0x40, 0x80,
|
|
0x03, 0x70, 0x00, 0xE4, 0x00,
|
|
0xFF, 0xED, 0x08, 0x20, 0x00,
|
|
0xFF, 0xEF, 0xFF, 0x22, 0x40,
|
|
0x03, 0xE0, 0x00, 0xE2, 0x00,
|
|
0x04, 0x00, 0x00, 0xC0, 0x00,
|
|
0x00, 0x07, 0xFF, 0xA0, 0x00,
|
|
0x03, 0xE0, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x03, 0x7F, 0xFF, 0x20, 0x80,
|
|
0x03, 0x6D, 0x08, 0x22, 0x00,
|
|
0x03, 0x68, 0x00, 0xE2, 0x00,
|
|
0x03, 0x97, 0xFF, 0x40, 0x80,
|
|
0x03, 0x75, 0x08, 0x44, 0x00,
|
|
0x03, 0x70, 0x00, 0xE4, 0x00,
|
|
0x03, 0xBD, 0x08, 0x20, 0x00,
|
|
0x04, 0x0D, 0x08, 0x22, 0x40,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x03, 0xC0, 0x00, 0xF0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x03, 0x68, 0x48, 0x20, 0x00,
|
|
0x03, 0x70, 0x48, 0x22, 0x00,
|
|
0x04, 0x38, 0x00, 0xE2, 0x00,
|
|
0x04, 0x60, 0x4C, 0x20, 0x00,
|
|
0x04, 0x58, 0x4D, 0x22, 0x00,
|
|
0x04, 0x48, 0x4C, 0x34, 0x00,
|
|
0x04, 0x40, 0x4D, 0x22, 0x00,
|
|
0x04, 0x38, 0x49, 0x22, 0x00,
|
|
0x04, 0x30, 0x4A, 0x22, 0x00,
|
|
0x04, 0x28, 0x4B, 0x22, 0x00,
|
|
0x04, 0x50, 0x00, 0xE2, 0x00,
|
|
0x04, 0x68, 0x00, 0xF2, 0x00,
|
|
0x04, 0x90, 0x51, 0x20, 0x00,
|
|
0x04, 0x88, 0x52, 0x22, 0x00,
|
|
0x04, 0x78, 0x51, 0x34, 0x00,
|
|
0x04, 0x70, 0x52, 0x22, 0x00,
|
|
0x04, 0x50, 0x4E, 0x22, 0x00,
|
|
0x04, 0x48, 0x4F, 0x22, 0x00,
|
|
0x04, 0x40, 0x50, 0x22, 0x00,
|
|
0x04, 0x80, 0x00, 0xE2, 0x00,
|
|
0x04, 0x98, 0x00, 0xF2, 0x00,
|
|
0x04, 0x80, 0x53, 0x20, 0x00,
|
|
0x04, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x04, 0xD8, 0x56, 0x20, 0x00,
|
|
0x04, 0xD0, 0x58, 0x22, 0x00,
|
|
0x04, 0xC0, 0x56, 0x34, 0x00,
|
|
0x04, 0xB8, 0x58, 0x22, 0x00,
|
|
0x04, 0xB0, 0x54, 0x22, 0x00,
|
|
0x04, 0xA8, 0x55, 0x22, 0x00,
|
|
0x04, 0xA0, 0x57, 0x22, 0x00,
|
|
0x04, 0xC8, 0x00, 0xE2, 0x00,
|
|
0x04, 0xE0, 0x00, 0xF2, 0x00,
|
|
0x05, 0x08, 0x5B, 0x20, 0x00,
|
|
0x05, 0x00, 0x5D, 0x22, 0x00,
|
|
0x04, 0xF0, 0x5B, 0x34, 0x00,
|
|
0x04, 0xE8, 0x5D, 0x22, 0x00,
|
|
0x04, 0xC8, 0x59, 0x22, 0x00,
|
|
0x04, 0xC0, 0x5A, 0x22, 0x00,
|
|
0x04, 0xB8, 0x5C, 0x22, 0x00,
|
|
0x04, 0xF8, 0x00, 0xE2, 0x00,
|
|
0x05, 0xA0, 0x00, 0xE2, 0x00,
|
|
0x05, 0x10, 0x00, 0xF2, 0x00,
|
|
0x04, 0x85, 0x08, 0x20, 0x00,
|
|
0x05, 0x28, 0x00, 0xE2, 0x00,
|
|
0x05, 0x50, 0x60, 0x20, 0x00,
|
|
0x05, 0x48, 0x62, 0x22, 0x00,
|
|
0x05, 0x38, 0x60, 0x34, 0x00,
|
|
0x05, 0x30, 0x62, 0x22, 0x00,
|
|
0x05, 0x28, 0x5E, 0x22, 0x00,
|
|
0x05, 0x20, 0x5F, 0x22, 0x00,
|
|
0x05, 0x18, 0x61, 0x22, 0x00,
|
|
0x05, 0x40, 0x00, 0xE2, 0x00,
|
|
0x05, 0x58, 0x00, 0xF2, 0x00,
|
|
0x05, 0x80, 0x65, 0x20, 0x00,
|
|
0x05, 0x78, 0x67, 0x22, 0x00,
|
|
0x05, 0x68, 0x65, 0x34, 0x00,
|
|
0x05, 0x60, 0x67, 0x22, 0x00,
|
|
0x05, 0x40, 0x63, 0x22, 0x00,
|
|
0x05, 0x38, 0x64, 0x22, 0x00,
|
|
0x05, 0x30, 0x66, 0x22, 0x00,
|
|
0x05, 0x70, 0x00, 0xE2, 0x00,
|
|
0x06, 0x18, 0x00, 0xE2, 0x00,
|
|
0x05, 0x88, 0x00, 0xF2, 0x00,
|
|
0x05, 0xC8, 0x6B, 0x20, 0x00,
|
|
0x05, 0xC0, 0x6C, 0x22, 0x00,
|
|
0x05, 0xB0, 0x6B, 0x34, 0x00,
|
|
0x05, 0xA8, 0x6C, 0x22, 0x00,
|
|
0x05, 0xA0, 0x68, 0x22, 0x00,
|
|
0x05, 0x98, 0x69, 0x22, 0x00,
|
|
0x05, 0x90, 0x6A, 0x22, 0x00,
|
|
0x05, 0xB8, 0x00, 0xE2, 0x00,
|
|
0x05, 0xD0, 0x00, 0xF2, 0x00,
|
|
0x05, 0xF8, 0x70, 0x20, 0x00,
|
|
0x05, 0xF0, 0x71, 0x22, 0x00,
|
|
0x05, 0xE0, 0x70, 0x34, 0x00,
|
|
0x05, 0xD8, 0x71, 0x22, 0x00,
|
|
0x05, 0xB8, 0x6D, 0x22, 0x00,
|
|
0x05, 0xB0, 0x6E, 0x22, 0x00,
|
|
0x05, 0xA8, 0x6F, 0x22, 0x00,
|
|
0x05, 0xE8, 0x00, 0xE2, 0x00,
|
|
0x06, 0x00, 0x00, 0xF2, 0x00,
|
|
0x06, 0x40, 0x75, 0x20, 0x00,
|
|
0x06, 0x38, 0x76, 0x22, 0x00,
|
|
0x06, 0x28, 0x75, 0x34, 0x00,
|
|
0x06, 0x20, 0x76, 0x22, 0x00,
|
|
0x06, 0x18, 0x72, 0x22, 0x00,
|
|
0x06, 0x10, 0x73, 0x22, 0x00,
|
|
0x06, 0x08, 0x74, 0x22, 0x00,
|
|
0x06, 0x30, 0x00, 0xE2, 0x00,
|
|
0x06, 0x48, 0x00, 0xF2, 0x00,
|
|
0x06, 0x70, 0x7A, 0x20, 0x00,
|
|
0x06, 0x68, 0x7B, 0x22, 0x00,
|
|
0x06, 0x58, 0x7A, 0x34, 0x00,
|
|
0x06, 0x50, 0x7B, 0x22, 0x00,
|
|
0x06, 0x30, 0x77, 0x22, 0x00,
|
|
0x06, 0x28, 0x78, 0x22, 0x00,
|
|
0x06, 0x20, 0x79, 0x22, 0x00,
|
|
0x06, 0x60, 0x00, 0xE2, 0x00,
|
|
0x06, 0x78, 0x00, 0xF2, 0x00,
|
|
0x06, 0xA0, 0x7F, 0x20, 0x00,
|
|
0x06, 0x98, 0x80, 0x22, 0x00,
|
|
0x06, 0x88, 0x7F, 0x34, 0x00,
|
|
0x06, 0x80, 0x80, 0x22, 0x00,
|
|
0x06, 0x60, 0x7C, 0x22, 0x00,
|
|
0x06, 0x58, 0x7D, 0x22, 0x00,
|
|
0x06, 0x50, 0x7E, 0x22, 0x00,
|
|
0x06, 0x90, 0x00, 0xE2, 0x00,
|
|
0x06, 0xA8, 0x00, 0xF2, 0x00,
|
|
0x06, 0xD0, 0x84, 0x20, 0x00,
|
|
0x06, 0xC8, 0x85, 0x22, 0x00,
|
|
0x06, 0xB8, 0x84, 0x34, 0x00,
|
|
0x06, 0xB0, 0x85, 0x22, 0x00,
|
|
0x06, 0x90, 0x81, 0x22, 0x00,
|
|
0x06, 0x88, 0x82, 0x22, 0x00,
|
|
0x06, 0x80, 0x83, 0x22, 0x00,
|
|
0x06, 0xC0, 0x00, 0xE2, 0x00,
|
|
0x06, 0xD8, 0x00, 0xF2, 0x00,
|
|
0x07, 0x00, 0x89, 0x20, 0x00,
|
|
0x06, 0xF8, 0x8A, 0x22, 0x00,
|
|
0x06, 0xE8, 0x89, 0x34, 0x00,
|
|
0x06, 0xE0, 0x8A, 0x22, 0x00,
|
|
0x06, 0xC0, 0x86, 0x22, 0x00,
|
|
0x06, 0xB8, 0x87, 0x22, 0x00,
|
|
0x06, 0xB0, 0x88, 0x22, 0x00,
|
|
0x06, 0xF0, 0x00, 0xE2, 0x00,
|
|
0x07, 0x08, 0x00, 0xF2, 0x00,
|
|
0x07, 0x30, 0x8E, 0x20, 0x00,
|
|
0x07, 0x28, 0x8F, 0x22, 0x00,
|
|
0x07, 0x18, 0x8E, 0x34, 0x00,
|
|
0x07, 0x10, 0x8F, 0x22, 0x00,
|
|
0x06, 0xF0, 0x8B, 0x22, 0x00,
|
|
0x06, 0xE8, 0x8C, 0x22, 0x00,
|
|
0x06, 0xE0, 0x8D, 0x22, 0x00,
|
|
0x07, 0x20, 0x00, 0xE2, 0x00,
|
|
0x07, 0x38, 0x00, 0xF2, 0x00,
|
|
0x7F, 0xE0, 0x92, 0x20, 0x00,
|
|
0x7F, 0xE0, 0x91, 0x34, 0x00,
|
|
0x7F, 0xE8, 0x90, 0x22, 0x00,
|
|
0xFF, 0xD8, 0x91, 0x02, 0x00,
|
|
0xFF, 0xD8, 0x92, 0x12, 0x00,
|
|
0x05, 0xE8, 0x91, 0x20, 0x00,
|
|
0x07, 0x40, 0x00, 0xE2, 0x00,
|
|
0x7F, 0xF0, 0x95, 0x20, 0x00,
|
|
0x7F, 0xF0, 0x94, 0x34, 0x00,
|
|
0x7F, 0xF8, 0x93, 0x22, 0x00,
|
|
0xFF, 0xD8, 0x94, 0x02, 0x00,
|
|
0xFF, 0xD8, 0x95, 0x12, 0x00,
|
|
0x07, 0x20, 0x94, 0x20, 0x00,
|
|
0x07, 0x48, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xE8, 0xC1, 0x40, 0x00,
|
|
0x07, 0x40, 0x00, 0xC0, 0x00,
|
|
0x07, 0x47, 0xFF, 0x20, 0x00,
|
|
0x07, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x07, 0xB8, 0x00, 0xF2, 0x00,
|
|
0x07, 0x45, 0x0C, 0x20, 0x00,
|
|
0x07, 0xD8, 0x00, 0xE2, 0x00,
|
|
0x07, 0xD8, 0x00, 0xC0, 0x00,
|
|
0x07, 0xDF, 0xFF, 0x20, 0x00,
|
|
0x07, 0xD8, 0x00, 0xE2, 0x00,
|
|
0x07, 0xE5, 0x08, 0x20, 0x00,
|
|
0x07, 0xE0, 0xBE, 0x22, 0x40,
|
|
0x07, 0xD8, 0xBE, 0x22, 0x08,
|
|
0x07, 0xE8, 0x00, 0xE2, 0x00,
|
|
0x07, 0x6D, 0x08, 0x20, 0x00,
|
|
0x07, 0x68, 0xBE, 0x22, 0x40,
|
|
0x07, 0xB8, 0xBE, 0x22, 0x00,
|
|
0x07, 0x5D, 0x08, 0x34, 0x00,
|
|
0x07, 0x58, 0xBE, 0x22, 0x40,
|
|
0x07, 0xB0, 0xBE, 0x22, 0x00,
|
|
0x07, 0x60, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x42, 0x00,
|
|
0x07, 0x70, 0x00, 0xF2, 0x00,
|
|
0x07, 0xED, 0x08, 0x20, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x82, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x84, 0x23,
|
|
0xFF, 0xED, 0x0A, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x07, 0xF0, 0x00, 0xF6, 0x00,
|
|
0x07, 0xF5, 0x08, 0x22, 0x00,
|
|
0x07, 0xC0, 0x00, 0xE2, 0x00,
|
|
0x07, 0xC0, 0x00, 0xF6, 0x23,
|
|
0x07, 0x8D, 0x08, 0x20, 0x08,
|
|
0x07, 0x90, 0x00, 0xE2, 0x00,
|
|
0x07, 0x7D, 0x08, 0x20, 0x00,
|
|
0xFF, 0xE8, 0xC0, 0x22, 0x67,
|
|
0x07, 0x80, 0x00, 0xE2, 0x00,
|
|
0x07, 0xC5, 0x08, 0x22, 0x48,
|
|
0x07, 0xC5, 0x08, 0x20, 0x00,
|
|
0x07, 0x80, 0x00, 0xE2, 0x27,
|
|
0xFF, 0xE8, 0xBF, 0x20, 0x00,
|
|
0x07, 0x90, 0x00, 0xE2, 0x27,
|
|
0x07, 0x95, 0x08, 0x20, 0x08,
|
|
0xFF, 0xFD, 0x08, 0x22, 0x40,
|
|
0x07, 0x90, 0x00, 0xE2, 0x26,
|
|
0x07, 0x85, 0x1A, 0x20, 0x00,
|
|
0x07, 0xC8, 0x00, 0xE2, 0x00,
|
|
0x07, 0xD0, 0x00, 0xF2, 0x00,
|
|
0x07, 0xC8, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x97, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0x96, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x40,
|
|
0x07, 0x98, 0x00, 0xE2, 0x00,
|
|
0x07, 0xD0, 0x00, 0xC0, 0x00,
|
|
0x07, 0x9F, 0xFF, 0x20, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x00,
|
|
0x07, 0xA8, 0x00, 0xE2, 0x00,
|
|
0x07, 0xA8, 0x00, 0xC0, 0x00,
|
|
0x07, 0x47, 0xFF, 0x20, 0x00,
|
|
0x07, 0x50, 0x00, 0xE2, 0x00,
|
|
0x07, 0x48, 0xC2, 0x20, 0x00,
|
|
0x07, 0xF8, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xE8, 0xEE, 0x40, 0x00,
|
|
0x07, 0x50, 0x00, 0xC0, 0x00,
|
|
0x07, 0x57, 0xFF, 0x20, 0x00,
|
|
0x08, 0x60, 0x00, 0xE2, 0x00,
|
|
0x08, 0x68, 0x00, 0xF2, 0x00,
|
|
0x07, 0x55, 0x0C, 0x20, 0x00,
|
|
0x08, 0x88, 0x00, 0xE2, 0x00,
|
|
0x08, 0x88, 0x00, 0xC0, 0x00,
|
|
0x08, 0x8F, 0xFF, 0x20, 0x00,
|
|
0x08, 0x88, 0x00, 0xE2, 0x00,
|
|
0x08, 0x95, 0x08, 0x20, 0x00,
|
|
0x08, 0x90, 0xEB, 0x22, 0x40,
|
|
0x08, 0x88, 0xEB, 0x22, 0x08,
|
|
0x08, 0x98, 0x00, 0xE2, 0x00,
|
|
0x08, 0x1D, 0x08, 0x20, 0x00,
|
|
0x08, 0x18, 0xEB, 0x22, 0x40,
|
|
0x08, 0x68, 0xEB, 0x22, 0x00,
|
|
0x08, 0x0D, 0x08, 0x34, 0x00,
|
|
0x08, 0x08, 0xEB, 0x22, 0x40,
|
|
0x08, 0x60, 0xEB, 0x22, 0x00,
|
|
0x08, 0x10, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x42, 0x00,
|
|
0x08, 0x20, 0x00, 0xF2, 0x00,
|
|
0x08, 0x9D, 0x08, 0x20, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x82, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x84, 0x23,
|
|
0xFF, 0xED, 0x0A, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x08, 0xA0, 0x00, 0xF6, 0x00,
|
|
0x08, 0xA5, 0x08, 0x22, 0x00,
|
|
0x08, 0x70, 0x00, 0xE2, 0x00,
|
|
0x08, 0x70, 0x00, 0xF6, 0x23,
|
|
0x08, 0x3D, 0x08, 0x20, 0x08,
|
|
0x08, 0x40, 0x00, 0xE2, 0x00,
|
|
0x08, 0x2D, 0x08, 0x20, 0x00,
|
|
0xFF, 0xE8, 0xED, 0x22, 0x67,
|
|
0x08, 0x30, 0x00, 0xE2, 0x00,
|
|
0x08, 0x75, 0x08, 0x22, 0x48,
|
|
0x08, 0x75, 0x08, 0x20, 0x00,
|
|
0x08, 0x30, 0x00, 0xE2, 0x27,
|
|
0xFF, 0xE8, 0xEC, 0x20, 0x00,
|
|
0x08, 0x40, 0x00, 0xE2, 0x27,
|
|
0x08, 0x45, 0x08, 0x20, 0x08,
|
|
0xFF, 0xFD, 0x08, 0x22, 0x40,
|
|
0x08, 0x40, 0x00, 0xE2, 0x26,
|
|
0x08, 0x35, 0x1A, 0x20, 0x00,
|
|
0x08, 0x78, 0x00, 0xE2, 0x00,
|
|
0x08, 0x80, 0x00, 0xF2, 0x00,
|
|
0x08, 0x78, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0xC4, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0xC3, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x40,
|
|
0x08, 0x48, 0x00, 0xE2, 0x00,
|
|
0x08, 0x80, 0x00, 0xC0, 0x00,
|
|
0x08, 0x4F, 0xFF, 0x20, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x00,
|
|
0x08, 0x58, 0x00, 0xE2, 0x00,
|
|
0x08, 0x58, 0x00, 0xC0, 0x00,
|
|
0x07, 0x57, 0xFF, 0x20, 0x00,
|
|
0x08, 0x00, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xE9, 0x1A, 0x40, 0x00,
|
|
0x07, 0xF8, 0x00, 0xC0, 0x00,
|
|
0x07, 0xFF, 0xFF, 0x20, 0x00,
|
|
0x09, 0x00, 0x00, 0xE2, 0x00,
|
|
0x09, 0x08, 0x00, 0xF2, 0x00,
|
|
0x07, 0xFD, 0x0C, 0x20, 0x00,
|
|
0x09, 0x28, 0x00, 0xE2, 0x00,
|
|
0x09, 0x28, 0x00, 0xC0, 0x00,
|
|
0x09, 0x2F, 0xFF, 0x20, 0x00,
|
|
0x09, 0x28, 0x00, 0xE2, 0x00,
|
|
0x09, 0x35, 0x08, 0x20, 0x00,
|
|
0x09, 0x31, 0x17, 0x22, 0x40,
|
|
0x09, 0x29, 0x17, 0x22, 0x08,
|
|
0x09, 0x38, 0x00, 0xE2, 0x00,
|
|
0x08, 0xBD, 0x08, 0x20, 0x00,
|
|
0x08, 0xB9, 0x17, 0x22, 0x40,
|
|
0x09, 0x09, 0x17, 0x22, 0x00,
|
|
0x08, 0xAD, 0x08, 0x34, 0x00,
|
|
0x08, 0xA9, 0x17, 0x22, 0x40,
|
|
0x09, 0x01, 0x17, 0x22, 0x00,
|
|
0x08, 0xB0, 0x00, 0xE2, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x42, 0x00,
|
|
0x08, 0xC0, 0x00, 0xF2, 0x00,
|
|
0x09, 0x3D, 0x08, 0x20, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x82, 0x00,
|
|
0xFF, 0xF5, 0x08, 0x84, 0x23,
|
|
0xFF, 0xED, 0x0A, 0x20, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x09, 0x40, 0x00, 0xF6, 0x00,
|
|
0x09, 0x45, 0x08, 0x22, 0x00,
|
|
0x09, 0x10, 0x00, 0xE2, 0x00,
|
|
0x09, 0x10, 0x00, 0xF6, 0x23,
|
|
0x08, 0xDD, 0x08, 0x20, 0x08,
|
|
0x08, 0xE0, 0x00, 0xE2, 0x00,
|
|
0x08, 0xCD, 0x08, 0x20, 0x00,
|
|
0xFF, 0xE9, 0x19, 0x22, 0x67,
|
|
0x08, 0xD0, 0x00, 0xE2, 0x00,
|
|
0x09, 0x15, 0x08, 0x22, 0x48,
|
|
0x09, 0x15, 0x08, 0x20, 0x00,
|
|
0x08, 0xD0, 0x00, 0xE2, 0x27,
|
|
0xFF, 0xE9, 0x18, 0x20, 0x00,
|
|
0x08, 0xE0, 0x00, 0xE2, 0x27,
|
|
0x08, 0xE5, 0x08, 0x20, 0x08,
|
|
0xFF, 0xFD, 0x08, 0x22, 0x40,
|
|
0x08, 0xE0, 0x00, 0xE2, 0x26,
|
|
0x08, 0xD5, 0x1A, 0x20, 0x00,
|
|
0x09, 0x18, 0x00, 0xE2, 0x00,
|
|
0x09, 0x20, 0x00, 0xF2, 0x00,
|
|
0x09, 0x18, 0x00, 0xC0, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0xF0, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x20, 0x00,
|
|
0x00, 0x00, 0xEF, 0xA1, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x40,
|
|
0x08, 0xE8, 0x00, 0xE2, 0x00,
|
|
0x09, 0x20, 0x00, 0xC0, 0x00,
|
|
0x08, 0xEF, 0xFF, 0x20, 0x00,
|
|
0xFF, 0xE5, 0x08, 0x22, 0x00,
|
|
0x08, 0xF8, 0x00, 0xE2, 0x00,
|
|
0x08, 0xF8, 0x00, 0xC0, 0x00,
|
|
0x07, 0xFF, 0xFF, 0x20, 0x00,
|
|
0x09, 0x60, 0x00, 0xE2, 0x00,
|
|
0x08, 0x01, 0x1B, 0x20, 0x00,
|
|
0x09, 0x48, 0x00, 0xE2, 0x00,
|
|
0x09, 0x89, 0x1F, 0x20, 0x00,
|
|
0x09, 0x81, 0x20, 0x22, 0x00,
|
|
0x09, 0x71, 0x1F, 0x34, 0x00,
|
|
0x09, 0x69, 0x20, 0x22, 0x00,
|
|
0x09, 0x61, 0x1C, 0x22, 0x00,
|
|
0x09, 0x59, 0x1D, 0x22, 0x00,
|
|
0x09, 0x51, 0x1E, 0x22, 0x00,
|
|
0x09, 0x78, 0x00, 0xE2, 0x00,
|
|
0x09, 0x90, 0x00, 0xF2, 0x00,
|
|
0x09, 0xB9, 0x24, 0x20, 0x00,
|
|
0x09, 0xB1, 0x25, 0x22, 0x00,
|
|
0x09, 0xA1, 0x24, 0x34, 0x00,
|
|
0x09, 0x99, 0x25, 0x22, 0x00,
|
|
0x09, 0x79, 0x21, 0x22, 0x00,
|
|
0x09, 0x71, 0x22, 0x22, 0x00,
|
|
0x09, 0x69, 0x23, 0x22, 0x00,
|
|
0x09, 0xA8, 0x00, 0xE2, 0x00,
|
|
0x09, 0xC0, 0x00, 0xF2, 0x00,
|
|
0x09, 0xE9, 0x29, 0x20, 0x00,
|
|
0x09, 0xE1, 0x2A, 0x22, 0x00,
|
|
0x09, 0xD1, 0x29, 0x34, 0x00,
|
|
0x09, 0xC9, 0x2A, 0x22, 0x00,
|
|
0x09, 0xA9, 0x26, 0x22, 0x00,
|
|
0x09, 0xA1, 0x27, 0x22, 0x00,
|
|
0x09, 0x99, 0x28, 0x22, 0x00,
|
|
0x09, 0xD8, 0x00, 0xE2, 0x00,
|
|
0x09, 0xF0, 0x00, 0xF2, 0x00,
|
|
0x09, 0xD9, 0x2B, 0x20, 0x00,
|
|
0x09, 0xF8, 0x00, 0xE2, 0x00,
|
|
0x09, 0x4D, 0x08, 0x20, 0x00,
|
|
0xFD, 0xB0, 0x00, 0xE2, 0x00,
|
|
0x09, 0xFD, 0x08, 0x20, 0x00,
|
|
0xFD, 0xB8, 0x00, 0xE2, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0x30, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xFE, 0xC0, 0x0F, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_34[] = {
|
|
0x00, 0x00, /* (34) Param */
|
|
0x00, 0x00, 0x0F, 0xFC,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x87, 0x95, 0xA0,
|
|
0x00, 0x00, 0x08, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x0F, 0x02, 0x67, 0x53,
|
|
0x00, 0x7D, 0xA0, 0xAF,
|
|
0x00, 0xFD, 0x98, 0xAD,
|
|
0x0F, 0x82, 0x5F, 0x51,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x0F, 0x80, 0x9E, 0x3D,
|
|
0x00, 0x34, 0x25, 0x2B,
|
|
0x00, 0x7F, 0x61, 0xC3,
|
|
0x0F, 0xCB, 0xDA, 0xD5,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0xE7, 0x44,
|
|
0x0F, 0x13, 0x71, 0x1C,
|
|
0x00, 0x70, 0x4A, 0x0B,
|
|
0x00, 0xEC, 0x8E, 0xE4,
|
|
0x0F, 0x8E, 0xCE, 0xB1,
|
|
0x00, 0x7B, 0xD6, 0x6A,
|
|
0x0F, 0x71, 0xA0, 0xD2,
|
|
0x00, 0x63, 0x1A, 0xDB,
|
|
0x00, 0x8E, 0x5F, 0x2E,
|
|
0x0F, 0xA1, 0x0E, 0xBB,
|
|
0x00, 0x21, 0x51, 0x9D,
|
|
0x00, 0x42, 0xA3, 0x3A,
|
|
0x00, 0x21, 0x51, 0x9D,
|
|
0x00, 0x26, 0xDF, 0xA6,
|
|
0x0F, 0xD3, 0xD9, 0xE5,
|
|
0x00, 0x7D, 0x61, 0xFE,
|
|
0x0F, 0x05, 0x3C, 0x04,
|
|
0x00, 0x7D, 0x61, 0xFE,
|
|
0x00, 0xFA, 0xB2, 0x8B,
|
|
0x0F, 0x85, 0x2A, 0x94,
|
|
0x00, 0x80, 0x50, 0xA2,
|
|
0x0F, 0x05, 0xB3, 0x1E,
|
|
0x00, 0x7A, 0x85, 0xBD,
|
|
0x00, 0xFA, 0x4C, 0xE2,
|
|
0x0F, 0x85, 0x29, 0xA1,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x40, 0x00, 0x00,
|
|
0x00, 0x7F, 0x76, 0x6D,
|
|
0x0F, 0x01, 0x13, 0x27,
|
|
0x00, 0x7F, 0x76, 0x6D,
|
|
0x00, 0xFE, 0xEC, 0x48,
|
|
0x0F, 0x81, 0x12, 0x96,
|
|
0x00, 0x7F, 0x76, 0x6D,
|
|
0x0F, 0x01, 0x13, 0x27,
|
|
0x00, 0x7F, 0x76, 0x6D,
|
|
0x00, 0xFE, 0xEC, 0x48,
|
|
0x0F, 0x81, 0x12, 0x96,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x0D, 0x16,
|
|
0x00, 0x00, 0x1A, 0x2D,
|
|
0x00, 0xF9, 0xD7, 0x21,
|
|
0x00, 0x00, 0x0D, 0x16,
|
|
0x0F, 0x86, 0x03, 0xCF,
|
|
0x00, 0x00, 0x09, 0x44,
|
|
0x00, 0x00, 0x12, 0x88,
|
|
0x00, 0xF9, 0xD7, 0x21,
|
|
0x00, 0x00, 0x09, 0x44,
|
|
0x0F, 0x86, 0x03, 0xCF,
|
|
0x00, 0x4E, 0xEA, 0x47,
|
|
0x0F, 0x62, 0x2B, 0x72,
|
|
0x00, 0xFA, 0x13, 0xC2,
|
|
0x00, 0x4E, 0xEA, 0x47,
|
|
0x0F, 0x85, 0xC9, 0xF2,
|
|
0x00, 0x7D, 0x12, 0x74,
|
|
0x0F, 0x05, 0xDB, 0x18,
|
|
0x00, 0xFA, 0x13, 0xC2,
|
|
0x00, 0x7D, 0x12, 0x74,
|
|
0x0F, 0x85, 0xC9, 0xF2,
|
|
0x00, 0x80, 0x1D, 0x97,
|
|
0x0F, 0x00, 0xEC, 0x9F,
|
|
0x00, 0x7E, 0xFD, 0xD9,
|
|
0x00, 0xFF, 0x13, 0x61,
|
|
0x0F, 0x80, 0xE4, 0x90,
|
|
0x00, 0x80, 0x50, 0x64,
|
|
0x0F, 0x00, 0xA5, 0x22,
|
|
0x00, 0x7F, 0x0E, 0x0F,
|
|
0x00, 0xFF, 0x5A, 0xDE,
|
|
0x0F, 0x80, 0xA1, 0x8D,
|
|
0x00, 0x80, 0x8B, 0x50,
|
|
0x0F, 0x06, 0x4F, 0x3C,
|
|
0x00, 0x79, 0xAE, 0x9C,
|
|
0x00, 0xF9, 0xB0, 0xC4,
|
|
0x0F, 0x85, 0xC6, 0x15,
|
|
0x00, 0x80, 0x7E, 0xBB,
|
|
0x0F, 0x03, 0xF8, 0x4B,
|
|
0x00, 0x7B, 0xAE, 0x5C,
|
|
0x00, 0xFC, 0x07, 0xB5,
|
|
0x0F, 0x83, 0xD2, 0xE9,
|
|
0x00, 0x99, 0x7D, 0xD0,
|
|
0x0F, 0xA2, 0x18, 0x34,
|
|
0x00, 0x3A, 0xCB, 0x2A,
|
|
0x00, 0x37, 0x9D, 0x8E,
|
|
0x0F, 0xD2, 0x01, 0x44,
|
|
0x00, 0x7D, 0x06, 0xB4,
|
|
0x0F, 0x35, 0xAB, 0x24,
|
|
0x00, 0x66, 0x0E, 0x45,
|
|
0x00, 0xCA, 0x54, 0xDC,
|
|
0x0F, 0x9C, 0xEB, 0x07,
|
|
0x00, 0x84, 0xFA, 0x80,
|
|
0x0F, 0x7B, 0x91, 0x2F,
|
|
0x00, 0x54, 0x90, 0xF6,
|
|
0x00, 0x84, 0x6E, 0xD1,
|
|
0x0F, 0xA6, 0x74, 0x89,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x01, 0x94, 0xC5, 0x84,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x01, 0x94, 0xC5, 0x84,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x74, 0xA8, 0xB6,
|
|
0x00, 0x5F, 0x3E, 0x5E,
|
|
0x00, 0x47, 0x4B, 0xE9,
|
|
0x00, 0x32, 0xF5, 0x1E,
|
|
0x00, 0x24, 0x13, 0x47,
|
|
0x00, 0x19, 0x82, 0x54,
|
|
0x00, 0x12, 0x09, 0xA3,
|
|
0x00, 0x0C, 0xC1, 0x2A,
|
|
0x00, 0x09, 0x04, 0xD2,
|
|
0x00, 0x06, 0x60, 0x95,
|
|
0x00, 0x04, 0x82, 0x69,
|
|
0x00, 0x00, 0x01, 0x6A,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x10,
|
|
0x00, 0x00, 0x51, 0xEC,
|
|
0x0F, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x74, 0xA8, 0xB6,
|
|
0x00, 0x5F, 0x3E, 0x5E,
|
|
0x00, 0x47, 0x4B, 0xE9,
|
|
0x00, 0x32, 0xF5, 0x1E,
|
|
0x00, 0x24, 0x13, 0x47,
|
|
0x00, 0x19, 0x82, 0x54,
|
|
0x00, 0x12, 0x09, 0xA3,
|
|
0x00, 0x0C, 0xC1, 0x2A,
|
|
0x00, 0x09, 0x04, 0xD2,
|
|
0x00, 0x06, 0x60, 0x95,
|
|
0x00, 0x04, 0x82, 0x69,
|
|
0x00, 0x00, 0x1B, 0x5D,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x9E,
|
|
0x00, 0x00, 0x51, 0xEC,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x72, 0x15, 0x9E,
|
|
0x00, 0x5D, 0x53, 0xC3,
|
|
0x00, 0x46, 0x9A, 0xB6,
|
|
0x00, 0x32, 0xEA, 0xCB,
|
|
0x00, 0x24, 0x13, 0x47,
|
|
0x00, 0x19, 0x8A, 0x13,
|
|
0x00, 0x12, 0x14, 0x9A,
|
|
0x00, 0x0C, 0xC8, 0xEB,
|
|
0x00, 0x09, 0x0A, 0x4D,
|
|
0x00, 0x06, 0x64, 0x75,
|
|
0x00, 0x04, 0x85, 0x27,
|
|
0x00, 0x03, 0x32, 0x3B,
|
|
0x00, 0x02, 0x42, 0x93,
|
|
0x00, 0x01, 0x12, 0x2E,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x01, 0x8B,
|
|
0x00, 0x00, 0x51, 0xEC,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x80, 0x00, 0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_35[] = {
|
|
0x1F, 0xFC, /* (35) Non Modulo RAM */
|
|
0x00, 0x7F, 0xF2, 0x59, 0x00,
|
|
0x00, 0x0D, 0xA7, 0x00, 0x7F,
|
|
0xF2, 0x59, 0x00, 0x00, 0x0D,
|
|
0xA7,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_36[] = {
|
|
0x40,
|
|
0xEB, /* (36) IC 1.Sample Rate Setting */
|
|
0x01,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_37[] = {
|
|
0x40,
|
|
0xF6, /* (37) IC 1.DSP Run Register */
|
|
0x01,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_38[] = {
|
|
0x40,
|
|
0x36, /* (38) IC 1.Dejitter Register Control */
|
|
0x00,
|
|
};
|
|
|
|
const unsigned char adau1761_init_arr_39[] = {
|
|
0x40,
|
|
0x36, /* (39) IC 1.Dejitter Register Control */
|
|
0x03,
|
|
};
|
|
|
|
typedef struct {
|
|
const unsigned char *p_arr;
|
|
unsigned int byte_len;
|
|
} adau1761_init_matrix;
|
|
|
|
const adau1761_init_matrix adau1761_init_matrix_arr[] = {
|
|
{adau1761_init_arr_00, sizeof(adau1761_init_arr_00)},
|
|
{adau1761_init_arr_01, sizeof(adau1761_init_arr_01)},
|
|
{adau1761_init_arr_02, sizeof(adau1761_init_arr_02)},
|
|
{adau1761_init_arr_03, sizeof(adau1761_init_arr_03)},
|
|
{adau1761_init_arr_04, sizeof(adau1761_init_arr_04)},
|
|
{adau1761_init_arr_05, sizeof(adau1761_init_arr_05)},
|
|
{adau1761_init_arr_06, sizeof(adau1761_init_arr_06)},
|
|
{adau1761_init_arr_07, sizeof(adau1761_init_arr_07)},
|
|
{adau1761_init_arr_08, sizeof(adau1761_init_arr_08)},
|
|
{adau1761_init_arr_09, sizeof(adau1761_init_arr_09)},
|
|
{adau1761_init_arr_10, sizeof(adau1761_init_arr_10)},
|
|
{adau1761_init_arr_11, sizeof(adau1761_init_arr_11)},
|
|
{adau1761_init_arr_12, sizeof(adau1761_init_arr_12)},
|
|
{adau1761_init_arr_13, sizeof(adau1761_init_arr_13)},
|
|
{adau1761_init_arr_14, sizeof(adau1761_init_arr_14)},
|
|
{adau1761_init_arr_15, sizeof(adau1761_init_arr_15)},
|
|
{adau1761_init_arr_16, sizeof(adau1761_init_arr_16)},
|
|
{adau1761_init_arr_17, sizeof(adau1761_init_arr_17)},
|
|
{adau1761_init_arr_18, sizeof(adau1761_init_arr_18)},
|
|
{adau1761_init_arr_19, sizeof(adau1761_init_arr_19)},
|
|
{adau1761_init_arr_20, sizeof(adau1761_init_arr_20)},
|
|
{adau1761_init_arr_21, sizeof(adau1761_init_arr_21)},
|
|
{adau1761_init_arr_22, sizeof(adau1761_init_arr_22)},
|
|
{adau1761_init_arr_23, sizeof(adau1761_init_arr_23)},
|
|
{adau1761_init_arr_24, sizeof(adau1761_init_arr_24)},
|
|
{adau1761_init_arr_25, sizeof(adau1761_init_arr_25)},
|
|
{adau1761_init_arr_26, sizeof(adau1761_init_arr_26)},
|
|
{adau1761_init_arr_27, sizeof(adau1761_init_arr_27)},
|
|
{adau1761_init_arr_28, sizeof(adau1761_init_arr_28)},
|
|
{adau1761_init_arr_29, sizeof(adau1761_init_arr_29)},
|
|
{adau1761_init_arr_30, sizeof(adau1761_init_arr_30)},
|
|
{adau1761_init_arr_31, sizeof(adau1761_init_arr_31)},
|
|
{adau1761_init_arr_32, sizeof(adau1761_init_arr_32)},
|
|
{adau1761_init_arr_33, sizeof(adau1761_init_arr_33)},
|
|
{adau1761_init_arr_34, sizeof(adau1761_init_arr_34)},
|
|
{adau1761_init_arr_35, sizeof(adau1761_init_arr_35)},
|
|
{adau1761_init_arr_36, sizeof(adau1761_init_arr_36)},
|
|
{adau1761_init_arr_37, sizeof(adau1761_init_arr_37)},
|
|
{adau1761_init_arr_38, sizeof(adau1761_init_arr_38)},
|
|
{adau1761_init_arr_39, sizeof(adau1761_init_arr_39)}};
|
|
|
|
#define ADAU1761_INIT_ARR_COUNT \
|
|
(sizeof(adau1761_init_matrix_arr) / sizeof(adau1761_init_matrix))
|
|
|
|
struct vol_table {
|
|
int vtable_step;
|
|
float volgain_db;
|
|
uint8_t ram_word[4];
|
|
};
|
|
|
|
/* 2dB step */
|
|
static const struct vol_table adau1761_vol_table[] = {
|
|
{20, 0, {0x00, 0x80, 0x00, 0x00}}, {19, -1, {0x00, 0x72, 0x14, 0x7B}},
|
|
{18, -2, {0x00, 0x65, 0xAC, 0x8C}}, {17, -3, {0x00, 0x5A, 0x9D, 0xF8}},
|
|
{16, -4, {0x00, 0x50, 0xC3, 0x36}}, {15, -6, {0x00, 0x40, 0x26, 0xE7}},
|
|
{14, -8, {0x00, 0x32, 0xF5, 0x2D}}, {13, -10, {0x00, 0x28, 0x7A, 0x27}},
|
|
{12, -12, {0x00, 0x20, 0x26, 0xF3}}, {11, -14, {0x00, 0x19, 0x8A, 0x13}},
|
|
{10, -16, {0x00, 0x14, 0x49, 0x61}}, {9, -20, {0x00, 0x0C, 0xCC, 0xCD}},
|
|
{8, -24, {0x00, 0x08, 0x13, 0x85}}, {7, -28, {0x00, 0x05, 0x5E, 0x7F}},
|
|
{6, -32, {0x00, 0x03, 0x37, 0x18}}, {5, -36, {0x00, 0x02, 0x07, 0x56}},
|
|
{4, -40, {0x00, 0x01, 0x47, 0xAE}}, {3, -44, {0x00, 0x00, 0xCE, 0xC1}},
|
|
{2, -52, {0x00, 0x00, 0x52, 0x4F}}, {1, -60, {0x00, 0x00, 0x20, 0xC5}},
|
|
{0, -80, {0x00, 0x00, 0x03, 0x47}},
|
|
};
|
|
|
|
#define VOL_STEP_NUM (sizeof(adau1761_vol_table) / sizeof(struct vol_table))
|
|
#define MAX_VOL_STEP (VOL_STEP_NUM - 1)
|
|
|
|
const u8 src_analog_arr[] = {0x00, 0x00, 0x00, 0x00};
|
|
const u8 src_dig_arr[] = {0x00, 0x00, 0x00, 0x01};
|
|
|
|
const unsigned char adau1761_eq1_normal[] = {0x00, 0x00, 0x00, 0x00};
|
|
|
|
const unsigned char adau1761_eq1_decrease[] = {0x00, 0x00, 0x00, 0x01};
|
|
|
|
const unsigned char adau1761_eq2_improve[] = {0x00, 0x00, 0x00, 0x02};
|
|
|
|
// io commands
|
|
#define MAGIC_NUM 'A'
|
|
#define ADAU1761_CMD_VOL_SET _IOW(MAGIC_NUM, 0, int)
|
|
#define ADAU1761_CMD_VOL_GET _IOR(MAGIC_NUM, 1, int)
|
|
#define ADAU1761_CMD_AMP_MUTE_SET _IOW(MAGIC_NUM, 2, int)
|
|
#define ADAU1761_CMD_AMP_MUTE_GET _IOR(MAGIC_NUM, 3, int)
|
|
#define ADAU1761_CMD_SRC_SET _IOW(MAGIC_NUM, 4, int)
|
|
#define ADAU1761_CMD_SRC_GET _IOR(MAGIC_NUM, 5, int)
|
|
#define ADAU1761_CMD_FW_LOAD _IOW(MAGIC_NUM, 6, int)
|
|
#define ADAU1761_CMD_EQ_SET _IOW(MAGIC_NUM, 7, int)
|
|
|
|
#define ADAU1761_CMD_MAX (7)
|
|
|
|
struct adau1761_priv_data {
|
|
struct i2c_client *i2c_client;
|
|
u8 i2c_ch;
|
|
u8 vol;
|
|
u8 is_mute;
|
|
u8 src; // 0-analog, 1-i2s
|
|
};
|
|
|
|
static int default_pwm_freq = 24576000; // 24.576 default
|
|
static struct pwm_device *pwm_dev[2];
|
|
static int duty_ns;
|
|
static int period_ns;
|
|
static int polarity = 0;
|
|
/*for pa sdz gpio ctrl*/
|
|
static int pa_sdz_item;
|
|
/*for pa mute gpio ctrl*/
|
|
static int pa_mute_item;
|
|
|
|
static DEFINE_MUTEX(adau1761_mutex);
|
|
static struct adau1761_priv_data adau1761_priv;
|
|
|
|
static inline u32 sigma_action_len(struct sigma_action *sa) {
|
|
return (le32_to_cpu(sa->len));
|
|
}
|
|
|
|
static size_t sigma_action_size(struct sigma_action *sa) {
|
|
size_t payload = 0;
|
|
|
|
switch (le32_to_cpu(sa->ind)) {
|
|
case SIGMA_ACTION_WRITEXBYTES:
|
|
case SIGMA_ACTION_CONTROL:
|
|
payload = sigma_action_len(sa);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return payload;
|
|
}
|
|
|
|
/*
|
|
* Returns a negative error value in case of an error, 0 if processing of
|
|
* the firmware should be stopped after this action, 1 otherwise.
|
|
*/
|
|
static int process_sigma_action(struct sigma_firmware *ssfw,
|
|
struct sigma_action *sa) {
|
|
size_t len = sigma_action_len(sa);
|
|
u16 addr;
|
|
int ret;
|
|
|
|
DSP_DEBUG("%s: len:%d ind:%#x\n", __func__, len, le32_to_cpu(sa->ind));
|
|
|
|
switch (le32_to_cpu(sa->ind)) {
|
|
case SIGMA_ACTION_WRITEXBYTES:
|
|
if (len <= sizeof(struct sigma_action) + 2) {
|
|
pr_debug("%s: short length in SIGMA_ACTION_WRITEXBYTES!\n",
|
|
__func__);
|
|
return -EINVAL;
|
|
}
|
|
|
|
len = len - sizeof(struct sigma_action);
|
|
addr = *(const u16 *)(ssfw->fw->data + ssfw->pos +
|
|
sizeof(struct sigma_action));
|
|
DSP_DEBUG("%s: addr:%#x\n", __func__, addr);
|
|
|
|
if ((addr == 0) && (len == 4)) {
|
|
msleep(100);
|
|
} else {
|
|
ret = i2c_master_send(adau1761_priv.i2c_client,
|
|
(const char *)(ssfw->fw->data + ssfw->pos +
|
|
sizeof(struct sigma_action)),
|
|
len);
|
|
if (ret < 0)
|
|
return -EINVAL;
|
|
}
|
|
break;
|
|
|
|
case SIGMA_ACTION_CONTROL:
|
|
return 0;
|
|
|
|
default:
|
|
return -EINVAL;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
static int process_sigma_actions(struct sigma_firmware *ssfw) {
|
|
struct sigma_action *sa;
|
|
size_t size;
|
|
int ret;
|
|
|
|
while (ssfw->pos < ssfw->fw->size) {
|
|
sa = (struct sigma_action *)(ssfw->fw->data + ssfw->pos);
|
|
size = sigma_action_size(sa);
|
|
|
|
if (size == 0)
|
|
break;
|
|
|
|
ret = process_sigma_action(ssfw, sa);
|
|
|
|
DSP_DEBUG("%s: action returned %i\n", __func__, ret);
|
|
|
|
if (ret <= 0)
|
|
return ret;
|
|
|
|
size = ALIGN(size, 4);
|
|
ssfw->pos += size;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
static int _process_sigma_firmware(struct device *dev,
|
|
struct sigma_firmware *ssfw,
|
|
const char *name) {
|
|
int ret;
|
|
struct sigma_firmware_header *ssfw_head;
|
|
const struct firmware *fw;
|
|
u32 crc;
|
|
|
|
DSP_DEBUG("%s: loading firmware %s\n", __func__, name);
|
|
|
|
/* first load the blob */
|
|
ret = request_firmware(&fw, name, dev);
|
|
if (ret) {
|
|
pr_debug("%s: request_firmware() failed with %i\n", __func__, ret);
|
|
return ret;
|
|
}
|
|
ssfw->fw = fw;
|
|
|
|
/* then verify the header */
|
|
ret = -EINVAL;
|
|
|
|
/*
|
|
* Reject too small or unreasonable large files. The upper limit has been
|
|
* chosen a bit arbitrarily, but it should be enough for all practical
|
|
* purposes and having the limit makes it easier to avoid integer
|
|
* overflows later in the loading process.
|
|
*/
|
|
if (fw->size < sizeof(*ssfw_head) || fw->size >= 0x4000000) {
|
|
dev_err(dev, "Failed to load firmware: Invalid size\n");
|
|
goto done;
|
|
}
|
|
|
|
ssfw_head = (void *)fw->data;
|
|
if (memcmp(ssfw_head->magic, SIGMA_MAGIC, ARRAY_SIZE(ssfw_head->magic))) {
|
|
dev_err(dev, "Failed to load firmware: Invalid magic\n");
|
|
goto done;
|
|
}
|
|
|
|
crc =
|
|
crc32(0, fw->data + sizeof(*ssfw_head), fw->size - sizeof(*ssfw_head));
|
|
DSP_DEBUG("%s: crc=%x\n", __func__, crc);
|
|
|
|
if (crc != le32_to_cpu(ssfw_head->crc)) {
|
|
dev_err(
|
|
dev,
|
|
"Failed to load firmware: Wrong crc checksum: expected %x got %x\n",
|
|
le32_to_cpu(ssfw_head->crc), crc);
|
|
goto done;
|
|
}
|
|
|
|
ssfw->pos = sizeof(*ssfw_head) + sizeof(struct sigma_samprate_list);
|
|
|
|
/* finally process all of the actions */
|
|
ret = process_sigma_actions(ssfw);
|
|
|
|
done:
|
|
release_firmware(fw);
|
|
|
|
DSP_DEBUG("%s: loaded %s\n", __func__, name);
|
|
|
|
return ret;
|
|
}
|
|
|
|
int process_sigma_firmware(struct i2c_client *client, const char *name) {
|
|
struct sigma_firmware ssfw;
|
|
|
|
ssfw.control_data = client;
|
|
|
|
return _process_sigma_firmware(&client->dev, &ssfw, name);
|
|
}
|
|
|
|
static void pwm_init(int pwm_ch) {
|
|
char pwm_name[10];
|
|
sprintf(pwm_name, "pwm_%d", pwm_ch);
|
|
|
|
pwm_dev[pwm_ch] = pwm_request(pwm_ch, pwm_name);
|
|
if (NULL == pwm_dev[pwm_ch] || IS_ERR(pwm_dev[pwm_ch])) {
|
|
DSP_DEBUG("OSAL_Pwm_request pwm fail!\n");
|
|
}
|
|
|
|
pwm_set_polarity(pwm_dev[pwm_ch], polarity);
|
|
|
|
period_ns = 1000000000 / default_pwm_freq;
|
|
|
|
duty_ns = (128 * period_ns) / 256;
|
|
|
|
pwm_config(pwm_dev[pwm_ch], duty_ns, period_ns);
|
|
}
|
|
|
|
static int adau1761_safe_load(uint8_t *word_arr, unsigned int word_num,
|
|
unsigned int target_addr) {
|
|
uint8_t temp_arr[SAFE_LOAD_REG_NUM * 4 + 2];
|
|
int cnt, ret = 0;
|
|
|
|
if (word_num > SAFE_LOAD_WORD_NUM_MAX) {
|
|
DSP_DEBUG("safe_load: > 5 words!\n");
|
|
ret = -1;
|
|
|
|
return ret;
|
|
}
|
|
|
|
if (word_arr == NULL) {
|
|
DSP_DEBUG("safe_load: word_arr == NULL!\n");
|
|
ret = -1;
|
|
|
|
return ret;
|
|
}
|
|
|
|
if (target_addr < 1) {
|
|
DSP_DEBUG("safe_load: target_addr < 1!\n");
|
|
ret = -1;
|
|
|
|
return ret;
|
|
}
|
|
|
|
/* fill with zero */
|
|
memset(temp_arr, 0, sizeof(temp_arr));
|
|
|
|
/* safeload register */
|
|
temp_arr[0] = (uint8_t)((SAFE_LOAD_DATA_1_REG >> 8) & 0xFF);
|
|
temp_arr[1] = (uint8_t)(SAFE_LOAD_DATA_1_REG & 0xFF);
|
|
|
|
/* fill with data */
|
|
for (cnt = 0; cnt < word_num * 4; cnt++) {
|
|
temp_arr[cnt + 2] = word_arr[cnt];
|
|
}
|
|
|
|
/* target addr */
|
|
cnt = (SAFE_LOAD_TARGET_ADDR_REG - SAFE_LOAD_DATA_1_REG) * 4 + 4;
|
|
target_addr = target_addr - 1;
|
|
temp_arr[cnt] = (unsigned char)((target_addr >> 8) & 0xFF);
|
|
cnt++;
|
|
temp_arr[cnt] = (unsigned char)(target_addr & 0xFF);
|
|
|
|
/* word number */
|
|
cnt = (SAFE_LOAD_WORD_NUM_REG - SAFE_LOAD_DATA_1_REG) * 4 + 5;
|
|
temp_arr[cnt] = (unsigned char)(word_num & 0xFF);
|
|
|
|
/* burst transfer */
|
|
cnt = SAFE_LOAD_REG_NUM * 4 + 2;
|
|
ret =
|
|
i2c_master_send(adau1761_priv.i2c_client, (const char *)temp_arr, cnt);
|
|
return ret;
|
|
}
|
|
|
|
/*
|
|
* Change EQ when system operating
|
|
* input: int arg
|
|
* output: int ret
|
|
*/
|
|
static int adau1761_safe_load_new_eq(unsigned long arg) {
|
|
unsigned int i;
|
|
int ret = -1;
|
|
gpio_set_value(pa_mute_item, 1);
|
|
if (arg == 0) {
|
|
ret = adau1761_safe_load((uint8_t *)(&adau1761_eq1_normal[0]), 1,
|
|
SAFE_LOAD_EQ_SWITCH_REG);
|
|
} else if (arg == 1) {
|
|
ret = adau1761_safe_load((uint8_t *)(&adau1761_eq1_decrease[0]), 1,
|
|
SAFE_LOAD_EQ_SWITCH_REG);
|
|
} else if (arg == 2) {
|
|
ret = adau1761_safe_load((uint8_t *)(&adau1761_eq2_improve[0]), 1,
|
|
SAFE_LOAD_EQ_SWITCH_REG);
|
|
} else {
|
|
DSP_DEBUG("failed to load adau1761_new_EQ: out range\n");
|
|
}
|
|
gpio_set_value(pa_mute_item, 0);
|
|
return ret;
|
|
}
|
|
|
|
static unsigned int adau1761_register_size(unsigned int reg) {
|
|
switch (reg) {
|
|
case ADAU1761_DIGMIC_JACKDETECT:
|
|
case ADAU1761_REC_MIXER_LEFT0:
|
|
case ADAU1761_REC_MIXER_LEFT1:
|
|
case ADAU1761_REC_MIXER_RIGHT0:
|
|
case ADAU1761_REC_MIXER_RIGHT1:
|
|
case ADAU1761_LEFT_DIFF_INPUT_VOL:
|
|
case ADAU1761_RIGHT_DIFF_INPUT_VOL:
|
|
case ADAU1761_PLAY_LR_MIXER_LEFT:
|
|
case ADAU1761_PLAY_MIXER_LEFT0:
|
|
case ADAU1761_PLAY_MIXER_LEFT1:
|
|
case ADAU1761_PLAY_MIXER_RIGHT0:
|
|
case ADAU1761_PLAY_MIXER_RIGHT1:
|
|
case ADAU1761_PLAY_LR_MIXER_RIGHT:
|
|
case ADAU1761_PLAY_MIXER_MONO:
|
|
case ADAU1761_PLAY_HP_LEFT_VOL:
|
|
case ADAU1761_PLAY_HP_RIGHT_VOL:
|
|
case ADAU1761_PLAY_LINE_LEFT_VOL:
|
|
case ADAU1761_PLAY_LINE_RIGHT_VOL:
|
|
case ADAU1761_PLAY_MONO_OUTPUT_VOL:
|
|
case ADAU1761_POP_CLICK_SUPPRESS:
|
|
case ADAU1761_JACK_DETECT_PIN:
|
|
case ADAU1761_DEJITTER:
|
|
case ADAU1761_CLK_ENABLE0:
|
|
case ADAU1761_CLK_ENABLE1:
|
|
case ADAU17X1_CLOCK_CONTROL:
|
|
case ADAU17X1_PLL_CONTROL:
|
|
case ADAU17X1_REC_POWER_MGMT:
|
|
case ADAU17X1_MICBIAS:
|
|
case ADAU17X1_SERIAL_PORT0:
|
|
case ADAU17X1_SERIAL_PORT1:
|
|
case ADAU17X1_CONVERTER0:
|
|
case ADAU17X1_CONVERTER1:
|
|
case ADAU17X1_LEFT_INPUT_DIGITAL_VOL:
|
|
case ADAU17X1_RIGHT_INPUT_DIGITAL_VOL:
|
|
case ADAU17X1_ADC_CONTROL:
|
|
case ADAU17X1_PLAY_POWER_MGMT:
|
|
case ADAU17X1_DAC_CONTROL0:
|
|
case ADAU17X1_DAC_CONTROL1:
|
|
case ADAU17X1_DAC_CONTROL2:
|
|
case ADAU17X1_SERIAL_PORT_PAD:
|
|
case ADAU17X1_CONTROL_PORT_PAD0:
|
|
case ADAU17X1_CONTROL_PORT_PAD1:
|
|
case ADAU17X1_DSP_SAMPLING_RATE:
|
|
case ADAU17X1_SERIAL_INPUT_ROUTE:
|
|
case ADAU17X1_SERIAL_OUTPUT_ROUTE:
|
|
case ADAU17X1_DSP_ENABLE:
|
|
case ADAU17X1_DSP_RUN:
|
|
case ADAU17X1_SERIAL_SAMPLING_RATE:
|
|
return 1;
|
|
|
|
default:
|
|
if ((reg > ADAU1761_DATA_PARAM_START_ADDR) &&
|
|
(reg <= ADAU1761_DATA_PARAM_END_ADDR)) {
|
|
return 4;
|
|
} else { // do not support program RAM
|
|
DSP_DEBUG("register_size: Unsupported register address: %d\n", reg);
|
|
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
static unsigned int adau1761_read(unsigned int reg) {
|
|
unsigned int i;
|
|
unsigned int size;
|
|
uint8_t buf[4];
|
|
int ret;
|
|
|
|
size = adau1761_register_size(reg);
|
|
if (size == 0) {
|
|
return 0;
|
|
}
|
|
|
|
buf[0] = (uint8_t)((reg >> 8) && 0xFF);
|
|
buf[1] = (uint8_t)(reg && 0xFF);
|
|
|
|
ret = i2c_master_send(adau1761_priv.i2c_client, buf, 2);
|
|
|
|
if (ret < 0) {
|
|
i = (unsigned int)ret;
|
|
|
|
return i;
|
|
} else if (ret != size + 2) {
|
|
i = (unsigned int)(-EIO);
|
|
|
|
return i;
|
|
}
|
|
|
|
ret = i2c_master_recv(adau1761_priv.i2c_client, buf, size);
|
|
|
|
if (ret != size) {
|
|
i = (unsigned int)(-EIO);
|
|
|
|
return i;
|
|
} else {
|
|
ret = 0;
|
|
|
|
for (i = 0; i < size; i++) {
|
|
ret += buf[i];
|
|
ret <<= 8;
|
|
}
|
|
|
|
i = (uint32_t)ret;
|
|
|
|
return i;
|
|
}
|
|
}
|
|
|
|
static int adau1761_write(unsigned int reg, unsigned int value) {
|
|
unsigned int i;
|
|
unsigned int size;
|
|
uint8_t buf[4];
|
|
int ret;
|
|
|
|
size = adau1761_register_size(reg);
|
|
if (size == 0) {
|
|
return -EINVAL;
|
|
}
|
|
|
|
buf[0] = (uint8_t)((reg >> 8) && 0xFF);
|
|
buf[1] = (uint8_t)(reg && 0xFF);
|
|
|
|
for (i = size + 1; i > 1; --i) {
|
|
buf[i] = (uint8_t)(value && 0xFF);
|
|
value >>= 8;
|
|
}
|
|
|
|
ret = i2c_master_send(adau1761_priv.i2c_client, buf, size + 2);
|
|
|
|
if (ret == size + 2) {
|
|
return 0;
|
|
} else if (ret < 0) {
|
|
return ret;
|
|
} else {
|
|
return -EIO;
|
|
}
|
|
}
|
|
|
|
int adau1761_open(struct inode *inode, struct file *filep) {
|
|
int ret;
|
|
|
|
DSP_DEBUG("open start\n");
|
|
|
|
mutex_lock(&adau1761_mutex);
|
|
ret = nonseekable_open(inode, filep);
|
|
mutex_unlock(&adau1761_mutex);
|
|
|
|
return ret;
|
|
}
|
|
|
|
int adau1761_release(struct inode *inode, struct file *filep) {
|
|
DSP_DEBUG("release start\n");
|
|
|
|
return 0;
|
|
}
|
|
|
|
// file operations
|
|
static long adau1761_ioctl(struct file *file, unsigned int cmd,
|
|
unsigned long arg) {
|
|
u8 i;
|
|
int ret = 0;
|
|
|
|
DSP_DEBUG("ioctl start cmd: %d arg: %lX\n", cmd, arg);
|
|
|
|
if (_IOC_TYPE(cmd) != MAGIC_NUM)
|
|
return -EINVAL;
|
|
|
|
if (_IOC_NR(cmd) > ADAU1761_CMD_MAX)
|
|
return -EINVAL;
|
|
|
|
if (_IOC_DIR(cmd) & _IOC_READ)
|
|
ret = !access_ok(VERIFY_WRITE, (void *)arg, _IOC_SIZE(cmd));
|
|
if (_IOC_DIR(cmd) & _IOC_WRITE)
|
|
ret = !access_ok(VERIFY_READ, (void *)arg, _IOC_SIZE(cmd));
|
|
|
|
if (ret)
|
|
return -EFAULT;
|
|
|
|
DSP_DEBUG("ioctl start\n");
|
|
|
|
mutex_lock(&adau1761_mutex);
|
|
|
|
DSP_DEBUG("ioctl lock\n");
|
|
|
|
switch (cmd) {
|
|
case ADAU1761_CMD_VOL_SET: {
|
|
if (arg > MAX_VOL_STEP) {
|
|
ret = -EINVAL;
|
|
goto failure;
|
|
}
|
|
|
|
for (i = 0; i < VOL_STEP_NUM; i++) {
|
|
if (adau1761_vol_table[i].vtable_step == arg) {
|
|
adau1761_priv.vol = arg;
|
|
adau1761_safe_load((uint8_t *)(adau1761_vol_table[i].ram_word),
|
|
1, VOL_CTL_ADDR);
|
|
break;
|
|
}
|
|
}
|
|
} break;
|
|
|
|
case ADAU1761_CMD_VOL_GET: {
|
|
//*(unsigned long *)arg = (unsigned long)adau1761_priv.vol;
|
|
put_user((unsigned long)adau1761_priv.vol, (unsigned long *)arg);
|
|
} break;
|
|
|
|
case ADAU1761_CMD_AMP_MUTE_SET: {
|
|
if (arg > 1) {
|
|
ret = -EINVAL;
|
|
goto failure;
|
|
}
|
|
|
|
adau1761_priv.is_mute = arg;
|
|
gpio_set_value(pa_mute_item, arg);
|
|
} break;
|
|
|
|
case ADAU1761_CMD_AMP_MUTE_GET: {
|
|
*(unsigned long *)arg = (unsigned long)adau1761_priv.is_mute;
|
|
} break;
|
|
|
|
case ADAU1761_CMD_SRC_SET: {
|
|
if (arg > 1) {
|
|
ret = -EINVAL;
|
|
goto failure;
|
|
}
|
|
|
|
adau1761_priv.src = arg;
|
|
|
|
if (0 == arg) { // ana
|
|
adau1761_safe_load((uint8_t *)src_analog_arr, 1, SRC_SW_ADDR);
|
|
break;
|
|
} else { // dig
|
|
adau1761_safe_load((uint8_t *)src_dig_arr, 1, SRC_SW_ADDR);
|
|
break;
|
|
}
|
|
} break;
|
|
|
|
case ADAU1761_CMD_SRC_GET: {
|
|
*(unsigned long *)arg = (unsigned long)adau1761_priv.src;
|
|
} break;
|
|
|
|
case ADAU1761_CMD_FW_LOAD: {
|
|
process_sigma_firmware(adau1761_priv.i2c_client, ADAU1761_FIRMWARE);
|
|
} break;
|
|
|
|
case ADAU1761_CMD_EQ_SET: {
|
|
ret = adau1761_safe_load_new_eq(arg);
|
|
} break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
mutex_unlock(&adau1761_mutex);
|
|
|
|
DSP_DEBUG("ioctl end\n");
|
|
|
|
return ret;
|
|
|
|
failure:
|
|
DSP_DEBUG("ioctl err: %d\n", ret);
|
|
mutex_unlock(&adau1761_mutex);
|
|
|
|
return ret;
|
|
}
|
|
|
|
static const struct file_operations adau1761_fops = {
|
|
.owner = THIS_MODULE,
|
|
.open = adau1761_open,
|
|
.release = adau1761_release,
|
|
.unlocked_ioctl = adau1761_ioctl,
|
|
};
|
|
|
|
static struct miscdevice adau1761_misc = {
|
|
.minor = MISC_DYNAMIC_MINOR,
|
|
.name = "adau1761",
|
|
.fops = &adau1761_fops,
|
|
};
|
|
|
|
void netease_adau1761_init(void) {
|
|
int i, ret = 0;
|
|
mutex_lock(&adau1761_mutex);
|
|
for (i = 0; i < ADAU1761_INIT_ARR_COUNT; i++) {
|
|
if (adau1761_init_matrix_arr[i].byte_len) {
|
|
ret = i2c_master_send(adau1761_priv.i2c_client,
|
|
adau1761_init_matrix_arr[i].p_arr,
|
|
adau1761_init_matrix_arr[i].byte_len);
|
|
|
|
if (ret > 0) {
|
|
DSP_DEBUG("Succeeded to load adau1761_init_arr_%d, transfer: "
|
|
"%d bytes\n",
|
|
i, ret);
|
|
} else {
|
|
DSP_DEBUG("Failed to load adau1761_init_arr_%d, failure: %d\n",
|
|
i, ret);
|
|
|
|
return -1;
|
|
}
|
|
|
|
} else {
|
|
msleep(100);
|
|
}
|
|
}
|
|
|
|
for (i = 0; ARRAY_SIZE(adau1761_vol_table); i++) {
|
|
if (adau1761_vol_table[i].vtable_step == ADAU1761_DEF_VOL_STEP) {
|
|
// use safeload
|
|
ret = adau1761_safe_load(
|
|
(uint8_t *)(adau1761_vol_table[i].ram_word), 1, VOL_CTL_ADDR);
|
|
|
|
break;
|
|
}
|
|
}
|
|
mutex_unlock(&adau1761_mutex);
|
|
}
|
|
EXPORT_SYMBOL(netease_adau1761_init);
|
|
|
|
/*****************************************************/
|
|
static int adau1761_i2c_probe(struct i2c_client *client,
|
|
const struct i2c_device_id *i2c_id) {
|
|
int i, ret = 0;
|
|
|
|
DSP_DEBUG("i2c_probe start\n");
|
|
|
|
adau1761_priv.i2c_client = client;
|
|
adau1761_priv.vol = ADAU1761_DEF_VOL_STEP;
|
|
adau1761_priv.src = 0; // ana
|
|
|
|
for (i = 0; i < ADAU1761_INIT_ARR_COUNT; i++) {
|
|
if (adau1761_init_matrix_arr[i].byte_len) {
|
|
ret = i2c_master_send(adau1761_priv.i2c_client,
|
|
adau1761_init_matrix_arr[i].p_arr,
|
|
adau1761_init_matrix_arr[i].byte_len);
|
|
|
|
if (ret > 0) {
|
|
DSP_DEBUG("Succeeded to load adau1761_init_arr_%d, transfer: "
|
|
"%d bytes\n",
|
|
i, ret);
|
|
} else {
|
|
DSP_DEBUG("Failed to load adau1761_init_arr_%d, failure: %d\n",
|
|
i, ret);
|
|
|
|
return -1;
|
|
}
|
|
|
|
} else {
|
|
msleep(100);
|
|
}
|
|
}
|
|
|
|
for (i = 0; ARRAY_SIZE(adau1761_vol_table); i++) {
|
|
if (adau1761_vol_table[i].vtable_step == ADAU1761_DEF_VOL_STEP) {
|
|
// use safeload
|
|
ret = adau1761_safe_load(
|
|
(uint8_t *)(adau1761_vol_table[i].ram_word), 1, VOL_CTL_ADDR);
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
DSP_DEBUG("i2c_probe end\n");
|
|
|
|
if (ret > 0) {
|
|
ret = 0;
|
|
} else {
|
|
ret = -1;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
static int adau1761_i2c_remove(struct i2c_client *i2c) { return 0; }
|
|
|
|
static struct i2c_board_info adau1761_i2c_board_info[] = {
|
|
{
|
|
I2C_BOARD_INFO("adau1761_0", 0x38),
|
|
},
|
|
};
|
|
|
|
static const struct i2c_device_id adau1761_i2c_id[] = {
|
|
{"adau1761_0", 0},
|
|
};
|
|
MODULE_DEVICE_TABLE(i2c, adau1761_i2c_id);
|
|
|
|
static const unsigned short m_normal_i2c[2] = {0x38, I2C_CLIENT_END};
|
|
|
|
static struct i2c_driver adau1761_i2c_driver = {
|
|
.driver =
|
|
{
|
|
.name = "adau1761_0",
|
|
.owner = THIS_MODULE,
|
|
},
|
|
.address_list = m_normal_i2c,
|
|
.probe = adau1761_i2c_probe,
|
|
.remove = adau1761_i2c_remove,
|
|
.id_table = adau1761_i2c_id,
|
|
};
|
|
|
|
static int __init adau1761_r311_probe(struct platform_device *pdev) {
|
|
struct device_node *np = pdev->dev.of_node;
|
|
struct device *dev = &pdev->dev;
|
|
struct gpio_config config;
|
|
|
|
pa_sdz_item = of_get_named_gpio_flags(np, "audio_pa_sdz", 0,
|
|
(enum of_gpio_flags *)&config);
|
|
if (!gpio_is_valid(pa_sdz_item)) {
|
|
printk("get audio_pa_sdz failed\n");
|
|
return -EINVAL;
|
|
} else {
|
|
printk("Get audio_pa_sdz success,gpio:%d\n", pa_sdz_item);
|
|
}
|
|
|
|
devm_gpio_request(dev, pa_sdz_item, "pa_sdz_item");
|
|
gpio_direction_output(pa_sdz_item, 1);
|
|
|
|
pa_mute_item = of_get_named_gpio_flags(np, "audio_pa_mute", 0,
|
|
(enum of_gpio_flags *)&config);
|
|
if (!gpio_is_valid(pa_mute_item)) {
|
|
printk("get pa_mute_item failed\n");
|
|
return -EINVAL;
|
|
} else {
|
|
printk("Get pa_mute_item success,gpio:%d\n", pa_mute_item);
|
|
}
|
|
|
|
devm_gpio_request(dev, pa_mute_item, "pa_mute_item");
|
|
if (adau1761_priv.is_mute) {
|
|
gpio_direction_output(pa_mute_item, 1); // set mute high
|
|
} else {
|
|
gpio_direction_output(pa_mute_item, 0); // set mute low
|
|
}
|
|
|
|
printk("adau1761, set pa_sdz=1, set pa_mute=%d\n", adau1761_priv.is_mute);
|
|
|
|
return 0;
|
|
}
|
|
|
|
static const struct of_device_id adau1761_r311_ids[] = {
|
|
{.compatible = "allwinner,adau1761-r311-pv1"}, {/* Sentinel */}};
|
|
|
|
static struct platform_driver adau1761_r311_driver = {
|
|
.driver =
|
|
{
|
|
.owner = THIS_MODULE,
|
|
.name = "adau1761-r311-pv1",
|
|
.of_match_table = adau1761_r311_ids,
|
|
},
|
|
};
|
|
|
|
static int __init adau1761_init(void) {
|
|
struct i2c_adapter *adapter;
|
|
struct i2c_client *client;
|
|
int req_status, ret, i = 0;
|
|
|
|
DSP_DEBUG("init start\n");
|
|
|
|
adau1761_priv.is_mute = 1; // mute
|
|
|
|
platform_driver_probe(&adau1761_r311_driver, adau1761_r311_probe);
|
|
|
|
ret = misc_register(&adau1761_misc);
|
|
if (ret < 0) {
|
|
DSP_DEBUG("init reg err\n");
|
|
misc_deregister(&adau1761_misc);
|
|
|
|
return ret;
|
|
}
|
|
|
|
adau1761_priv.i2c_ch = 1;
|
|
adapter = i2c_get_adapter(adau1761_priv.i2c_ch);
|
|
|
|
if (!adapter)
|
|
return -ENODEV;
|
|
for (i = 0; i < sizeof(adau1761_i2c_board_info) /
|
|
sizeof(adau1761_i2c_board_info[0]);
|
|
i++) {
|
|
client = NULL;
|
|
client = i2c_new_device(adapter, &adau1761_i2c_board_info[i]);
|
|
if (!client)
|
|
return -ENODEV;
|
|
}
|
|
i2c_put_adapter(adapter);
|
|
|
|
return i2c_add_driver(&adau1761_i2c_driver);
|
|
}
|
|
module_init(adau1761_init);
|
|
|
|
static void __exit adau1761_exit(void) { i2c_del_driver(&adau1761_i2c_driver); }
|
|
module_exit(adau1761_exit);
|
|
|
|
MODULE_DESCRIPTION("ASoC codec adau1761 driver");
|
|
MODULE_AUTHOR("Netease IHW");
|
|
MODULE_LICENSE("GPL");
|