diff --git a/include/libopencm3/stm32/g4/memorymap.h b/include/libopencm3/stm32/g4/memorymap.h
index 7da6e578..837160e4 100644
--- a/include/libopencm3/stm32/g4/memorymap.h
+++ b/include/libopencm3/stm32/g4/memorymap.h
@@ -115,8 +115,8 @@
#define DAC2_BASE (PERIPH_BASE_AHB2 + 0x0c00)
#define DAC3_BASE (PERIPH_BASE_AHB2 + 0x1000)
#define DAC4_BASE (PERIPH_BASE_AHB2 + 0x1400)
-#define AES_BASE (PERIPH_BASE_AHB2 + 0x6000)
-#define RNG_BASE (PERIPH_BASE_AHB2 + 0x6800)
+#define AES_BASE (PERIPH_BASE_AHB2 + 0x60000)
+#define RNG_BASE (PERIPH_BASE_AHB2 + 0x60800)
#define FMC_BASE (0xa0000000U)
#define QUADSPI_BASE (0xa0001000U)
diff --git a/include/libopencm3/stm32/g4/rng.h b/include/libopencm3/stm32/g4/rng.h
new file mode 100644
index 00000000..44706ffa
--- /dev/null
+++ b/include/libopencm3/stm32/g4/rng.h
@@ -0,0 +1,40 @@
+/** @defgroup rng_defines RNG Defines
+ *
+ * @ingroup STM32G4xx_defines
+ *
+ * @brief Defined Constants and Types for the STM32G4xx RNG Control
+ *
+ * @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 .
+ */
+
+/**@{*/
+#ifndef LIBOPENCM3_RNG_H
+#define LIBOPENCM3_RNG_H
+
+#include
+
+/* --- RNG_CR values ------------------------------------------------------- */
+
+/** Clock error detection : CED = 0 : Detection Enabled */
+#define RNG_CR_CED (1 << 5)
+
+#endif
+/**@}*/
diff --git a/include/libopencm3/stm32/rng.h b/include/libopencm3/stm32/rng.h
index 01f1b104..68a1c2f2 100644
--- a/include/libopencm3/stm32/rng.h
+++ b/include/libopencm3/stm32/rng.h
@@ -34,6 +34,8 @@
# include
#elif defined(STM32G0)
# include
+#elif defined(STM32G4)
+# include
#else
# error "stm32 family not defined."
#endif
diff --git a/lib/stm32/g4/Makefile b/lib/stm32/g4/Makefile
index 8a51849b..38423565 100644
--- a/lib/stm32/g4/Makefile
+++ b/lib/stm32/g4/Makefile
@@ -47,6 +47,7 @@ OBJS += i2c_common_v2.o
OBJS += opamp_common_all.o opamp_common_v2.o
OBJS += pwr.o
OBJS += rcc.o rcc_common_all.o
+OBJS += rng_common_v1.o
OBJS += spi_common_all.o spi_common_v2.o
OBJS += timer_common_all.o timer_common_f0234.o
OBJS += quadspi_common_v1.o