28 lines
919 B
C
28 lines
919 B
C
#include "audio/audio_clocksel.h"
|
|
|
|
#include "main.h"
|
|
#include "stm32h7xx_hal.h"
|
|
|
|
static void audio_clock_en(audio_clock_t clock) {
|
|
if(clock == AUDIO_CLKIN_22M) {
|
|
HAL_GPIO_WritePin(MCU_OSC22EN_GPIO_Port, MCU_OSC22EN_Pin, GPIO_PIN_SET);
|
|
HAL_GPIO_WritePin(MCU_OSC24EN_GPIO_Port, MCU_OSC24EN_Pin, GPIO_PIN_RESET);
|
|
} else if(clock == AUDIO_CLKIN_24M) {
|
|
HAL_GPIO_WritePin(MCU_OSC24EN_GPIO_Port, MCU_OSC24EN_Pin, GPIO_PIN_SET);
|
|
HAL_GPIO_WritePin(MCU_OSC22EN_GPIO_Port, MCU_OSC22EN_Pin, GPIO_PIN_RESET);
|
|
}
|
|
}
|
|
|
|
uint8_t audio_clock_select(audio_clock_t clock) {
|
|
audio_clock_en(clock);
|
|
|
|
if (clock == AUDIO_CLKIN_22M) {
|
|
HAL_GPIO_WritePin(MCU_OSC_SEL_GPIO_Port, MCU_OSC_SEL_Pin, GPIO_PIN_RESET);
|
|
} else if (clock == AUDIO_CLKIN_24M) {
|
|
HAL_GPIO_WritePin(MCU_OSC_SEL_GPIO_Port, MCU_OSC_SEL_Pin, GPIO_PIN_SET);
|
|
} else {
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
} |