stm32g0: add rng.

Regular rng peripheral, with one additional bit : clock error detection
apparently available on l4 chips).  Curiously, Clock error detection is
_disabled_ when bit is set, but bit is cleared by default, so peripheral
/ clock error detection behaves like all other chips..

NB: RNG need proper rcc_ccicr_rngsel bits set to work, no clock is set by
default. Note also that on that chip fRNGCLK must be higher than fHCLK/32
This commit is contained in:
Guillaume Revaillot 2019-02-05 18:16:54 +01:00
parent 5a349d3ab6
commit 38006c3c82
3 changed files with 43 additions and 0 deletions

View File

@ -0,0 +1,40 @@
/** @defgroup rng_defines RNG Defines
*
* @ingroup STM32G0xx_defines
*
* @brief <b>Defined Constants and Types for the STM32G0xx EXTI Control</b>
*
* @version 1.0.0
*
* LGPL License Terms @ref lgpl_license
* */
/*
* This file is part of the libopencm3 project.
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/**@{*/
#ifndef LIBOPENCM3_RNG_H
#define LIBOPENCM3_RNG_H
#include <libopencm3/stm32/common/rng_common_v1.h>
/* --- RNG_CR values ------------------------------------------------------- */
/** Clock error detection : CED = 0 : Detection Enabled */
#define RNG_CR_CED (1 << 5)
#endif
/**@}*/

View File

@ -30,6 +30,8 @@
# include <libopencm3/stm32/l0/rng.h>
#elif defined(STM32L4)
# include <libopencm3/stm32/l4/rng.h>
#elif defined(STM32G0)
# include <libopencm3/stm32/g0/rng.h>
#else
# error "stm32 family not defined."
#endif

View File

@ -43,6 +43,7 @@ OBJS += iwdg_common_all.o
OBJS += usart_common_all.o usart_common_v2.o
OBJS += spi_common_all.o spi_common_v1_frf.o
OBJS += i2c_common_v2.o
OBJS += rng_common_v1.o
VPATH +=../:../../cm3:../common