diff --git a/arch/arm/src/stm32h7/stm32_otg.h b/arch/arm/src/stm32h7/stm32_otg.h index 2a41456668..c1d546cb9f 100644 --- a/arch/arm/src/stm32h7/stm32_otg.h +++ b/arch/arm/src/stm32h7/stm32_otg.h @@ -29,11 +29,30 @@ #include +#include + #include "chip.h" +#include "stm32_rcc.h" #include "hardware/stm32_otg.h" #if defined(CONFIG_STM32H7_OTGFS) || defined(CONFIG_STM32H7_OTGHS) +#if (STM32_RCC_D2CCIP2R_USBSRC == RCC_D2CCIP2R_USBSEL_HSI48) && \ + !defined(CONFIG_STM32H7_HSI48) +# error board.h selected HSI48 as USB clock source, but HSI48 is not \ + enabled. Enable STM32H7_HSI48 +#endif + +#if defined(CONFIG_STM32H7_OTGHS) && !defined(CONFIG_STM32H7_OTGHS_FS) && \ + defined(CONFIG_STM32H7_OTGHS_NO_ULPI) +# error OTG HS selected but no ULPI enabled +#endif + +#if defined(CONFIG_STM32H7_OTGHS_EXTERNAL_ULPI) && \ + !defined(CONFIG_STM32H7_SYSCFG_IOCOMPENSATION) +# error External ULPI needs IOCOMPENSATION enabled +#endif + /**************************************************************************** * Pre-processor Definitions ****************************************************************************/ diff --git a/arch/arm/src/stm32h7/stm32_otgdev.c b/arch/arm/src/stm32h7/stm32_otgdev.c index 51604fc827..68abf01fed 100644 --- a/arch/arm/src/stm32h7/stm32_otgdev.c +++ b/arch/arm/src/stm32h7/stm32_otgdev.c @@ -54,22 +54,6 @@ #if defined(CONFIG_USBDEV) && (defined(CONFIG_STM32H7_OTGFS) || \ defined(CONFIG_STM32H7_OTGHS)) -#if (STM32_RCC_D2CCIP2R_USBSRC == RCC_D2CCIP2R_USBSEL_HSI48) && \ - !defined(CONFIG_STM32H7_HSI48) -# error board.h selected HSI48 as USB clock source, but HSI48 is not \ - enabled. Enable STM32H7_HSI48 -#endif - -#if defined(CONFIG_STM32H7_OTGHS) && !defined(CONFIG_STM32H7_OTGHS_FS) && \ - defined(CONFIG_STM32H7_OTGHS_NO_ULPI) -# error OTG HS selected but no ULPI enabled -#endif - -#if defined(CONFIG_STM32H7_OTGHS_EXTERNAL_ULPI) && \ - !defined(CONFIG_STM32H7_SYSCFG_IOCOMPENSATION) -# error External ULPI needs IOCOMPENSATION enabled -#endif - /**************************************************************************** * Pre-processor Definitions ****************************************************************************/