diff --git a/arch/arm/src/dm320/dm320_allocateheap.c b/arch/arm/src/dm320/dm320_allocateheap.c
index 865164b524d5c4d33f0bd81d55db3be64709d2b0..19875276b0e771b5e3910507e0c92e7388879aeb 100644
--- a/arch/arm/src/dm320/dm320_allocateheap.c
+++ b/arch/arm/src/dm320/dm320_allocateheap.c
@@ -44,6 +44,7 @@
 #include <nuttx/arch.h>
 #include <arch/board/board.h>
 
+#include "chip.h"
 #include "up_arch.h"
 #include "up_internal.h"
 
diff --git a/arch/arm/src/dm320/dm320_boot.c b/arch/arm/src/dm320/dm320_boot.c
index 1dd7288f072a021add68614c01b96760955bfbd3..b8f5f18793cc2506efec5f8779bbfbe713a1efb7 100644
--- a/arch/arm/src/dm320/dm320_boot.c
+++ b/arch/arm/src/dm320/dm320_boot.c
@@ -40,6 +40,7 @@
 #include <nuttx/config.h>
 #include <stdint.h>
 
+#include "chip.h"
 #include "arm.h"
 #include "up_internal.h"
 #include "up_arch.h"
@@ -226,4 +227,15 @@ void up_boot(void)
    */
 
   up_copyvectorblock();
+
+  /* Set up the board-specific LEDs */
+
+#ifdef CONFIG_ARCH_LEDS
+  up_ledinit();
+#endif
+  /* Perform early serial initialization */
+
+#ifdef CONFIG_USE_EARLYSERIALINIT
+  up_earlyserialinit();
+#endif
 }
diff --git a/arch/arm/src/dm320/dm320_decodeirq.c b/arch/arm/src/dm320/dm320_decodeirq.c
index e7953caf0126d5cbb768594bd68be205a8d2c0fc..a844fcae99646db2bb2ab229415e217b0c35b210 100644
--- a/arch/arm/src/dm320/dm320_decodeirq.c
+++ b/arch/arm/src/dm320/dm320_decodeirq.c
@@ -46,6 +46,7 @@
 #include <assert.h>
 #include <debug.h>
 
+#include "chip.h"
 #include "up_arch.h"
 #include "os_internal.h"
 #include "up_internal.h"
diff --git a/arch/arm/src/dm320/dm320_irq.c b/arch/arm/src/dm320/dm320_irq.c
index ec31e3246710b2e857f92d226a93bf00c361cbbc..f094bab1c32cb3a41aff6aef9260b4b997ac8c08 100644
--- a/arch/arm/src/dm320/dm320_irq.c
+++ b/arch/arm/src/dm320/dm320_irq.c
@@ -43,6 +43,8 @@
 #include <nuttx/irq.h>
 
 #include "arm.h"
+#include "chip.h"
+
 #include "up_arch.h"
 #include "os_internal.h"
 #include "up_internal.h"
diff --git a/arch/arm/src/dm320/dm320_lowputc.S b/arch/arm/src/dm320/dm320_lowputc.S
index 1f3007f2e21d00af2c2214ad9c151eb3789a738d..52953fc2c6aaf0f45148b3d8dc0a692052cfd851 100644
--- a/arch/arm/src/dm320/dm320_lowputc.S
+++ b/arch/arm/src/dm320/dm320_lowputc.S
@@ -39,6 +39,8 @@
  **************************************************************************/
 
 #include <nuttx/config.h>
+
+#include "chip.h"
 #include "up_internal.h"
 #include "up_arch.h"
 
diff --git a/arch/arm/src/dm320/dm320_serial.c b/arch/arm/src/dm320/dm320_serial.c
index 47e15defea0248a627fa8a1a84bb598035afc5a3..120f19f724df07fd7a7aab353964946da0c6de79 100644
--- a/arch/arm/src/dm320/dm320_serial.c
+++ b/arch/arm/src/dm320/dm320_serial.c
@@ -53,7 +53,9 @@
 #include <nuttx/arch.h>
 #include <nuttx/serial.h>
 #include <arch/serial.h>
+#include <arch/board/board.h>
 
+#include "chip.h"
 #include "up_arch.h"
 #include "os_internal.h"
 #include "up_internal.h"
diff --git a/arch/arm/src/dm320/dm320_timerisr.c b/arch/arm/src/dm320/dm320_timerisr.c
index a8e3f39fe94beaaa024ab219c745718d8dc1e66f..18e88b448c2e516590c48bb7b32d534af23a62b4 100644
--- a/arch/arm/src/dm320/dm320_timerisr.c
+++ b/arch/arm/src/dm320/dm320_timerisr.c
@@ -44,9 +44,10 @@
 #include <debug.h>
 #include <nuttx/arch.h>
 
+#include "chip.h"
+#include "up_arch.h"
 #include "clock_internal.h"
 #include "up_internal.h"
-#include "up_arch.h"
 
 /****************************************************************************
  * Pre-processor Definitions