From 9c29665a723ac976bee4eccb78ca53d259efb7b3 Mon Sep 17 00:00:00 2001 From: Markus Hitter Date: Wed, 12 Aug 2015 15:34:27 +0200 Subject: [PATCH] ARM: take care of system startup status. Not much to do, still it was necessary to review this topic. --- cpu-arm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cpu-arm.c b/cpu-arm.c index 91c9a14..8b5d325 100644 --- a/cpu-arm.c +++ b/cpu-arm.c @@ -7,7 +7,20 @@ #if defined TEACUP_C_INCLUDE && defined __ARMEL__ +#include "config_wrapper.h" + void cpu_init() { + /** + Other than on ATmegas, the LPC11xx disables all peripherals except GPIO + and SPI0 on reset. Brown Out detector is set to kick in at 1.46 V, without + causing a reset. See chapter 3.5.14 in the LPC11xx User Manual. + + GPIO is needed in all configurations, so we just turn off SPI0 if not + needed. + */ + #ifndef SPI + LPC_SYSCON->SYSAHBCLKCTRL &= ~(1 << 11); + #endif } #endif /* defined TEACUP_C_INCLUDE && defined __ARMEL__ */