From 00aa283a54d7ace981fe9baebe8126b437d3d5ab Mon Sep 17 00:00:00 2001 From: hexkyz Date: Fri, 7 Dec 2018 22:18:01 +0000 Subject: [PATCH] fusee: Fix KFUSE clock. --- fusee/fusee-secondary/src/car.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fusee/fusee-secondary/src/car.c b/fusee/fusee-secondary/src/car.c index 5bf8b4331..935dea922 100644 --- a/fusee/fusee-secondary/src/car.c +++ b/fusee/fusee-secondary/src/car.c @@ -15,6 +15,7 @@ */ #include "car.h" +#include "timers.h" #include "utils.h" static inline uint32_t get_clk_source_reg(CarDevice dev) { @@ -121,7 +122,15 @@ void clkrst_disable(CarDevice dev) { void clkrst_reboot(CarDevice dev) { clkrst_disable(dev); - clkrst_enable(dev); + if (dev == CARDEVICE_KFUSE) { + /* Workaround for KFUSE clock. */ + clk_enable(dev); + udelay(100); + rst_disable(dev); + udelay(200); + } else { + clkrst_enable(dev); + } } void clkrst_enable_fuse_regs(bool enable) {