1
0
Fork 0
forked from len0rd/rockbox

as3525v2 : recording (FM only, no microphone yet)

Add HAVE_AS3543 config define to differentiate the bits changed since as3514/as3517
Enable recording on Fuzev2/Clipv2/Clip+, although it was tested on Clip+ only

Note: storage is still read-only so I tested by listening to headphones loopback and watching the recording level in recscreen

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25390 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2010-03-29 22:26:58 +00:00
parent ef41ad91db
commit ed0c5edd62
6 changed files with 93 additions and 82 deletions

View file

@ -209,22 +209,22 @@ static const struct button_mapping button_context_pitchscreen[] = {
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD), LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD),
}; /* button_context_pitchscreen */ }; /* button_context_pitchscreen */
#if 0 #ifdef HAVE_RECORDING
/** Recording Screen **/ /** Recording Screen **/
static const struct button_mapping button_context_recscreen[] = { static const struct button_mapping button_context_recscreen[] = {
{ ACTION_REC_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP }, { ACTION_REC_PAUSE, BUTTON_UP|BUTTON_REL, BUTTON_UP },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER }, { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_POWER },
{ ACTION_REC_NEWFILE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME }, { ACTION_REC_NEWFILE, BUTTON_HOME|BUTTON_REL, BUTTON_HOME },
{ ACTION_STD_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT}, { ACTION_STD_MENU, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_SELECT},
{ ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE }, { ACTION_SETTINGS_INC, BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_SETTINGS_INCREPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE }, { ACTION_SETTINGS_DEC, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_SETTINGS_DECREPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE }, { ACTION_STD_PREV, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_PREV, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_STD_PREV, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE }, { ACTION_STD_NEXT, BUTTON_RIGHT, BUTTON_NONE },
{ ACTION_STD_NEXT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_STD_NEXT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_NONE, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN }, { ACTION_NONE, BUTTON_DOWN|BUTTON_REL, BUTTON_DOWN },
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
}; /* button_context_recscreen */ }; /* button_context_recscreen */
#endif #endif

View file

@ -38,12 +38,29 @@
* as3543 , as used in the as3525v2 targets * as3543 , as used in the as3525v2 targets
*/ */
#if CONFIG_CPU == AS3525
/* AMS Sansas based on the AS3525 use the LINE2 input for the analog radio /* AMS Sansas based on the AS3525 use the LINE2 input for the analog radio
signal instead of LINE1 */ signal instead of LINE1 */
#if CONFIG_CPU == AS3525 #define AS3514_LINE_IN_R AS3514_LINE_IN2_R
#define LINE_INPUT 2 #define AS3514_LINE_IN_L AS3514_LINE_IN2_L
#else #define ADC_R_ADCMUX_LINE_IN ADC_R_ADCMUX_LINE_IN2
#define LINE_INPUT 1 #define AUDIOSET1_LIN_on AUDIOSET1_LIN2_on
#elif CONFIG_CPU == AS3525v2
/* There is only 1 pair of registers on AS3543, the line input is selectable in
LINE_IN_R register */
#define AS3514_LINE_IN_R AS3514_LINE_IN1_R
#define AS3514_LINE_IN_L AS3514_LINE_IN1_L
#define ADC_R_ADCMUX_LINE_IN ADC_R_ADCMUX_LINE_IN2
#define AUDIOSET1_LIN_on AUDIOSET1_LIN1_on
#else /* PP use line1 */
#define AS3514_LINE_IN_R AS3514_LINE_IN1_R
#define AS3514_LINE_IN_L AS3514_LINE_IN1_L
#define ADC_R_ADCMUX_LINE_IN ADC_R_ADCMUX_LINE_IN1
#define AUDIOSET1_LIN_on AUDIOSET1_LIN1_on
#endif #endif
const struct sound_settings_info audiohw_settings[] = { const struct sound_settings_info audiohw_settings[] = {
@ -177,22 +194,22 @@ void audiohw_preinit(void)
as3514_write(AS3514_AUDIOSET3, AUDIOSET3_HPCM_off); as3514_write(AS3514_AUDIOSET3, AUDIOSET3_HPCM_off);
#endif #endif
#if CONFIG_CPU != AS3525v2 #ifdef HAVE_AS3543
as3514_clear(AS3543_DAC_IF, 0x80);
as3514_set(AS3514_LINE_IN1_R, LINE_IN_R_LINE_SELECT); /* Line 2 */
#else
/* Mute and disable speaker */ /* Mute and disable speaker */
as3514_write(AS3514_LSP_OUT_R, LSP_OUT_R_SP_OVC_TO_256MS | 0x00); as3514_write(AS3514_LSP_OUT_R, LSP_OUT_R_SP_OVC_TO_256MS | 0x00);
as3514_write(AS3514_LSP_OUT_L, LSP_OUT_L_SP_MUTE | 0x00); as3514_write(AS3514_LSP_OUT_L, LSP_OUT_L_SP_MUTE | 0x00);
#else
as3514_clear(AS3543_DAC_IF, 0x80);
as3514_set(AS3514_LINE_IN1_R, 1<<6); // Select Line-in 2
#endif #endif
#if CONFIG_CPU != AS3525v2 #ifdef HAVE_AS3543
as3514_write(AS3514_HPH_OUT_R, (0<<7) /* out */ | HPH_OUT_R_HP_OUT_DAC |
0x00);
#else
/* Set headphone over-current to 0, Min volume */ /* Set headphone over-current to 0, Min volume */
as3514_write(AS3514_HPH_OUT_R, as3514_write(AS3514_HPH_OUT_R,
HPH_OUT_R_HP_OVC_TO_0MS | 0x00); HPH_OUT_R_HP_OVC_TO_0MS | 0x00);
#else
as3514_write(AS3514_HPH_OUT_R, (0<<7) /* out */ | HPH_OUT_R_HP_OUT_DAC |
0x00);
#endif #endif
/* Headphone ON, MUTE, Min volume */ /* Headphone ON, MUTE, Min volume */
as3514_write(AS3514_HPH_OUT_L, as3514_write(AS3514_HPH_OUT_L,
@ -211,8 +228,10 @@ void audiohw_preinit(void)
/* M1_Sup_off */ /* M1_Sup_off */
as3514_set(AS3514_MIC1_L, MIC1_L_M1_SUP_off); as3514_set(AS3514_MIC1_L, MIC1_L_M1_SUP_off);
#ifndef HAVE_AS3543
/* M2_Sup_off */ /* M2_Sup_off */
as3514_set(AS3514_MIC2_L, MIC2_L_M2_SUP_off); as3514_set(AS3514_MIC2_L, MIC2_L_M2_SUP_off);
#endif
} }
void audiohw_postinit(void) void audiohw_postinit(void)
@ -257,12 +276,8 @@ void audiohw_set_master_vol(int vol_l, int vol_r)
as3514_write_masked(AS3514_DAC_R, mix_r, AS3514_VOL_MASK); as3514_write_masked(AS3514_DAC_R, mix_r, AS3514_VOL_MASK);
as3514_write_masked(AS3514_DAC_L, mix_l, AS3514_VOL_MASK); as3514_write_masked(AS3514_DAC_L, mix_l, AS3514_VOL_MASK);
#if defined(HAVE_RECORDING) || defined(HAVE_FMRADIO_IN) #if defined(HAVE_RECORDING) || defined(HAVE_FMRADIO_IN)
as3514_write_masked((LINE_INPUT == 1) ? AS3514_LINE_IN1_R : as3514_write_masked(AS3514_LINE_IN_R, mix_r, AS3514_VOL_MASK);
AS3514_LINE_IN2_R, as3514_write_masked(AS3514_LINE_IN_L, mix_l, AS3514_VOL_MASK);
mix_r, AS3514_VOL_MASK);
as3514_write_masked((LINE_INPUT == 1) ? AS3514_LINE_IN1_L :
AS3514_LINE_IN2_L,
mix_l, AS3514_VOL_MASK);
#endif #endif
as3514_write_masked(AS3514_HPH_OUT_R, hph_r, AS3514_VOL_MASK); as3514_write_masked(AS3514_HPH_OUT_R, hph_r, AS3514_VOL_MASK);
as3514_write_masked(AS3514_HPH_OUT_L, hph_l, AS3514_VOL_MASK); as3514_write_masked(AS3514_HPH_OUT_L, hph_l, AS3514_VOL_MASK);
@ -278,13 +293,13 @@ void audiohw_mute(bool mute)
{ {
if (mute) { if (mute) {
as3514_set(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE); as3514_set(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE);
#if CONFIG_CPU == AS3525v2 #ifdef HAVE_AS3543
as3514_set(AS3543_DAC_IF, 0x80); as3514_set(AS3543_DAC_IF, 0x80);
#endif #endif
} else { } else {
as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE); as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_MUTE);
#if CONFIG_CPU == AS3525v2 #ifdef HAVE_AS3543
as3514_clear(AS3543_DAC_IF, 0x80); as3514_clear(AS3543_DAC_IF, 0x80);
#endif #endif
} }
@ -307,7 +322,7 @@ void audiohw_close(void)
as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_ON); as3514_clear(AS3514_HPH_OUT_L, HPH_OUT_L_HP_ON);
as3514_write(AS3514_AUDIOSET1, 0x0); as3514_write(AS3514_AUDIOSET1, 0x0);
#if CONFIG_CPU == AS3525v2 #ifdef HAVE_AS3543
as3514_set(AS3543_DAC_IF, 0x80); as3514_set(AS3543_DAC_IF, 0x80);
#endif #endif
@ -336,15 +351,11 @@ void audiohw_enable_recording(bool source_mic)
as3514_clear(AS3514_MIC1_R, MIC1_R_M1_AGC_off); as3514_clear(AS3514_MIC1_R, MIC1_R_M1_AGC_off);
} else { } else {
/* ADCmux = Line_IN1 or Line_IN2 */ /* ADCmux = Line_IN1 or Line_IN2 */
as3514_write_masked(AS3514_ADC_R, as3514_write_masked(AS3514_ADC_R, ADC_R_ADCMUX_LINE_IN,
(LINE_INPUT == 1) ? ADC_R_ADCMUX_LINE_IN1 :
ADC_R_ADCMUX_LINE_IN2,
ADC_R_ADCMUX); ADC_R_ADCMUX);
/* LIN1_or LIN2 on, rest off */ /* LIN1_or LIN2 on, rest off */
as3514_write_masked(AS3514_AUDIOSET1, as3514_write_masked(AS3514_AUDIOSET1, AUDIOSET1_LIN_on,
(LINE_INPUT == 1) ? AUDIOSET1_LIN1_on :
AUDIOSET1_LIN2_on,
AUDIOSET1_INPUT_MASK); AUDIOSET1_INPUT_MASK);
} }
@ -422,16 +433,12 @@ void audiohw_set_monitor(bool enable)
{ {
if (enable) { if (enable) {
/* select either LIN1 or LIN2 */ /* select either LIN1 or LIN2 */
as3514_write_masked(AS3514_AUDIOSET1, as3514_write_masked(AS3514_AUDIOSET1, AUDIOSET1_LIN_on,
(LINE_INPUT == 1) ?
AUDIOSET1_LIN1_on : AUDIOSET1_LIN2_on,
AUDIOSET1_LIN1_on | AUDIOSET1_LIN2_on); AUDIOSET1_LIN1_on | AUDIOSET1_LIN2_on);
as3514_set((LINE_INPUT == 1) ? AS3514_LINE_IN1_R : AS3514_LINE_IN2_R, as3514_set(AS3514_LINE_IN_R, LINE_IN1_R_LI1R_MUTE_off);
LINE_IN1_R_LI1R_MUTE_off); as3514_set(AS3514_LINE_IN_L, LINE_IN1_L_LI1L_MUTE_off);
as3514_set((LINE_INPUT == 1) ? AS3514_LINE_IN1_L : AS3514_LINE_IN2_L,
LINE_IN1_L_LI1L_MUTE_off);
#if CONFIG_CPU == AS3525v2 #ifdef HAVE_AS3543
as3514_write_masked(AS3514_HPH_OUT_R, as3514_write_masked(AS3514_HPH_OUT_R,
HPH_OUT_R_HP_OUT_LINE, HPH_OUT_R_HP_OUT_MASK); HPH_OUT_R_HP_OUT_LINE, HPH_OUT_R_HP_OUT_MASK);
#endif #endif
@ -440,12 +447,12 @@ void audiohw_set_monitor(bool enable)
/* turn off both LIN1 and LIN2 */ /* turn off both LIN1 and LIN2 */
as3514_clear(AS3514_LINE_IN1_R, LINE_IN1_R_LI1R_MUTE_off); as3514_clear(AS3514_LINE_IN1_R, LINE_IN1_R_LI1R_MUTE_off);
as3514_clear(AS3514_LINE_IN1_L, LINE_IN1_L_LI1L_MUTE_off); as3514_clear(AS3514_LINE_IN1_L, LINE_IN1_L_LI1L_MUTE_off);
#if CONFIG_CPU != AS3525v2 /* not in as3543 */ #ifdef HAVE_AS3543
as3514_clear(AS3514_LINE_IN2_R, LINE_IN2_R_LI2R_MUTE_off);
as3514_clear(AS3514_LINE_IN2_L, LINE_IN2_L_LI2L_MUTE_off);
#else
as3514_write_masked(AS3514_HPH_OUT_R, as3514_write_masked(AS3514_HPH_OUT_R,
HPH_OUT_R_HP_OUT_DAC, HPH_OUT_R_HP_OUT_MASK); HPH_OUT_R_HP_OUT_DAC, HPH_OUT_R_HP_OUT_MASK);
#else
as3514_clear(AS3514_LINE_IN2_R, LINE_IN2_R_LI2R_MUTE_off);
as3514_clear(AS3514_LINE_IN2_L, LINE_IN2_L_LI2L_MUTE_off);
#endif #endif
as3514_clear(AS3514_AUDIOSET1, AUDIOSET1_LIN1_on | AUDIOSET1_LIN2_on); as3514_clear(AS3514_AUDIOSET1, AUDIOSET1_LIN1_on | AUDIOSET1_LIN2_on);
} }

View file

@ -22,6 +22,8 @@
#ifndef _AS3514_H #ifndef _AS3514_H
#define _AS3514_H #define _AS3514_H
#include "config.h"
extern int tenthdb2master(int db); extern int tenthdb2master(int db);
extern void audiohw_set_master_vol(int vol_l, int vol_r); extern void audiohw_set_master_vol(int vol_l, int vol_r);
@ -36,24 +38,32 @@ extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
#define AS3514_LSP_OUT_L 0x05 #define AS3514_LSP_OUT_L 0x05
#define AS3514_MIC1_R 0x06 #define AS3514_MIC1_R 0x06
#define AS3514_MIC1_L 0x07 #define AS3514_MIC1_L 0x07
#ifndef HAVE_AS3543
#define AS3514_MIC2_R 0x08 #define AS3514_MIC2_R 0x08
#define AS3514_MIC2_L 0x09 #define AS3514_MIC2_L 0x09
#endif
#define AS3514_LINE_IN1_R 0x0a #define AS3514_LINE_IN1_R 0x0a
#define AS3514_LINE_IN1_L 0x0b #define AS3514_LINE_IN1_L 0x0b
#ifndef HAVE_AS3543
#define AS3514_LINE_IN2_R 0x0c #define AS3514_LINE_IN2_R 0x0c
#define AS3514_LINE_IN2_L 0x0d #define AS3514_LINE_IN2_L 0x0d
#endif
#define AS3514_DAC_R 0x0e #define AS3514_DAC_R 0x0e
#define AS3514_DAC_L 0x0f #define AS3514_DAC_L 0x0f
#define AS3514_ADC_R 0x10 #define AS3514_ADC_R 0x10
#define AS3514_ADC_L 0x11 #define AS3514_ADC_L 0x11
#define AS3543_DAC_IF 0x12 /* only in as3543 */ #ifdef HAVE_AS3543
#define AS3543_DAC_IF 0x12
#endif
#define AS3514_AUDIOSET1 0x14 #define AS3514_AUDIOSET1 0x14
#define AS3514_AUDIOSET2 0x15 #define AS3514_AUDIOSET2 0x15
#define AS3514_AUDIOSET3 0x16 #define AS3514_AUDIOSET3 0x16
#define AS3517_USB_UTIL 0x17 /* only in as3517+ */ #define AS3517_USB_UTIL 0x17 /* only in as3517+ */
#define AS3543_BACKLIGHT 0x1b /* only in as3543 */ #ifdef HAVE_AS3543
#define AS3543_PMU_ENABLE 0x1c /* only in as3543 */ #define AS3543_BACKLIGHT 0x1b
#define AS3543_PMU_ENABLE 0x1c
#endif
#define AS3514_PLLMODE 0x1d #define AS3514_PLLMODE 0x1d
@ -161,6 +171,9 @@ extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
/* Use AS3514_VOL_MASK */ /* Use AS3514_VOL_MASK */
/* LINE_IN1_R (0Ah) */ /* LINE_IN1_R (0Ah) */
#ifdef HAVE_AS3543
#define LINE_IN_R_LINE_SELECT (0x1 << 6)
#endif
#define LINE_IN1_R_LI1R_MUTE_off (0x1 << 5) #define LINE_IN1_R_LI1R_MUTE_off (0x1 << 5)
/* Use AS3514_VOL_MASK */ /* Use AS3514_VOL_MASK */
@ -201,8 +214,12 @@ extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
/* Use AS3514_VOL_MASK */ /* Use AS3514_VOL_MASK */
/* ADC_L (11h) */ /* ADC_L (11h) */
#ifdef HAVE_AS3543
#define ADC_L_ADC_MUTE_off (0x1 << 5)
#else
#define ADC_L_FS_2 (0x1 << 7) #define ADC_L_FS_2 (0x1 << 7)
#define ADC_L_ADC_MUTE_off (0x1 << 6) #define ADC_L_ADC_MUTE_off (0x1 << 6)
#endif
/* Use AS3514_VOL_MASK */ /* Use AS3514_VOL_MASK */
/* AUDIOSET1 (14h)*/ /* AUDIOSET1 (14h)*/

View file

@ -16,19 +16,12 @@
#define HAVE_HOTSWAP #define HAVE_HOTSWAP
#endif #endif
#define HW_SAMPR_CAPS SAMPR_CAP_ALL
#if 0 /* disabled since there is no driver (yet) */
#define HW_SAMPR_CAPS (SAMPR_CAP_44)
/* define this if you have recording possibility */ /* define this if you have recording possibility */
#define HAVE_RECORDING #define HAVE_RECORDING
#define REC_SAMPR_CAPS (SAMPR_CAP_22) #define REC_SAMPR_CAPS SAMPR_CAP_ALL
#define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
#define REC_SAMPR_DEFAULT SAMPR_22
#endif
/* Define bitmask of input sources - recordable bitmask can be defined /* Define bitmask of input sources - recordable bitmask can be defined
explicitly if different */ explicitly if different */
@ -104,9 +97,9 @@
/* There is no hardware tone control */ /* There is no hardware tone control */
#define HAVE_SW_TONE_CONTROLS #define HAVE_SW_TONE_CONTROLS
/* We're working on the assumption that the AS3525 has something /* AS3514 or newer */
similar to the AS3514 for audio codec etc */
#define HAVE_AS3514 #define HAVE_AS3514
#define HAVE_AS3543
/* define this if you have a real-time clock */ /* define this if you have a real-time clock */
#ifndef BOOTLOADER #ifndef BOOTLOADER

View file

@ -9,18 +9,12 @@
#define FIRMWARE_OFFSET_FILE_DATA 8 #define FIRMWARE_OFFSET_FILE_DATA 8
#define FIRMWARE_OFFSET_FILE_CRC 0 #define FIRMWARE_OFFSET_FILE_CRC 0
#if 0 /* disabled since there is no driver (yet) */ #define HW_SAMPR_CAPS SAMPR_CAP_ALL
#define HW_SAMPR_CAPS (SAMPR_CAP_44)
/* define this if you have recording possibility */ /* define this if you have recording possibility */
#define HAVE_RECORDING #define HAVE_RECORDING
#define REC_SAMPR_CAPS (SAMPR_CAP_22) #define REC_SAMPR_CAPS SAMPR_CAP_ALL
#define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
#define REC_SAMPR_DEFAULT SAMPR_22
#endif
/* Define bitmask of input sources - recordable bitmask can be defined /* Define bitmask of input sources - recordable bitmask can be defined
explicitly if different */ explicitly if different */
@ -99,9 +93,9 @@
/* There is no hardware tone control */ /* There is no hardware tone control */
#define HAVE_SW_TONE_CONTROLS #define HAVE_SW_TONE_CONTROLS
/* We're working on the assumption that the AS3525 has something /* AS3514 or newer */
similar to the AS3514 for audio codec etc */
#define HAVE_AS3514 #define HAVE_AS3514
#define HAVE_AS3543
/* define this if you have a real-time clock */ /* define this if you have a real-time clock */
#ifndef BOOTLOADER #ifndef BOOTLOADER

View file

@ -1,5 +1,5 @@
/* /*
* This config file is for the Sandisk Sansa Fuze * This config file is for the Sandisk Sansa Fuze v2
*/ */
#define TARGET_TREE /* this target is using the target tree system */ #define TARGET_TREE /* this target is using the target tree system */
@ -10,9 +10,9 @@
#define HW_SAMPR_CAPS SAMPR_CAP_ALL #define HW_SAMPR_CAPS SAMPR_CAP_ALL
/* define this if you have recording possibility */ /* define this if you have recording possibility */
//#define HAVE_RECORDING #define HAVE_RECORDING
//#define REC_SAMPR_CAPS SAMPR_CAP_ALL #define REC_SAMPR_CAPS SAMPR_CAP_ALL
/* Default recording levels */ /* Default recording levels */
#define DEFAULT_REC_MIC_GAIN 23 #define DEFAULT_REC_MIC_GAIN 23
@ -89,9 +89,9 @@
#define LCD_PIXELFORMAT RGB565 /* rgb565 */ #define LCD_PIXELFORMAT RGB565 /* rgb565 */
/* We're working on the assumption that the AS3525 has something /* AS3514 or newer */
similar to the AS3514 for audio codec etc */
#define HAVE_AS3514 #define HAVE_AS3514
#define HAVE_AS3543
/* Define this if you have a software controlled poweroff */ /* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF #define HAVE_SW_POWEROFF