__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * MFD driver for twl4030 audio submodule
 *
 * Author: Peter Ujfalusi <[email protected]>
 *
 * Copyright:   (C) 2009 Nokia Corporation
 */

#ifndef __TWL4030_CODEC_H__
#define __TWL4030_CODEC_H__

/* Codec registers */
#define TWL4030_REG_CODEC_MODE		0x01
#define TWL4030_REG_OPTION		0x02
#define TWL4030_REG_UNKNOWN		0x03
#define TWL4030_REG_MICBIAS_CTL		0x04
#define TWL4030_REG_ANAMICL		0x05
#define TWL4030_REG_ANAMICR		0x06
#define TWL4030_REG_AVADC_CTL		0x07
#define TWL4030_REG_ADCMICSEL		0x08
#define TWL4030_REG_DIGMIXING		0x09
#define TWL4030_REG_ATXL1PGA		0x0A
#define TWL4030_REG_ATXR1PGA		0x0B
#define TWL4030_REG_AVTXL2PGA		0x0C
#define TWL4030_REG_AVTXR2PGA		0x0D
#define TWL4030_REG_AUDIO_IF		0x0E
#define TWL4030_REG_VOICE_IF		0x0F
#define TWL4030_REG_ARXR1PGA		0x10
#define TWL4030_REG_ARXL1PGA		0x11
#define TWL4030_REG_ARXR2PGA		0x12
#define TWL4030_REG_ARXL2PGA		0x13
#define TWL4030_REG_VRXPGA		0x14
#define TWL4030_REG_VSTPGA		0x15
#define TWL4030_REG_VRX2ARXPGA		0x16
#define TWL4030_REG_AVDAC_CTL		0x17
#define TWL4030_REG_ARX2VTXPGA		0x18
#define TWL4030_REG_ARXL1_APGA_CTL	0x19
#define TWL4030_REG_ARXR1_APGA_CTL	0x1A
#define TWL4030_REG_ARXL2_APGA_CTL	0x1B
#define TWL4030_REG_ARXR2_APGA_CTL	0x1C
#define TWL4030_REG_ATX2ARXPGA		0x1D
#define TWL4030_REG_BT_IF		0x1E
#define TWL4030_REG_BTPGA		0x1F
#define TWL4030_REG_BTSTPGA		0x20
#define TWL4030_REG_EAR_CTL		0x21
#define TWL4030_REG_HS_SEL		0x22
#define TWL4030_REG_HS_GAIN_SET		0x23
#define TWL4030_REG_HS_POPN_SET		0x24
#define TWL4030_REG_PREDL_CTL		0x25
#define TWL4030_REG_PREDR_CTL		0x26
#define TWL4030_REG_PRECKL_CTL		0x27
#define TWL4030_REG_PRECKR_CTL		0x28
#define TWL4030_REG_HFL_CTL		0x29
#define TWL4030_REG_HFR_CTL		0x2A
#define TWL4030_REG_ALC_CTL		0x2B
#define TWL4030_REG_ALC_SET1		0x2C
#define TWL4030_REG_ALC_SET2		0x2D
#define TWL4030_REG_BOOST_CTL		0x2E
#define TWL4030_REG_SOFTVOL_CTL		0x2F
#define TWL4030_REG_DTMF_FREQSEL	0x30
#define TWL4030_REG_DTMF_TONEXT1H	0x31
#define TWL4030_REG_DTMF_TONEXT1L	0x32
#define TWL4030_REG_DTMF_TONEXT2H	0x33
#define TWL4030_REG_DTMF_TONEXT2L	0x34
#define TWL4030_REG_DTMF_TONOFF		0x35
#define TWL4030_REG_DTMF_WANONOFF	0x36
#define TWL4030_REG_I2S_RX_SCRAMBLE_H	0x37
#define TWL4030_REG_I2S_RX_SCRAMBLE_M	0x38
#define TWL4030_REG_I2S_RX_SCRAMBLE_L	0x39
#define TWL4030_REG_APLL_CTL		0x3A
#define TWL4030_REG_DTMF_CTL		0x3B
#define TWL4030_REG_DTMF_PGA_CTL2	0x3C
#define TWL4030_REG_DTMF_PGA_CTL1	0x3D
#define TWL4030_REG_MISC_SET_1		0x3E
#define TWL4030_REG_PCMBTMUX		0x3F
#define TWL4030_REG_RX_PATH_SEL		0x43
#define TWL4030_REG_VDL_APGA_CTL	0x44
#define TWL4030_REG_VIBRA_CTL		0x45
#define TWL4030_REG_VIBRA_SET		0x46
#define TWL4030_REG_VIBRA_PWM_SET	0x47
#define TWL4030_REG_ANAMIC_GAIN		0x48
#define TWL4030_REG_MISC_SET_2		0x49

/* Bitfield Definitions */

/* TWL4030_CODEC_MODE (0x01) Fields */
#define TWL4030_APLL_RATE		0xF0
#define TWL4030_APLL_RATE_8000		0x00
#define TWL4030_APLL_RATE_11025		0x10
#define TWL4030_APLL_RATE_12000		0x20
#define TWL4030_APLL_RATE_16000		0x40
#define TWL4030_APLL_RATE_22050		0x50
#define TWL4030_APLL_RATE_24000		0x60
#define TWL4030_APLL_RATE_32000		0x80
#define TWL4030_APLL_RATE_44100		0x90
#define TWL4030_APLL_RATE_48000		0xA0
#define TWL4030_APLL_RATE_96000		0xE0
#define TWL4030_SEL_16K			0x08
#define TWL4030_CODECPDZ		0x02
#define TWL4030_OPT_MODE		0x01
#define TWL4030_OPTION_1		(1 << 0)
#define TWL4030_OPTION_2		(0 << 0)

/* TWL4030_OPTION (0x02) Fields */
#define TWL4030_ATXL1_EN		(1 << 0)
#define TWL4030_ATXR1_EN		(1 << 1)
#define TWL4030_ATXL2_VTXL_EN		(1 << 2)
#define TWL4030_ATXR2_VTXR_EN		(1 << 3)
#define TWL4030_ARXL1_VRX_EN		(1 << 4)
#define TWL4030_ARXR1_EN		(1 << 5)
#define TWL4030_ARXL2_EN		(1 << 6)
#define TWL4030_ARXR2_EN		(1 << 7)

/* TWL4030_REG_MICBIAS_CTL (0x04) Fields */
#define TWL4030_MICBIAS2_CTL		0x40
#define TWL4030_MICBIAS1_CTL		0x20
#define TWL4030_HSMICBIAS_EN		0x04
#define TWL4030_MICBIAS2_EN		0x02
#define TWL4030_MICBIAS1_EN		0x01

/* ANAMICL (0x05) Fields */
#define TWL4030_CNCL_OFFSET_START	0x80
#define TWL4030_OFFSET_CNCL_SEL		0x60
#define TWL4030_OFFSET_CNCL_SEL_ARX1	0x00
#define TWL4030_OFFSET_CNCL_SEL_ARX2	0x20
#define TWL4030_OFFSET_CNCL_SEL_VRX	0x40
#define TWL4030_OFFSET_CNCL_SEL_ALL	0x60
#define TWL4030_MICAMPL_EN		0x10
#define TWL4030_CKMIC_EN		0x08
#define TWL4030_AUXL_EN			0x04
#define TWL4030_HSMIC_EN		0x02
#define TWL4030_MAINMIC_EN		0x01

/* ANAMICR (0x06) Fields */
#define TWL4030_MICAMPR_EN		0x10
#define TWL4030_AUXR_EN			0x04
#define TWL4030_SUBMIC_EN		0x01

/* AVADC_CTL (0x07) Fields */
#define TWL4030_ADCL_EN			0x08
#define TWL4030_AVADC_CLK_PRIORITY	0x04
#define TWL4030_ADCR_EN			0x02

/* TWL4030_REG_ADCMICSEL (0x08) Fields */
#define TWL4030_DIGMIC1_EN		0x08
#define TWL4030_TX2IN_SEL		0x04
#define TWL4030_DIGMIC0_EN		0x02
#define TWL4030_TX1IN_SEL		0x01

/* AUDIO_IF (0x0E) Fields */
#define TWL4030_AIF_SLAVE_EN		0x80
#define TWL4030_DATA_WIDTH		0x60
#define TWL4030_DATA_WIDTH_16S_16W	0x00
#define TWL4030_DATA_WIDTH_32S_16W	0x40
#define TWL4030_DATA_WIDTH_32S_24W	0x60
#define TWL4030_AIF_FORMAT		0x18
#define TWL4030_AIF_FORMAT_CODEC	0x00
#define TWL4030_AIF_FORMAT_LEFT		0x08
#define TWL4030_AIF_FORMAT_RIGHT	0x10
#define TWL4030_AIF_FORMAT_TDM		0x18
#define TWL4030_AIF_TRI_EN		0x04
#define TWL4030_CLK256FS_EN		0x02
#define TWL4030_AIF_EN			0x01

/* VOICE_IF (0x0F) Fields */
#define TWL4030_VIF_SLAVE_EN		0x80
#define TWL4030_VIF_DIN_EN		0x40
#define TWL4030_VIF_DOUT_EN		0x20
#define TWL4030_VIF_SWAP		0x10
#define TWL4030_VIF_FORMAT		0x08
#define TWL4030_VIF_TRI_EN		0x04
#define TWL4030_VIF_SUB_EN		0x02
#define TWL4030_VIF_EN			0x01

/* EAR_CTL (0x21) */
#define TWL4030_EAR_GAIN		0x30

/* HS_GAIN_SET (0x23) Fields */
#define TWL4030_HSR_GAIN		0x0C
#define TWL4030_HSR_GAIN_PWR_DOWN	0x00
#define TWL4030_HSR_GAIN_PLUS_6DB	0x04
#define TWL4030_HSR_GAIN_0DB		0x08
#define TWL4030_HSR_GAIN_MINUS_6DB	0x0C
#define TWL4030_HSL_GAIN		0x03
#define TWL4030_HSL_GAIN_PWR_DOWN	0x00
#define TWL4030_HSL_GAIN_PLUS_6DB	0x01
#define TWL4030_HSL_GAIN_0DB		0x02
#define TWL4030_HSL_GAIN_MINUS_6DB	0x03

/* HS_POPN_SET (0x24) Fields */
#define TWL4030_VMID_EN			0x40
#define	TWL4030_EXTMUTE			0x20
#define TWL4030_RAMP_DELAY		0x1C
#define TWL4030_RAMP_DELAY_20MS		0x00
#define TWL4030_RAMP_DELAY_40MS		0x04
#define TWL4030_RAMP_DELAY_81MS		0x08
#define TWL4030_RAMP_DELAY_161MS	0x0C
#define TWL4030_RAMP_DELAY_323MS	0x10
#define TWL4030_RAMP_DELAY_645MS	0x14
#define TWL4030_RAMP_DELAY_1291MS	0x18
#define TWL4030_RAMP_DELAY_2581MS	0x1C
#define TWL4030_RAMP_EN			0x02

/* PREDL_CTL (0x25) */
#define TWL4030_PREDL_GAIN		0x30

/* PREDR_CTL (0x26) */
#define TWL4030_PREDR_GAIN		0x30

/* PRECKL_CTL (0x27) */
#define TWL4030_PRECKL_GAIN		0x30

/* PRECKR_CTL (0x28) */
#define TWL4030_PRECKR_GAIN		0x30

/* HFL_CTL (0x29, 0x2A) Fields */
#define TWL4030_HF_CTL_HB_EN		0x04
#define TWL4030_HF_CTL_LOOP_EN		0x08
#define TWL4030_HF_CTL_RAMP_EN		0x10
#define TWL4030_HF_CTL_REF_EN		0x20

/* APLL_CTL (0x3A) Fields */
#define TWL4030_APLL_EN			0x10
#define TWL4030_APLL_INFREQ		0x0F
#define TWL4030_APLL_INFREQ_19200KHZ	0x05
#define TWL4030_APLL_INFREQ_26000KHZ	0x06
#define TWL4030_APLL_INFREQ_38400KHZ	0x0F

/* REG_MISC_SET_1 (0x3E) Fields */
#define TWL4030_CLK64_EN		0x80
#define TWL4030_SCRAMBLE_EN		0x40
#define TWL4030_FMLOOP_EN		0x20
#define TWL4030_SMOOTH_ANAVOL_EN	0x02
#define TWL4030_DIGMIC_LR_SWAP_EN	0x01

/* VIBRA_CTL (0x45) */
#define TWL4030_VIBRA_EN		0x01
#define TWL4030_VIBRA_DIR		0x02
#define TWL4030_VIBRA_AUDIO_SEL_L1	(0x00 << 2)
#define TWL4030_VIBRA_AUDIO_SEL_R1	(0x01 << 2)
#define TWL4030_VIBRA_AUDIO_SEL_L2	(0x02 << 2)
#define TWL4030_VIBRA_AUDIO_SEL_R2	(0x03 << 2)
#define TWL4030_VIBRA_SEL		0x10
#define TWL4030_VIBRA_DIR_SEL		0x20

/* TWL4030 codec resource IDs */
enum twl4030_audio_res {
	TWL4030_AUDIO_RES_POWER = 0,
	TWL4030_AUDIO_RES_APLL,
	TWL4030_AUDIO_RES_MAX,
};

int twl4030_audio_disable_resource(enum twl4030_audio_res id);
int twl4030_audio_enable_resource(enum twl4030_audio_res id);
unsigned int twl4030_audio_get_mclk(void);

#endif	/* End of __TWL4030_CODEC_H__ */

Filemanager

Name Type Size Permission Actions
abx500 Folder 0755
arizona Folder 0755
atc260x Folder 0755
da9052 Folder 0755
da9055 Folder 0755
da9062 Folder 0755
da9063 Folder 0755
da9150 Folder 0755
madera Folder 0755
mt6323 Folder 0755
mt6328 Folder 0755
mt6331 Folder 0755
mt6332 Folder 0755
mt6357 Folder 0755
mt6358 Folder 0755
mt6359 Folder 0755
mt6359p Folder 0755
mt6397 Folder 0755
pcf50633 Folder 0755
samsung Folder 0755
syscon Folder 0755
wcd934x Folder 0755
wm831x Folder 0755
wm8350 Folder 0755
wm8994 Folder 0755
88pm80x.h File 9.85 KB 0644
88pm860x.h File 12.96 KB 0644
88pm886.h File 2.03 KB 0644
aat2870.h File 3.92 KB 0644
abx500.h File 2.34 KB 0644
ac100.h File 5.98 KB 0644
adp5520.h File 8.31 KB 0644
adp5585.h File 4.23 KB 0644
altera-a10sr.h File 2.89 KB 0644
altera-sysmgr.h File 725 B 0644
as3711.h File 2.74 KB 0644
as3722.h File 14.53 KB 0644
atmel-hlcdc.h File 2.37 KB 0644
axp20x.h File 25.08 KB 0644
bcm2835-pm.h File 262 B 0644
bcm590xx.h File 618 B 0644
bd9571mwv.h File 3.45 KB 0644
cgbc.h File 1.21 KB 0644
core.h File 4.2 KB 0644
cs40l50.h File 4.1 KB 0644
cs42l43-regs.h File 45.72 KB 0644
cs42l43.h File 2.21 KB 0644
da8xx-cfgchip.h File 6.88 KB 0644
da903x.h File 7.05 KB 0644
davinci_voicecodec.h File 2.6 KB 0644
db8500-prcmu.h File 21.33 KB 0644
dbx500-prcmu.h File 12.78 KB 0644
dln2.h File 3.53 KB 0644
ezx-pcap.h File 7.75 KB 0644
gsc.h File 1.78 KB 0644
hi6421-pmic.h File 1.16 KB 0644
hi655x-pmic.h File 1.91 KB 0644
idt82p33_reg.h File 3.01 KB 0644
idt8a340_reg.h File 30.34 KB 0644
idtRC38xxx_reg.h File 6.74 KB 0644
imx25-tsadc.h File 4.86 KB 0644
ingenic-tcu.h File 1.71 KB 0644
intel-m10-bmc.h File 9.87 KB 0644
intel_pmc_bxt.h File 1.51 KB 0644
intel_soc_pmic.h File 1.86 KB 0644
intel_soc_pmic_bxtwc.h File 1.6 KB 0644
intel_soc_pmic_mrfld.h File 2.23 KB 0644
ipaq-micro.h File 3.66 KB 0644
iqs62x.h File 2.9 KB 0644
janz.h File 846 B 0644
kempld.h File 4.03 KB 0644
khadas-mcu.h File 3.46 KB 0644
lm3533.h File 2.39 KB 0644
lochnagar.h File 1.59 KB 0644
lochnagar1_regs.h File 7.71 KB 0644
lochnagar2_regs.h File 15.19 KB 0644
lp3943.h File 2.54 KB 0644
lp873x.h File 8.29 KB 0644
lp87565.h File 7.41 KB 0644
lp8788-isink.h File 1.04 KB 0644
lp8788.h File 6.72 KB 0644
lpc_ich.h File 754 B 0644
max14577-private.h File 15.41 KB 0644
max14577.h File 2.23 KB 0644
max5970.h File 2.49 KB 0644
max77541.h File 2.77 KB 0644
max77620.h File 10.71 KB 0644
max77650.h File 1.84 KB 0644
max77686-private.h File 12.36 KB 0644
max77686.h File 1.99 KB 0644
max77693-common.h File 1.06 KB 0644
max77693-private.h File 17.31 KB 0644
max77693.h File 1.58 KB 0644
max77714.h File 1.7 KB 0644
max77843-private.h File 15.22 KB 0644
max8907.h File 7.38 KB 0644
max8925.h File 7.04 KB 0644
max8997-private.h File 11.77 KB 0644
max8997.h File 5.21 KB 0644
max8998-private.h File 4.35 KB 0644
max8998.h File 2.7 KB 0644
mc13783.h File 2.69 KB 0644
mc13892.h File 792 B 0644
mc13xxx.h File 7.59 KB 0644
mcp.h File 1.61 KB 0644
menelaus.h File 1.25 KB 0644
motorola-cpcap.h File 12.35 KB 0644
mp2629.h File 422 B 0644
mxs-lradc.h File 5.6 KB 0644
ntxec.h File 1009 B 0644
ocelot.h File 1.5 KB 0644
palmas.h File 148.58 KB 0644
qcom_rpm.h File 293 B 0644
qnap-mcu.h File 597 B 0644
rave-sp.h File 1.41 KB 0644
rc5t583.h File 9.28 KB 0644
rdc321x.h File 591 B 0644
retu.h File 723 B 0644
rk808.h File 37.91 KB 0644
rn5t618.h File 7.95 KB 0644
rohm-bd71815.h File 15.24 KB 0644
rohm-bd71828.h File 12.77 KB 0644
rohm-bd718x7.h File 8.83 KB 0644
rohm-bd957x.h File 4.26 KB 0644
rohm-bd96801.h File 5.71 KB 0644
rohm-generic.h File 2.66 KB 0644
rohm-shared.h File 631 B 0644
rsmu.h File 967 B 0644
rt5033-private.h File 8.64 KB 0644
rt5033.h File 598 B 0644
rz-mtu3.h File 6.6 KB 0644
sc27xx-pmic.h File 228 B 0644
si476x-core.h File 14.84 KB 0644
si476x-platform.h File 6.04 KB 0644
si476x-reports.h File 4.49 KB 0644
sky81452.h File 354 B 0644
sta2x11-mfd.h File 18.13 KB 0644
stm32-lptimer.h File 2.05 KB 0644
stm32-timers.h File 8.26 KB 0644
stmfx.h File 3.93 KB 0644
stmpe.h File 3.99 KB 0644
stpmic1.h File 5.58 KB 0644
stw481x.h File 1.39 KB 0644
sun4i-gpadc.h File 3.48 KB 0644
sy7636a.h File 1.04 KB 0644
syscon.h File 2 KB 0644
tc3589x.h File 4.03 KB 0644
ti-lmu-register.h File 5.53 KB 0644
ti-lmu.h File 1.81 KB 0644
ti_am335x_tscadc.h File 5.74 KB 0644
tps6105x.h File 3.01 KB 0644
tps65010.h File 6.42 KB 0644
tps6507x.h File 4.94 KB 0644
tps65086.h File 3.39 KB 0644
tps65090.h File 3.72 KB 0644
tps65217.h File 7.84 KB 0644
tps65218.h File 7.62 KB 0644
tps65219.h File 11.49 KB 0644
tps6586x.h File 2.74 KB 0644
tps65910.h File 29.39 KB 0644
tps65912.h File 9.46 KB 0644
tps6594.h File 47.55 KB 0644
tps68470.h File 3.3 KB 0644
twl.h File 22.94 KB 0644
twl4030-audio.h File 7.94 KB 0644
twl6040.h File 5.84 KB 0644
ucb1x00.h File 6.44 KB 0644
upboard-fpga.h File 1.28 KB 0644
viperboard.h File 2.74 KB 0644
wl1273-core.h File 7.7 KB 0644
wm8400-audio.h File 69.16 KB 0644
wm8400-private.h File 57.12 KB 0644
wm8400.h File 561 B 0644
wm97xx.h File 369 B 0644
Filemanager