GPIO init for codec reset pin, reset pulse on system start

master
unicod 4 weeks ago
parent e81f6126c7
commit 01996cf0ab

@ -80,6 +80,8 @@ void Error_Handler(void);
#define SHR_CLK_GPIO_Port GPIOC
#define SHR_STR_Pin LL_GPIO_PIN_15
#define SHR_STR_GPIO_Port GPIOC
#define CODEC_RST_Pin LL_GPIO_PIN_0
#define CODEC_RST_GPIO_Port GPIOA
#define LD2_Pin LL_GPIO_PIN_11
#define LD2_GPIO_Port GPIOC
#define SHR_DOUT_DISP_Pin LL_GPIO_PIN_8
@ -129,7 +131,8 @@ static inline void SHRSTR_HI() { LL_GPIO_SetOutputPin( SHR_STR_GPIO_Port,
static inline void SHRSTR_LO() { LL_GPIO_ResetOutputPin( SHR_STR_GPIO_Port, SHR_STR_Pin); }
static inline void SHRDIN_HI() { LL_GPIO_SetOutputPin( SHR_DOUT_DISP_GPIO_Port, SHR_DOUT_DISP_Pin); }
static inline void SHRDIN_LO() { LL_GPIO_ResetOutputPin( SHR_DOUT_DISP_GPIO_Port, SHR_DOUT_DISP_Pin); }
static inline void CODEC_RST_HI() { LL_GPIO_SetOutputPin( CODEC_RST_GPIO_Port, CODEC_RST_Pin); }
static inline void CODEC_RST_LO() { LL_GPIO_ResetOutputPin( CODEC_RST_GPIO_Port, CODEC_RST_Pin); }
/* USER CODE END Private defines */

@ -185,6 +185,12 @@ int main(void)
MX_I2S2_Init();
MX_I2C1_Init();
/* USER CODE BEGIN 2 */
CODEC_RST_LO(); // Reset the audio codec via HW reset pin
__NOP();
__NOP();
CODEC_RST_HI();
init_printf(NULL, &uart_putc);
LL_TIM_GenerateEvent_UPDATE(TIM2);
@ -1062,6 +1068,9 @@ static void MX_GPIO_Init(void)
/**/
LL_GPIO_ResetOutputPin(SHR_DOUT_DISP_GPIO_Port, SHR_DOUT_DISP_Pin);
/**/
LL_GPIO_SetOutputPin(CODEC_RST_GPIO_Port, CODEC_RST_Pin);
/**/
LL_GPIO_SetOutputPin(LD2_GPIO_Port, LD2_Pin);
@ -1073,6 +1082,14 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/**/
GPIO_InitStruct.Pin = CODEC_RST_Pin;
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
LL_GPIO_Init(CODEC_RST_GPIO_Port, &GPIO_InitStruct);
/**/
GPIO_InitStruct.Pin = SHR_DOUT_DISP_Pin;
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;

@ -111,41 +111,42 @@ Mcu.Name=STM32H533RETx
Mcu.Package=LQFP64
Mcu.Pin0=PC14-OSC32_IN(OSC32_IN)
Mcu.Pin1=PC15-OSC32_OUT(OSC32_OUT)
Mcu.Pin10=PB12
Mcu.Pin11=PB13
Mcu.Pin12=PB14
Mcu.Pin13=PB15
Mcu.Pin14=PA13(JTMS/SWDIO)
Mcu.Pin15=PA14(JTCK/SWCLK)
Mcu.Pin16=PC11
Mcu.Pin17=PC12
Mcu.Pin18=PD2
Mcu.Pin19=PB6
Mcu.Pin10=PB10
Mcu.Pin11=PB12
Mcu.Pin12=PB13
Mcu.Pin13=PB14
Mcu.Pin14=PB15
Mcu.Pin15=PA13(JTMS/SWDIO)
Mcu.Pin16=PA14(JTCK/SWCLK)
Mcu.Pin17=PC11
Mcu.Pin18=PC12
Mcu.Pin19=PD2
Mcu.Pin2=PH0-OSC_IN(PH0)
Mcu.Pin20=PB7
Mcu.Pin21=PB8
Mcu.Pin22=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin23=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin24=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin25=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin26=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin27=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin28=VP_ICACHE_VS_ICACHE
Mcu.Pin29=VP_PWR_VS_SECSignals
Mcu.Pin20=PB6
Mcu.Pin21=PB7
Mcu.Pin22=PB8
Mcu.Pin23=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin24=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin25=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin26=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin27=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin28=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin29=VP_ICACHE_VS_ICACHE
Mcu.Pin3=PH1-OSC_OUT(PH1)
Mcu.Pin30=VP_PWR_VS_LPOM
Mcu.Pin31=VP_SYS_VS_Systick
Mcu.Pin32=VP_TIM2_VS_ClockSourceINT
Mcu.Pin33=VP_TIM5_VS_ClockSourceINT
Mcu.Pin34=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin35=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin30=VP_PWR_VS_SECSignals
Mcu.Pin31=VP_PWR_VS_LPOM
Mcu.Pin32=VP_SYS_VS_Systick
Mcu.Pin33=VP_TIM2_VS_ClockSourceINT
Mcu.Pin34=VP_TIM5_VS_ClockSourceINT
Mcu.Pin35=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin36=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin4=PC2
Mcu.Pin5=PA1
Mcu.Pin6=PA2
Mcu.Pin7=PA3
Mcu.Pin8=PB1
Mcu.Pin9=PB10
Mcu.PinsNb=36
Mcu.Pin5=PA0
Mcu.Pin6=PA1
Mcu.Pin7=PA2
Mcu.Pin8=PA3
Mcu.Pin9=PB1
Mcu.PinsNb=37
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H533RETx
@ -163,6 +164,13 @@ NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:false\:false\:false
NVIC.UART5_IRQn=true\:0\:0\:false\:false\:false\:true\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA0.GPIOParameters=PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
PA0.GPIO_Label=CODEC_RST
PA0.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_OD
PA0.GPIO_PuPd=GPIO_PULLUP
PA0.Locked=true
PA0.PinState=GPIO_PIN_SET
PA0.Signal=GPIO_Output
PA1.GPIOParameters=GPIO_Speed
PA1.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA1.Mode=Hardware Flow Control (RS485)

Loading…
Cancel
Save