summaryrefslogtreecommitdiffstats
path: root/bsps (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arm/xilinx: Fix zynq-uart interrupt receiveChris Johns2021-09-163-57/+67
| | | | | | | | - Trigger on a single character entering the RX FIFO - Disable the RX timeout - Send up to a FIFO full of data
* bsps/zynqmp: Added I2C support for ZynqMPStephen Clark2021-09-094-0/+80
| | | | Added I2C drivers for ZynqMP and updated build system accordingly.
* bsps/zynq: Moved general i2c files to shared directoriesStephen Clark2021-09-093-2/+2
| | | | | Certain files related to the Zynq BSP's I2C driver are useable by the ZynqMP BSP as well. Moved these files to shared directory in anticipation of I2C support for ZynqMP.
* score: Change TOD_LATEST_YEAR to 2099Sebastian Huber2021-09-061-7/+2
| | | | | | | | This simplifies the implementation a bit. Declare _TOD_Days_to_date[] in <rtems/score/todimpl.h>. Make _TOD_Days_per_month[] and _TOD_Days_since_last_leap_year[] static. Update #4338.
* bsps/leon3: Rename fatal error codeSebastian Huber2021-09-022-2/+2
| | | | | | Rename LEON3_FATAL_INVALID_CACHE_CONFIG_MAIN_PROCESSOR in LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR since the term "boot processor" is used elsewhere in the code base.
* bsps/imxrt: Improve SPI driverChristian Mauderer2021-09-021-73/+124
| | | | | | | | It wasn't possible to keep the CS line low between multiple message descriptors in one transfer. This patch reworks the driver so that it is possible. Update #4180
* aarch64/versal: Enable TX and RX FIFOsChris Johns2021-08-191-5/+8
| | | | - Wait for the tx holding register to empty in a tx flush
* bsps/raspberrypi: Add SEV Instruction for RPi SMP firmware changes.pranav2021-08-181-0/+1
| | | | | | The Pi firmware added a wfe(wait for event), the cores 1-3 wait for the start address being written to the mailbox register, followed by a SEV poke to the mailbox that acts as a wfe wake-up event.
* bsp/leon3: Fix rtems_interrupt_is_pending()Sebastian Huber2021-08-121-6/+0
| | | | | | Take the interrupt force register into account in all configurations. Update #3269.
* bsps/arm: More robust SMP startSebastian Huber2021-08-123-11/+16
| | | | | Do not continue execution on processors which are not configured to prevent the use of arbitrary memory for the initialization stack.
* bsps/cache: Optimize smp_cache_broadcast()Sebastian Huber2021-07-291-1/+2
| | | | | Directly call the handler on the executing processor instead of doing this indirectly via a per-CPU job.
* score: Canonicalize _CPU_Fatal_halt()Sebastian Huber2021-07-285-35/+25
| | | | | | | | Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it is a proper declaration of a function which does not return. Fix the type of the error code. If necessary, add the implementation to cpu.c. Implementing _CPU_Fatal_halt() as a function makes it possible to wrap this function for example to fully test _Terminate().
* bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber2021-07-2736-148/+90
| | | | | | Do not return a status code in bsp_interrupt_facility_initialize() since this leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG assertions in bsp_interrupt_facility_initialize() if necessary.
* bsp/raspberrypi: Add interrupt get/set affinitySebastian Huber2021-07-261-0/+26
| | | | | | | | Add default implementations for bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() which are required to link all tests in SMP configurations. Update #3269.
* bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber2021-07-2611-523/+669
| | | | | | | | | | | | | | | | | | | Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files. In particular, place all functions which use dynamic memory into their own file. Add optional macros to let the BSP customize the vector installation after installing the first entry and the vector removal before removing the last entry: * bsp_interrupt_vector_install() * bsp_interrupt_vector_remove() Use these new customization options in the m68k/genmcf548x BSP so re-use the generic interrupt controller support. Update #3269.
* bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber2021-07-263-30/+11
| | | | | | This function is only used by one BSP. Update #3269.
* bsps/irq: Add bsp_interrupt_check_and_lock()Sebastian Huber2021-07-263-63/+86
| | | | | | | | Return RTEMS_INCORRECT_STATE instead of RTEMS_INTERNAL_ERROR in case the interrupt support is not initialized. This is similar to rtems_timer_server_fire_after() for example. Update #3269.
* bsps/irq: Use rtems_interrupt_entrySebastian Huber2021-07-263-25/+16
| | | | Update #3269.
* sparc/irq: Implement new interrupt directivesSebastian Huber2021-07-266-22/+162
| | | | Update #3269.
* bsps/irq: Implement new directives for GICv2/3Sebastian Huber2021-07-264-32/+189
| | | | Update #3269.
* bsps/irq: bsp_interrupt_set_affinity()Sebastian Huber2021-07-2614-18/+30
| | | | | | Return a status code for bsp_interrupt_set_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber2021-07-2615-23/+38
| | | | | | Return a status code for bsp_interrupt_get_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_disable(). Update #3269.
* bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_enable(). Update #3269.
* bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-2637-1/+438
| | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
* bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-2637-2/+337
| | | | | | | Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_raise()Sebastian Huber2021-07-2639-0/+664
| | | | | | | | | Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-2637-1/+437
| | | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2021-07-261-7/+5
| | | | | | | | Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for spurious interrupts. Use the interrupt vector number of the spurious interrupt for the fatal code. Update #3269.
* rtems: Add rtems_interrupt_vector_enable()Sebastian Huber2021-07-263-0/+61
| | | | | | Add rtems_interrupt_vector_disable(). Update #3269.
* bsps/irq: Move handler iterate to separate fileSebastian Huber2021-07-265-82/+159
| | | | Update #3269.
* bsps/irq: Canonicalize get/set affinity errorsSebastian Huber2021-07-261-2/+10
| | | | | | | Bring the error conditions and status in line with rtems_task_get_affinity() and rtems_task_set_affinity(). Update #3269.
* bsps/irq: Move get/set affinity to separate fileSebastian Huber2021-07-264-52/+92
| | | | Update #3269.
* bsps: Fix bsp_fatal_extension()Sebastian Huber2021-07-231-0/+3
| | | | The heap protection is conditional.
* bsp: Remove fatal from exit(0). Add extended heap error outputChris Johns2021-07-231-13/+70
|
* Fixes for TMS570 BSPRobin Mueller2021-07-201-3/+3
| | | | | | | | | When compiling the lwIP port for the TMS570, there were issues with the BSP. Headers are expected in a folder named ti_herc which did not exist. This fixes the issue. Furthermore, there were multiple warnings about define redefinitions. This was fixed as well.
* STM32H7 ethernet pin correctionsRobin Mueller2021-07-201-1/+21
| | | | | | | | | | These patches were submitted a few months ago, but it was found out that the default-by-family: [] were missing in the GPIO .yml lines. This was fixed in this patch. This patch accounts for different pins for the ETH peripheral on STM32H7 devices. For example, the Nucleo H743ZI has slightly different pins than other STM32H7 boards.
* bsp/leon3: Remove <leon.h> include form <bsp.h>Sebastian Huber2021-07-197-3/+9
| | | | | The <leon.h> header file contains a lot of implementation details. Hide them from <bsp.h>.
* bsps/sparc: Improve interrupt affinity supportSebastian Huber2021-07-094-62/+138
| | | | | | | | Fully support the interrupt extension API to set/get the interrupt affinity. Remove LEON3_irq_to_cpu which defined the interrupt to processor mapping in a BSP-specific way. Update #3269.
* bsp/imx: Fix SMP startSebastian Huber2021-07-091-0/+12
| | | | | Flush imx_gic_dist_base so that secondary processors can use the right address.
* bsps/arm: Fix SMP startSebastian Huber2021-07-091-0/+6
| | | | | | | | Skip the data cache initialization if we are a secondary processor. The bug was introduced by e164df5e33608576443b4cd5923a9046358ee773 and did not show up in tests using Qemu since the data cache behaviour is not emulated.
* bsps/imxrt: Fix undefined symbolChristian Mauderer2021-07-081-1/+1
|
* bsps/arm: Add start up support for ARMv6 RPi ModelsPranav Dangi2021-07-071-1/+7
|
* bsp/raspberrypi: Fix <bsp/irq.h> header guardSebastian Huber2021-07-071-1/+1
|
* bsp/imx: Fix pointer from integer warningSebastian Huber2021-07-071-2/+5
|
* bsps/imxrt: Simplify linkcmds and make it flexibleChristian Mauderer2021-07-026-64/+60
| | | | | | | | | Calling the memory FLASH and EXTRAM instead of FLEXSPI and SDRAM makes it simpler to support other types of external RAM. This patch also removes some of the calculations and improves names and documentation to avoid pitfalls. It removes a unnecessary memory definition. Update #4180
* bsps/imxrt: Allow different ARM PLL settingChristian Mauderer2021-07-022-0/+41
| | | | Update #4180
* m68k/uC5282: linkcmds KEEP and SORT sectionsGedare Bloom2021-07-011-15/+19
| | | | | Fixes a problem with bad epilog code in _fini and to keep sections necessary with the -ffunction/data-sections.
* bsp/leon3: Move bsp_interrupt_is_valid_vector()Sebastian Huber2021-07-012-16/+14
| | | | | This function is not performance critical. There is no need to implement it inline.
* bsp/leon3: Fix bsp_interrupt_is_valid_vector()Sebastian Huber2021-07-011-3/+7
| | | | | | | | | | The fix to address CID 1399742 (NO_EFFECT) in commit f8b6359415404540864f809cbcffb8c2200261e1 introduced a bug since LEON3_IrqCtrl_EIrq == -1 in case no extended interrupts are supported by the interrupt controller. Fix this by checking for LEON3_IrqCtrl_EIrq > 0. In addition, interrupt number 0 is reserved and should not be used.