From 43fbb50ff07af334655735e7a3b9b2037b705407 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 15 Feb 2019 12:07:23 +0100 Subject: 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 92bc95531b..06e68bbfe1 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 diff --git a/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c b/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c index a3c702de98..8628fb0b46 100644 --- a/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c +++ b/bsps/arm/altera-cyclone-v/start/bspgetworkarea.c @@ -15,6 +15,8 @@ #include +#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 c7eae97fdc..ac84f54147 100644 --- a/bsps/arm/altera-cyclone-v/start/bspstart.c +++ b/bsps/arm/altera-cyclone-v/start/bspstart.c @@ -21,6 +21,7 @@ #include +#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 c6d8dec7ce..0fa7f66af5 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]) -- cgit v1.2.3