summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/arm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/arm: Move libcpu content to bspsSebastian Huber2018-03-137-381/+0
| | | | | | This patch is a part of the BSP source reorganization. Update #3285.
* bsps: Rework cache manager implementationSebastian Huber2018-01-311-58/+0
| | | | | | | | | | | | | | | | | | The previous cache manager support used a single souce file (cache_manager.c) which included an implementation header (cache_.h). This required the use of specialized include paths to find the right header file. Change this to include a generic implementation header (cacheimpl.h) in specialized source files. Use the following directories and files: * bsps/shared/cache * bsps/@RTEMS_CPU@/shared/cache * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILY/start/cache.c Update #3285.
* Remove make preinstallChris Johns2018-01-257-1198/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
* bsps/arm: Add header guard, fix definesChris Johns2018-01-151-2/+5
|
* arm: Move <libcpu/arm-cp15.h> to cpukitSebastian Huber2017-12-133-2265/+0
| | | | Update #3254.
* bsp/csb337: Move libcpu files to BSPSebastian Huber2017-12-0818-2466/+0
| | | | Update #3254.
* bsp/smdk2410: Move libcpu files to BSPSebastian Huber2017-12-0811-1983/+0
| | | | Update #3254.
* bsp/rtl22xx: Move libcpu files to BSPSebastian Huber2017-12-089-941/+0
| | | | Update #3254.
* bsp/csb336: Move libcpu files to BSPSebastian Huber2017-12-088-895/+0
| | | | Update #3254.
* bsps/arm: Remove obsolete s3c2400Sebastian Huber2017-12-081-3/+1
| | | | Update #3254.
* bsp/gumstix: Move libcpu files to BSPSebastian Huber2017-12-0810-721/+1
| | | | Update #3254.
* bsps: Clock_driver_support_install_isr()Sebastian Huber2017-09-185-25/+10
| | | | | | | Remove old ISR parameter since is not used by the clock driver shell. Make an implementation optional. Update #3139.
* Simplify and unify BSP_output_charSebastian Huber2017-09-121-2/+0
| | | | | | | | The BSP_output_char should output a char and not mingle with high level processing, e.g. '\n' to '\r\n' translation. Move this translation to rtems_putc(). Remove it from all the BSP_output_char implementations. Close #3122.
* bsps/arm: Add ARMv7-AR Generic Timer supportSebastian Huber2017-08-041-0/+322
| | | | Update #3090.
* Optional Clock_driver_support_shutdown_hardware()Sebastian Huber2017-08-042-8/+8
| | | | | Make Clock_driver_support_shutdown_hardware() optional. This avoids the atexit() support on memory constrained targets.
* bsps: Improve interrupt vector enable/disable APISebastian Huber2017-06-205-34/+24
| | | | | | Change bsp_interrupt_vector_enable() and bsp_interrupt_vector_disable() to not return a status code. Add bsp_interrupt_assert() and use it to validate the vector number in the vector enable/disable implementations.
* Add the i2c driver for Beaglebone BlackSichen Zhao2017-06-141-0/+136
| | | | | | | | | | Update ticket #2891 and my GSOC project add c/src/lib/libbsp/arm/beagle/i2c/bbb-i2c.c modify c/src/lib/libbsp/arm/beagle/include/i2c.h modify c/src/lib/libbsp/arm/beagle/include/bbb-gpio.h modify c/src/lib/libcpu/arm/shared/include/am335x.h modify c/src/lib/libbsp/arm/beagle/Makefile.am Now can read the EEPROM by i2c, the test application link is: https://github.com/hahchenchen/GSOC-test-application
* bsps/arm: Add Performance Monitors ExtensionSebastian Huber2017-03-271-1/+446
|
* termios: Synchronize with latest FreeBSD headersKevin Kirspel2017-03-223-3/+3
| | | | | | | | | | | Adding modified FreeBSD headers to synchronize RTEMS termios with FreeBSD. Modify termios to support dedicated input and output baud for termios structure. Updated BSPs to use dedicated input and output baud in termios structure. Updated tools to use dedicated input and output baud in termios structure. Updated termios testsuites to use dedicated input and output baud in termios structure. Close #2897.
* bsps/arm: Fix prototypeSebastian Huber2017-02-151-1/+1
|
* libdebugger: Build for ARM's without a CP15.Chris Johns2016-12-021-1/+2
|
* bsps/arm: reorganize CP15 code to allow clean and invalidate ARMv7 cache by ↵Pavel Pisa2016-09-071-48/+60
| | | | | | | level. New function arm_cp15_cache_invalidate_level and arm_cp15_cache_clean_level can be used to maintain single cache level (instruction or data).
* bsps/arm: use defines for cache type register format field.Pavel Pisa2016-09-071-9/+30
| | | | | | The change documents meaning of codes and opens well defined way to use cache type format for cache examination/debugging outside of arm-cp15.h file.
* arm/bsps: CP15 and basic cache support entire cache clean for more ↵Pavel Pisa2016-07-201-2/+42
| | | | | | | | | | | | | | | | | architecture variants now. Next cache operations should work on most of cores now rtems_cache_flush_entire_data() rtems_cache_invalidate_entire_data() rtems_cache_invalidate_entire_instruction() Instruction cache invalidate works on the first level for now only. Data cacache operations are extended to ensure flush/invalidate on all cache levels. The CP15 arm_cp15_data_cache_clean_all_levels() function extended to continue through unified levels too (ctype = 4).
* bsps/arm: do not disable MMU during translation table management operations.Pavel Pisa2016-07-201-0/+16
| | | | | | | | | | | | | | | | | | | | Disabling MMU requires complex cache flushing and invalidation operations. There is almost no way how to do that right on SMP system without stopping all other CPUs. On the other hand, there is documented sequence of operations which should be used according to ARM manual and it guarantees even distribution of maintenance operations to other cores for last generation of Cortex-A cores with multiprocessor extension. This change could require addition of appropriate entry to arm_cp15_start_mmu_config_table for some BSPs to ensure that MMU table stays accessible after MMU is enabled { .begin = (uint32_t) bsp_translation_table_base, .end = (uint32_t) bsp_translation_table_base + 0x4000, .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED }
* Beaglebone: Update PWM driver imported from BBBIOPunit Vara2016-07-041-1/+96
| | | | | | This patch adapts the previously added Beaglebone PWM code from BBBIO to RTEMS. This work was done in the context of the Google Summer of Code 2016, and further patches will follow to improve the code quality and documentation.
* bsps/arm: basic on core cache support changed to use l1 functions.Pavel Pisa2016-07-041-3/+28
| | | | | | | | | | | | | | The basic data and instruction rage functions should be compatible for all ARMv4,5,6,7 functions. On the other hand, some functions are not portable, for example arm_cp15_data_cache_test_and_clean() and arm_cp15_data_cache_invalidate() for all versions and there has to be specialized version for newer cores. arm_cache_l1_properties_for_level uses CCSIDR which is not present on older chips. Actual version is only experimental, needs more changes and problem has been found on RPi1 with dlopen so there seems to be real problem.
* bsps/arm: Change code to explicit selection of cache implementation for ARM ↵Pavel Pisa2016-07-041-104/+30
| | | | | | | | | | | | | | | | | | | | | | | BSPs. The original ARM architecture wide cache_.h is changed to dummy version for targets not implementing/enablig cache at all. The ARM targets equipped by cache should include appropriate implementation. Next options are available for now c/src/lib/libbsp/arm/shared/armv467ar-basic-cache/cache_.h basic ARM cache integrated on the CPU core directly which requires only CP15 oparations c/src/lib/libbsp/arm/shared/arm-l2c-310/cache_.h support for case where ARM L2C-310 cache controller is used. It is accessible as mmaped peripheral. c/src/lib/libbsp/arm/shared/armv7m/include/cache_.h Cortex-M specific cache support
* arm/score and shared: define ARM hypervisor mode and alternate vector table ↵Pavel Pisa2016-07-041-0/+30
| | | | | | | | | base access. The main reason for inclusion of minimum hypervisor related defines is that current ARM boards firmware and loaders (U-boot for example) start loaded operating system kernel in HYP mode to allow it take control of virtualization (Linux/KVM for example).
* bsps/arm: CP15 support for flush prefetch buffer and table base control.Pavel Pisa2016-05-191-0/+48
|
* am335x irq handling improvementMartin Galvan2016-02-281-1/+2
| | | | | | | | | | | | | This patch makes the following changes to the Beaglebone IRQ handling code: - Disable support for nested interrupts. - Detect spurious IRQs using the SPURIOUSIRQ field of the INTC_SIR_IRQ register. - Acknowledge spurious IRQs by setting the NewIRQAgr bit of the INTC_CONTROL register. This cleans the SPURIOUSIRQ field and allows new interrupts to be generated. - Improve the get_mir_reg function a bit. Closes #2580.
* score: Fix simple timecounter supportSebastian Huber2016-01-191-14/+18
| | | | Update #2502.
* Beagle: GPIO support (for BBB)Ketul Shah2015-08-181-0/+168
| | | | GPIO Driver Development for BeagleBone Black based on the generic GPIO API
* beagle bsp: RTC support for BBBragunath2015-05-282-0/+26
|
* arm/s3c24xx/clock/clockdrv.c: Remove unused variable warningJoel Sherrill2015-05-211-1/+0
|
* arm/lpc22xx/clock/clockdrv.c: Remove unused variable warningJoel Sherrill2015-05-211-1/+0
|
* bsps: Convert clock drivers to use a timecounterAlexander Krutwig2015-05-205-44/+51
| | | | Update #2271.
* Replace www.rtems.com with www.rtems.orgSebastian Huber2015-03-202-2/+2
|
* Update bug report URLSebastian Huber2014-12-051-1/+1
|
* beagle bsp: disable watchdog on am335xBen Gras2014-12-051-0/+6
| | | | | | | | | | | | On recent u-boots, the watchdog is turned on / left enabled. The Beaglebone Black rev. C ships with such a u-boot internally so any application booting from it must disable the watchdog. Therefore this change is needed to boot an RTEMS app out-of-the-box on a BBB Rev C - otherwise the user button must be held during boot (to bypass the stock uboot) or the internal uboot must be updated. To allow for a better out-of-the-box experience, we just turn off the watchdog.
* Add some generic ARM am335x and omap definitionsBen Gras2014-11-033-0/+692
|
* libcpu/arm/pxa255/ffuart/ffuart.c: Fix warningJoel Sherrill2014-10-201-1/+1
|
* libcpu/arm/at91rm9200/dbgu/dbgu.c: Fix warningJoel Sherrill2014-10-201-2/+2
|
* libcpu/arm/at91rm9200/usart/usart.c: Fix warningsJoel Sherrill2014-10-161-15/+3
|
* Remove unused pxa255/pmc, update csb337 and gumstix BSPsJoel Sherrill2014-10-162-132/+0
|
* libcpu/arm/shared/../mmu: Fix warningsJoel Sherrill2014-10-162-4/+11
|
* libcpu/arm/s3c24xx/clock/clockdrv.c: Fix warningsJoel Sherrill2014-10-131-5/+5
|
* libcpu/arm/pxa255/clock/clock.c: Fix warningsJoel Sherrill2014-10-131-18/+11
|
* libcpu/arm/mc9328mxl/clock/clockdrv.c: Fix warningsJoel Sherrill2014-10-131-10/+10
|
* libcpu/arm/lpc22xx/clock/clockdrv.c: Fix warningsJoel Sherrill2014-10-131-5/+6
|