diff --git a/platform/drivers/audio/audio_MDx.c b/platform/drivers/audio/audio_MDx.c index e43760c3..86ce780d 100644 --- a/platform/drivers/audio/audio_MDx.c +++ b/platform/drivers/audio/audio_MDx.c @@ -26,34 +26,46 @@ void audio_init() { gpio_setMode(SPK_MUTE, OUTPUT); + #ifndef PLATFORM_MD9600 gpio_setMode(AUDIO_AMP_EN, OUTPUT); gpio_setMode(MIC_PWR, OUTPUT); + #endif gpio_setPin(SPK_MUTE); /* Speaker muted */ + #ifndef PLATFORM_MD9600 gpio_clearPin(AUDIO_AMP_EN); /* Audio PA off */ gpio_clearPin(MIC_PWR); /* Mic preamp. off */ + #endif } void audio_terminate() { gpio_setPin(SPK_MUTE); /* Speaker muted */ + #ifndef PLATFORM_MD9600 gpio_clearPin(AUDIO_AMP_EN); /* Audio PA off */ gpio_clearPin(MIC_PWR); /* Mic preamp. off */ + #endif } void audio_enableMic() { + #ifndef PLATFORM_MD9600 gpio_setPin(MIC_PWR); + #endif } void audio_disableMic() { + #ifndef PLATFORM_MD9600 gpio_clearPin(MIC_PWR); + #endif } void audio_enableAmp() { + #ifndef PLATFORM_MD9600 gpio_setPin(AUDIO_AMP_EN); + #endif sleepFor(0, 10); /* 10ms anti-pop delay */ gpio_clearPin(SPK_MUTE); } @@ -61,5 +73,7 @@ void audio_enableAmp() void audio_disableAmp() { gpio_setPin(SPK_MUTE); + #ifndef PLATFORM_MD9600 gpio_clearPin(AUDIO_AMP_EN); + #endif } diff --git a/platform/targets/MD-9600/hwconfig.h b/platform/targets/MD-9600/hwconfig.h index 8f7f22a7..cb751470 100644 --- a/platform/targets/MD-9600/hwconfig.h +++ b/platform/targets/MD-9600/hwconfig.h @@ -89,7 +89,7 @@ #define SPI2_SDI GPIOB,15 /* Audio control */ -#define SPK_MUTE GPIOB,6 +#define SPK_MUTE GPIOB,6 /* GPS, for the devices who have it */ #define GPS_EN GPIOA,9