aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Protsenko <semen.protsenko@linaro.org>2024-07-23 13:14:39 -0500
committerMinkyu Kang <mk7.kang@samsung.com>2024-07-24 16:37:09 +0900
commit2269217bbddb3d729f6129dceda8da5b1c73ba05 (patch)
tree294470ece86ea0e11f0a65de68ef70e6537faf1b
parent9344efc9bb7a28a1aca395d2762ca2d5dc128405 (diff)
downloadu-boot-2269217bbddb3d729f6129dceda8da5b1c73ba05.zip
u-boot-2269217bbddb3d729f6129dceda8da5b1c73ba05.tar.gz
u-boot-2269217bbddb3d729f6129dceda8da5b1c73ba05.tar.bz2
arm: exynos: Enable TRNG on E850-96 board
Enable True Random Number Generator (TRNG) on E850-96 board. To do so: 1. Enable DM_RNG and RNG_EXYNOS for TARGET_E850_96 2. Add TRNG node to E850-96 device tree 3. Enable 'rng' command support for easy TRNG testing TRNG node is already applied in Linux kernel device tree, but it hasn't appeared in upstream dts yet. Add it in U-Boot override dtsi file temporarily; it can be removed once it appears in upstream dts. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
-rw-r--r--arch/arm/dts/exynos850-e850-96-u-boot.dtsi11
-rw-r--r--arch/arm/mach-exynos/Kconfig2
-rw-r--r--configs/e850-96_defconfig1
3 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/dts/exynos850-e850-96-u-boot.dtsi b/arch/arm/dts/exynos850-e850-96-u-boot.dtsi
index 6d7148f..3aa5d8b 100644
--- a/arch/arm/dts/exynos850-e850-96-u-boot.dtsi
+++ b/arch/arm/dts/exynos850-e850-96-u-boot.dtsi
@@ -3,6 +3,17 @@
* Copyright (c) 2023 Linaro Ltd.
*/
+&soc {
+ /* TODO: Remove this node once it appears in upstream dts */
+ trng: rng@12081400 {
+ compatible = "samsung,exynos850-trng";
+ reg = <0x12081400 0x100>;
+ clocks = <&cmu_core CLK_GOUT_SSS_ACLK>,
+ <&cmu_core CLK_GOUT_SSS_PCLK>;
+ clock-names = "secss", "pclk";
+ };
+};
+
&pmu_system_controller {
bootph-all;
samsung,uart-debug-1;
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index cad8bb0..3fee5a4 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -250,6 +250,8 @@ config TARGET_E850_96
select PINCTRL
select PINCTRL_EXYNOS850
imply OF_UPSTREAM
+ imply DM_RNG
+ imply RNG_EXYNOS
endchoice
endif
diff --git a/configs/e850-96_defconfig b/configs/e850-96_defconfig
index 38b9968..2949da2 100644
--- a/configs/e850-96_defconfig
+++ b/configs/e850-96_defconfig
@@ -11,6 +11,7 @@ CONFIG_DEFAULT_DEVICE_TREE="exynos/exynos850-e850-96"
CONFIG_SYS_LOAD_ADDR=0x80000000
# CONFIG_AUTOBOOT is not set
# CONFIG_DISPLAY_CPUINFO is not set
+CONFIG_CMD_RNG=y
# CONFIG_NET is not set
CONFIG_CLK_EXYNOS850=y
# CONFIG_MMC is not set