drivers: entropy: stm32: limit driver to SoC supporting it

In STM32 family, RNG IP is available only on F4 and L4 series.
Besides STM32F401 does not support is neither.
Get entropy driver available on STM32 devices supporting it and
generate a compilation issue on STM32 devices that do not own
the RNG IP.

Solves #5448

Signed-Off-By: Erwan Gouriou <erwan.gouriou@linaro.org>
This commit is contained in:
Erwan Gouriou 2017-12-20 15:49:56 +01:00 committed by Anas Nashif
parent 48ff51af75
commit 164fb32cf6
10 changed files with 71 additions and 0 deletions

View file

@ -28,4 +28,11 @@ config GPIO_STM32_PORTI
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F405XG

View file

@ -28,4 +28,11 @@ config GPIO_STM32_PORTI
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F407XG

View file

@ -15,4 +15,11 @@ config NUM_IRQS
int
default 85
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F411XE

View file

@ -25,4 +25,11 @@ config GPIO_STM32_PORTG
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F412ZG

View file

@ -25,4 +25,11 @@ config GPIO_STM32_PORTG
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F413XH

View file

@ -28,4 +28,11 @@ config GPIO_STM32_PORTI
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F417XE || SOC_STM32F417XG

View file

@ -34,4 +34,11 @@ config GPIO_STM32_PORTK
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F429XI

View file

@ -34,4 +34,11 @@ config GPIO_STM32_PORTK
endif # GPIO_STM32
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_STM32F469XI

View file

@ -20,4 +20,11 @@ config I2C_STM32_V2
endif # I2C
if ENTROPY_GENERATOR
config ENTROPY_STM32_RNG
def_bool y
endif # ENTROPY_GENERATOR
endif # SOC_SERIES_STM32L4X

View file

@ -17,6 +17,12 @@
#include <clock_control.h>
#include <clock_control/stm32_clock_control.h>
#if !defined(CONFIG_SOC_SERIES_STM32L4X) && !defined(CONFIG_SOC_SERIES_STM32F4X)
#error RNG only available on STM32F4 and STM32L4 series
#elif defined(CONFIG_SOC_STM32F401XE)
#error RNG not available on STM32F401 based SoCs
#else
struct entropy_stm32_rng_dev_cfg {
struct stm32_pclken pclken;
};
@ -204,3 +210,5 @@ DEVICE_AND_API_INIT(entropy_stm32_rng, CONFIG_ENTROPY_NAME,
&entropy_stm32_rng_data, &entropy_stm32_rng_config,
PRE_KERNEL_2, CONFIG_KERNEL_INIT_PRIORITY_DEVICE,
&entropy_stm32_rng_api);
#endif