summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/raspberrypi/startup (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arm/raspberrypi: define bsp_reset to restart board by watchdog.Pavel Pisa2016-09-081-0/+26
| | | | | Whether the board is restarted after application finish/exit is controlled by BSP_RESET_BOARD_AT_EXIT configure option.
* bsp/raspberrypi: Rename fileSebastian Huber2016-09-081-0/+0
|
* arm/raspberrypi: basic BCM2836 SMP implementation.Pavel Pisa2016-09-075-4/+205
| | | | | | | | The BSP support is divided to startup/bspsmp_api.c file where functions required by SuperCore are defined and BCM2836 hardware initialization part in startup/bspsmp_init.c. Separation is done to prevent smpfatal08 test build failure.
* arm/raspberrypi: propagate number of configured CPUs into linker script.Pavel Pisa2016-09-071-0/+2
|
* arm/raspberrypi: rename linkcmds to linkcmds.in to allow their configure ↵Pavel Pisa2016-09-071-0/+0
| | | | processing.
* arm/raspberrypi: VideoCore access corrections in cache operation and more ↵Pavel Pisa2016-07-312-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | error checking. The first, mistake in buffer size computation for cache flush and invalidate has been corrected. GCC __attribute__( ( aligned( 64 ) ) ) should work and works for local variables. Code ensures right stack alignment. But attribute has to be moved to type declaration to ensure that structure size is affected by attribute. But even this seems to not work reliably for some reason. May it be, the stack area between frame start and end of local variable buffer accessed during context switch or some stack prefetch during resturn such way that some cache lines belonging to buffer are filled to cache. Extending buffer by one more cache line padding helps there. In the longer term perspective, buffer should be moved to some static area or cache aligned dynamic memory allocated. Concurrent calls to the VideoCore operations and access serialization should be added too but problem is that some calls are required during workspace and MMU setup so variant without need of mutex would be required as well. Framebuffer setup code and other VideoCore calls check more precisely for errors and do not proceed forward with incorrect data now. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* arm/raspberrypi: reorder and update MMU config table to nor force RW section ↵Pavel Pisa2016-07-201-9/+22
| | | | | | | | | later to RO. Enable even the first megabyte of SDRAM to be cache-able after problems with stale cache content has been resolved by previous commit. Because major part of application usually fits to the first megabyte this speedups test dhrystone application by factor 40.
* arm/raspberrypi: use cache manager operations to flush/invalidate all cache ↵Pavel Pisa2016-07-201-7/+7
| | | | | | | | | levels. This fix strange behavior where some stale content has been stored in level 2 cache before RTEMS has been start from U-boot which has reappeared after MMU enable and shadow vector table at start of SDRAM.
* arm/raspberrypi: add fbcons support for rpi bspYANG Qiao2016-05-311-0/+4
|
* arm/raspberrypi: move MMU in front of application image to respect variable ↵Pavel Pisa2016-05-312-3/+80
| | | | | | | | | | | | | memory size. The page table is placed at address 0x00004000 which provides required 16 kB space till the start of application image. The RAM size specified in a linker script is upper limit address of RAM utilized for the work area initialization. If VideoCore reports to use lower address than expected then work area size is adjusted (shrinked) appropriately.
* arm/raspberrypi: cmdline enhancement and early access workaround.Pavel Pisa2016-05-311-4/+8
| | | | | | cmdline argument is returned without option name. The calls to command line parsing can be called earlier before BSS is cleaned out.
* arm/raspberrypi: add cmdline support for rpi bsp.Pavel Pisa2016-05-191-0/+47
|
* arm/raspberrypi: ensure that RTEMS application image can be started by U-boot.Pavel Pisa2016-05-191-1/+35
| | | | | | | | | | | | | | | | The current versions of U-boot start kernel/RTEMS application image with instruction and data caches enabled and it sets exception base register to new address after its self-relocation. ldr r0, [r9, #GD_RELOCADDR] /* r0 = gd->relocaddr */ mcr p15, 0, r0, c12, c0, 0 /* Set VBAR */ Included changes in bsp_start_hook_0 restore default state to allow RTEMS image to run after startup from newer U-boot version on Raspberry Pi. Clear interrupt enable registers in interrupt controller to ensure that RTEMS starts from well defined state.
* preliminary Raspberry Pi Model 2 supportAlan Cudmore2015-03-161-2/+3
| | | | | | | | | | | | | | | | | This patch adds a BSP variant for the Raspberry Pi 2. You can build both variants by configuring with the option --enable-rtemsbsp="raspberrypi2 raspberrypi" For the current BSP, the only change was the peripheral register base address and the compiler options. The raspberrypi/make/custom rules were re-factored: raspberrypi.inc -- Common rules raspberrypi.cfg -- Raspberry Pi 1 specific rule/optons raspberrypi2.cfg -- Raspberry Pi 2 specific rule/options I tested hello, ticker, unlimited, and paranoia on both the Pi (Model A+) and Pi 2.
* bsps/arm: Add .nocache sectionSebastian Huber2014-11-271-0/+2
| | | | | This section can be use to provide a cache coherent memory area via rtems_cache_coherent_add_area().
* raspberrypi: Use shared bspreset.cJoel Sherrill2014-09-041-35/+0
|
* bsps/arm: Rename bsp_mm_config_tableSebastian Huber2014-07-011-7/+3
| | | | | | Rename bsp_mm_config_table to arm_cp15_start_mmu_config_table and rename bsp_mm_config_table_size to arm_cp15_start_mmu_config_table_size to be in line with the other names in <bsp/arm-cp15-start.h>.
* bsps/arm: Define ARM_CP15_TEXT_SECTIONSebastian Huber2014-06-061-0/+2
| | | | | Define ARM_CP15_TEXT_SECTION to BSP_START_TEXT_SECTION so that the start code is in the right section.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-214-4/+4
|
* raspberrypi doxygen refactoringDaniel Ramirez2013-11-275-10/+20
|
* bsps/arm: ARMV7_MMU_DATA_READ_WRITE_SHAREABLESebastian Huber2013-10-271-12/+6
| | | | | Delete ARMV7_MMU_DATA_READ_WRITE_SHAREABLE and move RTEMS_SMP specific MMU attribute settings to arm-cp15.h.
* Modify raspberrypi mm_config_table to map GPIO and registers.Hesham AL-Matary2013-10-271-2/+6
| | | | | | | Changes include reverting back to setting all page-table section entries as invalid and modify mm_config_table to apply the correct memory attributes for raspbberypi memory sections at startup. The newly added entry at mm_config_table maps raspberrypi GPIO and other registers found at raspberrypi.h
* Shared MMU initialization for ARM BSPs and RaspberryPi MMU supportHesham AL-Matary2013-10-033-20/+76
| | | | | | | Add support for MMU initialization for RaspberryPi. Introduce new shared MMU configuration table that can be used by other BSPs that call the arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache function. Demonstrate the use of the generic table with RaspberryPi.
* bsp/raspberrypi: Use shared start codeSebastian Huber2013-05-061-60/+2
|
* bsp/raspberrypi: Enable unaligned accessAlan Cudmore2013-05-061-1/+1
|
* bsp/raspberrypi: New BSPAlan Cudmore2013-03-244-0/+240