[rtems commit] bsp/altera-cyclone-v: Make FDT support optional

Sebastian Huber sebh at rtems.org
Mon Feb 18 07:34:08 UTC 2019


Module:    rtems
Branch:    master
Commit:    43fbb50ff07af334655735e7a3b9b2037b705407
Changeset: http://git.rtems.org/rtems/commit/?id=43fbb50ff07af334655735e7a3b9b2037b705407

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Feb 15 12:07:23 2019 +0100

bsp/altera-cyclone-v: Make FDT support optional

---

 bsps/arm/altera-cyclone-v/include/bsp.h            |  2 --
 bsps/arm/altera-cyclone-v/start/bspgetworkarea.c   | 14 +++++++++++++-
 bsps/arm/altera-cyclone-v/start/bspstart.c         |  4 ++++
 c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac |  3 +++
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/bsps/arm/altera-cyclone-v/include/bsp.h b/bsps/arm/altera-cyclone-v/include/bsp.h
index 92bc955..06e68bb 100644
--- a/bsps/arm/altera-cyclone-v/include/bsp.h
+++ b/bsps/arm/altera-cyclone-v/include/bsp.h
@@ -27,8 +27,6 @@
 
 #define BSP_FEATURE_IRQ_EXTENSION
 
-#define BSP_FDT_IS_SUPPORTED
-
 #ifndef ASM
 
 #include <rtems.h>
diff --git a/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c b/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c
index a3c702d..8628fb0 100644
--- a/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c
+++ b/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c
@@ -15,6 +15,8 @@
 
 #include <libfdt.h>
 
+#ifdef BSP_FDT_IS_SUPPORTED
+
 #define AREA_COUNT_MAX 16
 
 static const char memory_path[] = "/memory";
@@ -147,17 +149,26 @@ static size_t remove_reserved_memory(
   return area_count;
 }
 
+#else /* !BSP_FDT_IS_SUPPORTED */
+
+#define AREA_COUNT_MAX 1
+
+#endif /* BSP_FDT_IS_SUPPORTED */
+
 void bsp_work_area_initialize(void)
 {
-  const void *fdt;
   Heap_Area areas[AREA_COUNT_MAX];
   size_t area_count;
+#ifdef BSP_FDT_IS_SUPPORTED
+  const void *fdt;
   size_t i;
+#endif
 
   areas[0].begin = bsp_section_work_begin;
   areas[0].size = (uintptr_t) bsp_section_work_size;
   area_count = 1;
 
+#ifdef BSP_FDT_IS_SUPPORTED
   fdt = bsp_fdt_get();
 
   adjust_memory_size(fdt, &areas[0]);
@@ -170,6 +181,7 @@ void bsp_work_area_initialize(void)
       ARMV7_MMU_READ_WRITE_CACHED
     );
   }
+#endif
 
   bsp_work_area_initialize_with_table(areas, area_count);
 }
diff --git a/bsps/arm/altera-cyclone-v/start/bspstart.c b/bsps/arm/altera-cyclone-v/start/bspstart.c
index c7eae97..ac84f54 100644
--- a/bsps/arm/altera-cyclone-v/start/bspstart.c
+++ b/bsps/arm/altera-cyclone-v/start/bspstart.c
@@ -21,6 +21,7 @@
 
 #include <libfdt.h>
 
+#ifdef BSP_FDT_IS_SUPPORTED
 uint32_t bsp_fdt_map_intr(const uint32_t *intr, size_t icells)
 {
   return intr[1] + 32;
@@ -90,10 +91,13 @@ static void update_clocks(void)
   set_clock_by_output_name(fdt, ALT_CLK_F2H_PERIPH_REF, "hps_0_f2s_periph_ref_clk-clk");
   set_clock_by_output_name(fdt, ALT_CLK_F2H_SDRAM_REF, "hps_0_f2s_sdram_ref_clk-clk");
 }
+#endif
 
 void bsp_start(void)
 {
+#ifdef BSP_FDT_IS_SUPPORTED
   update_clocks();
+#endif
   bsp_interrupt_initialize();
   rtems_cache_coherent_add_area(
     bsp_section_nocacheheap_begin,
diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac b/c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac
index c6d8dec..0fa7f66 100644
--- a/c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac
+++ b/c/src/lib/libbsp/arm/altera-cyclone-v/configure.ac
@@ -27,6 +27,9 @@ RTEMS_BSPOPTS_HELP([BSP_DATA_CACHE_ENABLED],[enable data cache])
 RTEMS_BSPOPTS_SET([BSP_INSTRUCTION_CACHE_ENABLED],[*],[1])
 RTEMS_BSPOPTS_HELP([BSP_INSTRUCTION_CACHE_ENABLED],[enable instruction cache])
 
+RTEMS_BSPOPTS_SET([BSP_FDT_IS_SUPPORTED],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_FDT_IS_SUPPORTED],[define if FDT is supported])
+
 RTEMS_BSPOPTS_SET([BSP_START_COPY_FDT_FROM_U_BOOT],[*],[1])
 RTEMS_BSPOPTS_HELP([BSP_START_COPY_FDT_FROM_U_BOOT],[copy the U-Boot provided FDT to an internal storage])
 




More information about the vc mailing list