diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 10:35:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:52:14 +0200 |
commit | 99648958668d3a33ee57974479b36201fe303f34 (patch) | |
tree | 6f27ea790e2823c6156e71219a4f54680263fac6 /c/src/lib/libbsp/arm/realview-pbx-a9 | |
parent | bsps: Move start files to bsps (diff) | |
download | rtems-99648958668d3a33ee57974479b36201fe303f34.tar.bz2 |
bsps: Move startup files to bsps
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/arm/realview-pbx-a9')
9 files changed, 9 insertions, 275 deletions
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am b/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am index 829fa617dc..64b89754a2 100644 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am +++ b/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am @@ -10,7 +10,7 @@ ACLOCAL_AMFLAGS = -I ../../../../aclocal include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -dist_project_lib_DATA = startup/bsp_specs +dist_project_lib_DATA = ../../../../../../bsps/arm/realview-pbx-a9/start/bsp_specs ############################################################################### # Header # @@ -25,8 +25,8 @@ start.$(OBJEXT): ../../../../../../bsps/arm/shared/start/start.S project_lib_DATA = start.$(OBJEXT) project_lib_DATA += linkcmds -dist_project_lib_DATA += startup/linkcmds.realview_pbx_a9_qemu -dist_project_lib_DATA += startup/linkcmds.realview_pbx_a9_qemu_smp +dist_project_lib_DATA += ../../../../../../bsps/arm/realview-pbx-a9/start/linkcmds.realview_pbx_a9_qemu +dist_project_lib_DATA += ../../../../../../bsps/arm/realview-pbx-a9/start/linkcmds.realview_pbx_a9_qemu_smp ############################################################################### # LibBSP # @@ -44,16 +44,16 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounter librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/btimer/btimer-stub.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c -librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c # Startup -librtemsbsp_a_SOURCES += startup/bspreset.c -librtemsbsp_a_SOURCES += startup/bspstart.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspreset.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspstart.c if HAS_SMP librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c -librtemsbsp_a_SOURCES += startup/bspsmp.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspsmp.c endif # IRQ @@ -75,11 +75,11 @@ librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-clock-config.c librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/cache/cache-cp15.c # Start hooks -librtemsbsp_a_SOURCES += startup/bspstarthooks.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspstarthooks.c # Framebuffer librtemsbsp_a_SOURCES += ../shared/arm-pl111-fb.c -librtemsbsp_a_SOURCES += startup/fb-config.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/fb-config.c ############################################################################### # Special Rules # diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs deleted file mode 100644 index 47dd31d46b..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs +++ /dev/null @@ -1,9 +0,0 @@ -%rename endfile old_endfile -%rename startfile old_startfile - -*startfile: -%{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}} - -*endfile: -%{!qrtems: %(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c deleted file mode 100644 index 15ff7193f1..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp/bootcard.h> - -void bsp_reset(void) -{ - volatile uint32_t *sys_lock = (volatile uint32_t *) 0x10000020; - volatile uint32_t *sys_resetctl = (volatile uint32_t *) 0x10000040; - - while (true) { - *sys_lock = 0xa05f; - *sys_resetctl = 0xf4; - } -} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c deleted file mode 100644 index 471e7e5f29..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2014 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <rtems/score/smpimpl.h> - -bool _CPU_SMP_Start_processor(uint32_t cpu_index) -{ - (void) cpu_index; - - /* Nothing to do */ - - return true; -} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c deleted file mode 100644 index 0be515c057..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp.h> -#include <bsp/bootcard.h> -#include <bsp/arm-a9mpcore-clock.h> -#include <bsp/irq-generic.h> - -void bsp_start(void) -{ - a9mpcore_clock_initialize_early(); - bsp_interrupt_initialize(); -} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c deleted file mode 100644 index ab766e8626..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#define ARM_CP15_TEXT_SECTION BSP_START_TEXT_SECTION - -#include <bsp.h> -#include <bsp/start.h> -#include <bsp/arm-cp15-start.h> -#include <bsp/arm-a9mpcore-start.h> - -BSP_START_DATA_SECTION static const arm_cp15_start_section_config -rvpbxa9_mmu_config_table[] = { - ARMV7_CP15_START_DEFAULT_SECTIONS, - { - .begin = 0x10000000U, - .end = 0x10020000U, - .flags = ARMV7_MMU_DEVICE - }, { - .begin = 0x1f000000U, - .end = 0x20000000U, - .flags = ARMV7_MMU_DEVICE - }, { - .begin = 0x4e000000U, - .end = 0x4f000000U, - .flags = ARMV7_MMU_DEVICE - } -}; - -BSP_START_TEXT_SECTION static void setup_mmu_and_cache(void) -{ - uint32_t ctrl = arm_cp15_start_setup_mmu_and_cache( - ARM_CP15_CTRL_A, - ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z - ); - - arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache( - ctrl, - (uint32_t *) bsp_translation_table_base, - ARM_MMU_DEFAULT_CLIENT_DOMAIN, - &rvpbxa9_mmu_config_table[0], - RTEMS_ARRAY_SIZE(rvpbxa9_mmu_config_table) - ); -} - -BSP_START_TEXT_SECTION void bsp_start_hook_0(void) -{ -#ifdef RTEMS_SMP - uint32_t cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id(); - - /* - * QEMU jumps to the entry point of the ELF file on all processors. Prevent - * a SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR this way. - */ - if ( cpu_id >= rtems_configuration_get_maximum_processors() ) { - while (true) { - _ARM_Wait_for_event(); - } - } -#endif - - arm_a9mpcore_start_hook_0(); -} - -BSP_START_TEXT_SECTION void bsp_start_hook_1(void) -{ - arm_a9mpcore_start_hook_1(); - bsp_start_copy_sections(); - setup_mmu_and_cache(); - bsp_start_clear_bss(); -} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c deleted file mode 100644 index a756c9ab22..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <bsp/arm-pl111-fb.h> -#include <bsp.h> - -static void fb_set_up(const pl111_fb_config *cfg) -{ - /* TODO */ -} - -static void fb_pins_set_up(const pl111_fb_config *cfg) -{ - /* TODO */ -} - -static void fb_pins_tear_down(const pl111_fb_config *cfg) -{ - /* TODO */ -} - -static void fb_tear_down(const pl111_fb_config *cfg) -{ - /* TODO */ -} - -static const pl111_fb_config fb_config = { - .regs = (volatile pl111 *) 0x10020000, - - /* - * Values obtained from "RealView Platform Baseboard Explore for Cortex-A9 - * User Guide" section 4.6.1 "Display resolutions and display memory - * organization". - */ - .timing0 = 0x3f1f3f9c, - .timing1 = 0x090b61df, - .timing2 = 0x067f1800, - - .timing3 = 0x0, - .control = PL111_LCD_CONTROL_LCD_TFT - | PL111_LCD_CONTROL_LCD_BPP(PL111_LCD_CONTROL_LCD_BPP_16) - | PL111_LCD_CONTROL_BGR, - .power_delay_in_us = 100000, - .set_up = fb_set_up, - .pins_set_up = fb_pins_set_up, - .pins_tear_down = fb_pins_tear_down, - .tear_down = fb_tear_down -}; - -const pl111_fb_config *arm_pl111_fb_get_config(void) -{ - return &fb_config; -} diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu deleted file mode 100644 index e3b5b471b4..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu +++ /dev/null @@ -1,35 +0,0 @@ -MEMORY { - /* Waste the first 1MiB for NULL pointer protection */ - RAM : ORIGIN = 0x00100000, LENGTH = 255M - 16k - RAM_MMU : ORIGIN = 0x0fffc000, LENGTH = 16k -} - -REGION_ALIAS ("REGION_START", RAM); -REGION_ALIAS ("REGION_VECTOR", RAM); -REGION_ALIAS ("REGION_TEXT", RAM); -REGION_ALIAS ("REGION_TEXT_LOAD", RAM); -REGION_ALIAS ("REGION_RODATA", RAM); -REGION_ALIAS ("REGION_RODATA_LOAD", RAM); -REGION_ALIAS ("REGION_DATA", RAM); -REGION_ALIAS ("REGION_DATA_LOAD", RAM); -REGION_ALIAS ("REGION_FAST_TEXT", RAM); -REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM); -REGION_ALIAS ("REGION_FAST_DATA", RAM); -REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM); -REGION_ALIAS ("REGION_BSS", RAM); -REGION_ALIAS ("REGION_WORK", RAM); -REGION_ALIAS ("REGION_STACK", RAM); -REGION_ALIAS ("REGION_NOCACHE", RAM); -REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM); - -bsp_stack_irq_size = DEFINED (bsp_stack_irq_size) ? bsp_stack_irq_size : 4096; -bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024; - -bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1M; - -bsp_vector_table_in_start_section = 1; - -bsp_translation_table_base = ORIGIN (RAM_MMU); -bsp_translation_table_end = ORIGIN (RAM_MMU) + LENGTH (RAM_MMU); - -INCLUDE linkcmds.armv4 diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp deleted file mode 100644 index d31c4f08ae..0000000000 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp +++ /dev/null @@ -1,3 +0,0 @@ -bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : 8; - -INCLUDE linkcmds.realview_pbx_a9_qemu |