rockbox/firmware/target/arm/imx233/audio-imx233.h
Amaury Pouly 5e2600eb3a imx233: make microphone bias, bias pin and resistor configurable
This clearly fixes recording on targets where the bias pin was wrong. It may
also improve recording on targets where the bias voltage was wrong. I was unable
to find those parameters on the ZEN Mozaic, which fallback to default values.

Change-Id: Ifb5f823c9cbd01f0d9a80fa5d49d93972c8b7cfe
2016-09-21 00:36:51 +01:00

54 lines
2.3 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2013 by Amaury Pouly
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __audio_imx233__
#define __audio_imx233__
#include "audio.h"
#include "audio-target.h"
/* target can override those functions to provide hooks to the audio code
* alternativelly, the default implementation provide support for GPIO
* controlled gates using the following defines
* NOTE by default gates are enabled by setting GPIO to 1 (except if inverted)
*
* IMX233_AUDIO_HP_GATE_BANK (gpio bank)
* IMX233_AUDIO_HP_GATE_PIN (gpio pin)
* IMX233_AUDIO_HP_GATE_INVERTED (define if inverted)
*
* IMX233_AUDIO_SPKR_GATE_BANK (gpio bank)
* IMX233_AUDIO_SPKR_GATE_PIN (gpio pin)
* IMX233_AUDIO_SPKR_GATE_INVERTED (define if inverted)
*
* target can override those to control microphone parameters
* NOTE by default, mic select is 1, mic bias is 0 and mic resistor is 2KOhm
* IMX233_AUDIO_MIC_SELECT (mic bias pin: 0=lradc0, 1=lradc1)
* IMX233_AUDIO_MIC_BIAS (mic bias, 0=1.21V, 1=1.46, ..., 7=2.96V (0.25mV inc)
* IMX233_AUDIO_MIC_RESISTOR (mic resistor: 2KOhm, 4KOhm, 8KOhm)
*/
// do some initialisation related to next functions
void imx233_audio_preinit(void);
void imx233_audio_postinit(void);
// enable/disable the HP audio gate (typically using a GPIO)
void imx233_audio_enable_hp(bool en);
// enable/disable the speaker audio gate (typically using a GPIO)
void imx233_audio_enable_spkr(bool en);
#endif /* __audio_imx233__ */