cregit-Linux how code gets into the kernel

Release 4.17 sound/soc/codecs/es8316.h

Directory: sound/soc/codecs
/*
 * Copyright Everest Semiconductor Co.,Ltd
 *
 * Author: David Yang <yangxiaohua@everest-semi.com>
 *
 * 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 _ES8316_H

#define _ES8316_H

/*
 * ES8316 register space
 */

/* Reset Control */

#define ES8316_RESET		0x00

/* Clock Management */

#define ES8316_CLKMGR_CLKSW	0x01

#define ES8316_CLKMGR_CLKSEL	0x02

#define ES8316_CLKMGR_ADCOSR	0x03

#define ES8316_CLKMGR_ADCDIV1	0x04

#define ES8316_CLKMGR_ADCDIV2	0x05

#define ES8316_CLKMGR_DACDIV1	0x06

#define ES8316_CLKMGR_DACDIV2	0x07

#define ES8316_CLKMGR_CPDIV	0x08

/* Serial Data Port Control */

#define ES8316_SERDATA1		0x09

#define ES8316_SERDATA_ADC	0x0a

#define ES8316_SERDATA_DAC	0x0b

/* System Control */

#define ES8316_SYS_VMIDSEL	0x0c

#define ES8316_SYS_PDN		0x0d

#define ES8316_SYS_LP1		0x0e

#define ES8316_SYS_LP2		0x0f

#define ES8316_SYS_VMIDLOW	0x10

#define ES8316_SYS_VSEL		0x11

#define ES8316_SYS_REF		0x12

/* Headphone Mixer */

#define ES8316_HPMIX_SEL	0x13

#define ES8316_HPMIX_SWITCH	0x14

#define ES8316_HPMIX_PDN	0x15

#define ES8316_HPMIX_VOL	0x16

/* Charge Pump Headphone driver */

#define ES8316_CPHP_OUTEN	0x17

#define ES8316_CPHP_ICAL_VOL	0x18

#define ES8316_CPHP_PDN1	0x19

#define ES8316_CPHP_PDN2	0x1a

#define ES8316_CPHP_LDOCTL	0x1b

/* Calibration */

#define ES8316_CAL_TYPE		0x1c

#define ES8316_CAL_SET		0x1d

#define ES8316_CAL_HPLIV	0x1e

#define ES8316_CAL_HPRIV	0x1f

#define ES8316_CAL_HPLMV	0x20

#define ES8316_CAL_HPRMV	0x21

/* ADC Control */

#define ES8316_ADC_PDN_LINSEL	0x22

#define ES8316_ADC_PGAGAIN	0x23

#define ES8316_ADC_D2SEPGA	0x24

#define ES8316_ADC_DMIC		0x25

#define ES8316_ADC_MUTE		0x26

#define ES8316_ADC_VOLUME	0x27

#define ES8316_ADC_ALC1		0x29

#define ES8316_ADC_ALC2		0x2a

#define ES8316_ADC_ALC3		0x2b

#define ES8316_ADC_ALC4		0x2c

#define ES8316_ADC_ALC5		0x2d

#define ES8316_ADC_ALC_NG	0x2e

/* DAC Control */

#define ES8316_DAC_PDN		0x2f

#define ES8316_DAC_SET1		0x30

#define ES8316_DAC_SET2		0x31

#define ES8316_DAC_SET3		0x32

#define ES8316_DAC_VOLL		0x33

#define ES8316_DAC_VOLR		0x34

/* GPIO */

#define ES8316_GPIO_SEL		0x4d

#define ES8316_GPIO_DEBOUNCE	0x4e

#define ES8316_GPIO_FLAG	0x4f

/* Test mode */

#define ES8316_TESTMODE		0x50

#define ES8316_TEST1		0x51

#define ES8316_TEST2		0x52

#define ES8316_TEST3		0x53

/*
 * Field definitions
 */

/* ES8316_RESET */

#define ES8316_RESET_CSM_ON		0x80

/* ES8316_CLKMGR_CLKSW */

#define ES8316_CLKMGR_CLKSW_MCLK_ON	0x40

#define ES8316_CLKMGR_CLKSW_BCLK_ON	0x20

/* ES8316_SERDATA1 */

#define ES8316_SERDATA1_MASTER		0x80

#define ES8316_SERDATA1_BCLK_INV	0x20

/* ES8316_SERDATA_ADC and _DAC */

#define ES8316_SERDATA2_FMT_MASK	0x3

#define ES8316_SERDATA2_FMT_I2S		0x00

#define ES8316_SERDATA2_FMT_LEFTJ	0x01

#define ES8316_SERDATA2_FMT_RIGHTJ	0x02

#define ES8316_SERDATA2_FMT_PCM		0x03

#define ES8316_SERDATA2_ADCLRP		0x20

#define ES8316_SERDATA2_LEN_MASK	0x1c

#define ES8316_SERDATA2_LEN_24		0x00

#define ES8316_SERDATA2_LEN_20		0x04

#define ES8316_SERDATA2_LEN_18		0x08

#define ES8316_SERDATA2_LEN_16		0x0c

#define ES8316_SERDATA2_LEN_32		0x10

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Daniel Drake330100.00%1100.00%
Total330100.00%1100.00%
Directory: sound/soc/codecs
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.