summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2024-03-13 11:56:31 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2024-03-15 08:07:39 +0100
commit276048a59a225f543e16563ac35103cfe5f2a6e8 (patch)
treeede1676501134ea611db2ca77a978b048f0933be /arch/arm/mach-omap
parent45080577a633cb4b2270e2dcbcef0752913d692d (diff)
downloadbarebox-276048a59a225f543e16563ac35103cfe5f2a6e8.tar.gz
barebox-276048a59a225f543e16563ac35103cfe5f2a6e8.tar.xz
hw_random: add OMAP RNG driver
To enable proper hardening with stack protector, add support for the OMAP RNG driver. This has been tested on a Beagle Bone Black. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240313105631.686778-13-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-omap')
-rw-r--r--arch/arm/mach-omap/am33xx_clock.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-omap/am33xx_clock.c b/arch/arm/mach-omap/am33xx_clock.c
index eeb7e93329..4ba10491be 100644
--- a/arch/arm/mach-omap/am33xx_clock.c
+++ b/arch/arm/mach-omap/am33xx_clock.c
@@ -169,6 +169,11 @@ void am33xx_enable_per_clocks(void)
__raw_writel(PRCM_MOD_EN, CM_WKUP_ADC_TSC_CLKCTRL);
while (__raw_readl(CM_WKUP_ADC_TSC_CLKCTRL) != PRCM_MOD_EN);
+ if (IS_ENABLED(CONFIG_HW_RANDOM_OMAP)) {
+ __raw_writel(PRCM_MOD_EN, CM_PER_RNG_CLKCTRL);
+ while ((__raw_readl(CM_PER_RNG_CLKCTRL) & 0x30000) != 0x0);
+ }
+
clkdcoldo = __raw_readl(CM_CLKDCOLDO_DPLL_PER);
clkdcoldo = clkdcoldo | 0x100;
__raw_writel(clkdcoldo, CM_CLKDCOLDO_DPLL_PER);