/*
 * ak4954_amb.h  --  audio driver for AK4951
 *
 * Copyright 2014 Ambarella Ltd.
 *
 * Author: Diao Chengdong <cddiao@ambarella.com>
 *
 * History:
 *	2014/03/27 - created
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */


#ifndef _AK4951_AMB_H
#define _AK4951_AMB_H

#define AK4954_CLOCK_PLAYBACK	1
#define AK4954_CLOCK_CAPTURE	2
#define AK4954_CLOCK_OTHER		4

#define AK4951_00_POWER_MANAGEMENT1		0x00
#define AK4951_01_POWER_MANAGEMENT2		0x01
#define AK4951_02_SIGNAL_SELECT1		0x02
#define AK4951_03_SIGNAL_SELECT2		0x03
#define AK4951_04_SIGNAL_SELECT3		0x04
#define AK4951_05_MODE_CONTROL1			0x05
#define AK4951_06_MODE_CONTROL2			0x06
#define AK4951_07_MODE_CONTROL3			0x07
#define AK4951_08_DIGITL_MIC			0x08
#define AK4951_09_TIMER_SELECT			0x09
#define AK4951_0A_ALC_TIMER_SELECT		0x0A
#define AK4951_0B_ALC_MODE_CONTROL1		0x0B
#define AK4951_0C_ALC_MODE_CONTROL2		0x0C
#define AK4951_0D_LCH_INPUT_VOLUME_CONTROL		0x0D
#define AK4951_0E_RCH_INPUT_VOLUME_CONTROL		0x0E
#define AK4951_0F_ALC_VOLUME			0x0F
#define AK4951_10_LCH_MIC_GAIN_SETTING				0x10
#define AK4951_11_RCH_MIC_GAIN_SETTING				0x11
#define AK4951_12_BEEP_CONTROL		0x12
#define AK4951_13_LCH_DIGITAL_VOLUME_CONTROL	0x13
#define AK4951_14_RCH_DIGITAL_VOLUME_CONTROL	0x14
#define AK4951_15_EQ_COMMON_GAIN_SELECT		0x15
#define AK4951_16_EQ2_COMMON_GAIN_SELECT			0x16
#define AK4951_17_EQ3_COMMON_GAIN_SELECT			0x17
#define AK4951_18_EQ4_COMMON_GAIN_SELECT		0x18
#define AK4951_19_EQ5_COMMON_GAIN_SELECT	0x19
#define AK4951_1A_AUTO_HPF_CONTROL				0x1A
#define AK4951_1B_DIGITAL_FILTER_SELECT1		0x1B
#define AK4951_1C_DIGITAL_FILTER_SELECT2		0x1C
#define AK4951_1D_DIGITAL_FILTER_MODE			0x1D
#define AK4951_1E_HPF2_COEFFICIENT0		0x1E
#define AK4951_1F_HPF2_COEFFICIENT1		0x1F
#define AK4951_20_HPF2_COEFFICIENT2		0x20
#define AK4951_21_HPF2_COEFFICIENT3		0x21
#define AK4951_22_LPF_COEFFICIENT0		0x22
#define AK4951_23_LPF_COEFFICIENT1		0x23
#define AK4951_24_LPF_COEFFICIENT2		0x24
#define AK4951_25_LPF_COEFFICIENT3		0x25
#define AK4951_26_FIL3_COEFFICIENT0		0x26
#define AK4951_27_FIL3_COEFFICIENT1		0x27
#define AK4951_28_FIL3_COEFFICIENT2		0x28
#define AK4951_29_FIL3_COEFFICIENT3		0x29
#define AK4951_2A_EQ_COEFFICIENT0		0x2A
#define AK4951_2B_EQ_COEFFICIENT1		0x2B
#define AK4951_2C_EQ_COEFFICIENT2		0x2C
#define AK4951_2D_EQ_COEFFICIENT3		0x2D
#define AK4951_2E_EQ_COEFFICIENT4		0x2E
#define AK4951_2F_EQ_COEFFICIENT5		0x2F

#define AK4951_30_DIGITAL_FILTER_SELECT3		0x30
#define AK4951_31_DEVICE_INFO			0x31
#define AK4951_32_E1_COEFFICIENT0		0x32
#define AK4951_33_E1_COEFFICIENT1		0x33
#define AK4951_34_E1_COEFFICIENT2		0x34
#define AK4951_35_E1_COEFFICIENT3		0x35
#define AK4951_36_E1_COEFFICIENT4		0x36
#define AK4951_37_E1_COEFFICIENT5		0x37
#define AK4951_38_E2_COEFFICIENT0		0x38
#define AK4951_39_E2_COEFFICIENT1		0x39
#define AK4951_3A_E2_COEFFICIENT2		0x3A
#define AK4951_3B_E2_COEFFICIENT3		0x3B
#define AK4951_3C_E2_COEFFICIENT4		0x3C
#define AK4951_3D_E2_COEFFICIENT5		0x3D
#define AK4951_3E_E3_COEFFICIENT0		0x3E
#define AK4951_3F_E3_COEFFICIENT1		0x3F
#define AK4951_40_E3_COEFFICIENT2		0x40
#define AK4951_41_E3_COEFFICIENT3		0x41
#define AK4951_42_E3_COEFFICIENT4		0x42
#define AK4951_43_E3_COEFFICIENT5		0x43
#define AK4951_44_E4_COEFFICIENT0		0x44
#define AK4951_45_E4_COEFFICIENT1		0x45
#define AK4951_46_E4_COEFFICIENT2		0x46
#define AK4951_47_E4_COEFFICIENT3		0x47
#define AK4951_48_E4_COEFFICIENT4		0x48
#define AK4951_49_E4_COEFFICIENT5		0x49
#define AK4951_4A_E5_COEFFICIENT0		0x4A
#define AK4951_4B_E5_COEFFICIENT1		0x4B
#define AK4951_4C_E5_COEFFICIENT2		0x4C
#define AK4951_4D_E5_COEFFICIENT3		0x4D
#define AK4951_4E_E5_COEFFICIENT4		0x4E
#define AK4951_4F_E5_COEFFICIENT5		0x4F

#define AK4951_MAX_REGISTERS	(AK4951_4F_E5_COEFFICIENT5 + 1)

/* Bitfield Definitions */

/* AK4954_00_POWER_MANAGEMENT1 (0x00) Fields */
#define AK4951_PMVCM				0x40
#define AK4951_PMPFIL				0x80

/* AK4954_01_POWER_MANAGEMENT2 (0x01) Fields */
#define AK4951_PMPLL				0x04
#define AK4951_M_S					0x08

/* AK4951_05_MODE_CONTROL1 (0x05) Fields */
#define AK4951_DIF					0x03
#define AK4951_DIF_24MSB_24LSB_MODE	(0 << 0)
#define AK4951_DIF_24MSB_16LSB_MODE	(1 << 0)
#define AK4951_DIF_24MSB_MODE		(2 << 0)
#define AK4951_DIF_I2S_MODE			(3 << 0)
#define AK4951_CKOFF				0x04
#define AK4951_BCKO					0x08

#define AK4951_PLL					0xF0
#define AK4951_EXT_SLAVE			0
#define AK4951_PLL_BICK32			(2 << 4)
#define AK4951_PLL_BICK64			(3 << 4)
#define AK4951_PLL_11_2896MHZ		(4 << 4)
#define AK4951_PLL_12_288MHZ		(5 << 4)
#define AK4951_PLL_12MHZ			(6 << 4)
#define AK4951_PLL_24MHZ			(7 << 4)
#define AK4951_PLL_13_5MHZ			(12 << 4)
#define AK4951_PLL_27MHZ			(13 << 4)

#define AK4951_MCLK_IN	0
#define AK4951_BCLK_IN		1
#define AK4951_MCLK_IN_BCLK_OUT 2

/* AK4954_06_MODE_CONTROL2 (0x06) Fields */
#define AK4951_FS				0x0F
#define AK4951_MCKI_FS_8KHZ			(0 << 0)
#define AK4951_MCKI_FS_12KHZ			(1 << 0)
#define AK4951_MCKI_FS_16KHZ			(2 << 0)
#define AK4951_MCKI_FS_11_025KHZ		(5 << 0)
#define AK4951_MCKI_FS_22_05KHZ			(7 << 0)
#define AK4951_MCKI_FS_24KHZ			(9 << 0)
#define AK4951_MCKI_FS_32KHZ			(10 << 0)
#define AK4951_MCKI_FS_44_1KHZ			(15 << 0)
#define AK4951_MCKI_FS_48KHZ			(11 << 0)

#define AK4951_BICK_FS_8KHZ			(0 << 0)
#define AK4951_BICK_FS_12KHZ			(1 << 0)
#define AK4951_BICK_FS_16KHZ			(5 << 0)
#define AK4951_BICK_FS_11_025KHZ		(2 << 0)
#define AK4951_BICK_FS_22_05KHZ			(7 << 0)
#define AK4951_BICK_FS_24KHZ			(6 << 0)
#define AK4951_BICK_FS_32KHZ			(10 << 0)
#define AK4951_BICK_FS_44_1KHZ			(8 << 0)
#define AK4951_BICK_FS_48KHZ			(11 << 0)

#define AK4951_FS_CM0			(1 << 6)
#define AK4951_FS_CM1			(1 << 7)

#endif
