summaryrefslogtreecommitdiffstats
path: root/bsps/shared/dev (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/zynq: Moved general i2c files to shared directoriesStephen Clark2021-09-091-0/+482
| | | | | 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.
* bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber2021-07-272-4/+2
| | | | | | 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.
* bsps/irq: Implement new directives for GICv2/3Sebastian Huber2021-07-262-31/+185
| | | | Update #3269.
* bsps/irq: bsp_interrupt_set_affinity()Sebastian Huber2021-07-262-2/+4
| | | | | | Return a status code for bsp_interrupt_set_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber2021-07-262-2/+4
| | | | | | Return a status code for bsp_interrupt_get_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber2021-07-262-2/+5
| | | | | | Return a status code for bsp_interrupt_vector_disable(). Update #3269.
* bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber2021-07-262-2/+5
| | | | | | Return a status code for bsp_interrupt_vector_enable(). Update #3269.
* bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-262-0/+22
| | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
* bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-262-0/+16
| | | | | | | 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-262-0/+46
| | | | | | | | | 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-262-0/+22
| | | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps: Fix GICv3 support for AArch32Sebastian Huber2021-06-301-3/+3
| | | | | | | | | | | The GICv3 support is shared between AArch32 and AArch64. For AArch32, the new AARCH64_IS_NONSECURE is never defined. Use ARM_MULTILIB_ARCH_V4 instead. This issue was introduced by 76c6caad52244ab9a14151620a80ff0f71035b6c. There is still a change in bsp_interrupt_vector_enable() for AArch32 compared to the version before 76c6caad52244ab9a14151620a80ff0f71035b6c.
* bsps/zynq-uart: Make post baud change kick globalKinsey Moore2021-06-292-0/+14
| | | | | | | | The existing fix for the ZynqMP UART hardware bug only caught the vast majority of instances where it could occur. To fully fix the data corruption, this fix must be applied after every baud rate change. This makes the logic reset and kick apply in any locations where the baud rate could be changed.
* bsps/aarch64: add non-secure mode and versal supportGedare Bloom2021-06-241-2/+21
|
* bsps/aarch64: add mnemonic for ICC_IGRPEN1_EL3Gedare Bloom2021-06-241-0/+1
|
* rtems: Constify rtems_task_wake_when()Sebastian Huber2021-05-121-1/+1
| | | | | | | | | | | | | | | | Add a parameter to _TOD_Validate() to disable the validation of the ticks member. There are two reasons for this change. Firstly, in rtems_task_wake_when() was a double check for time_buffer == NULL (one in rtems_task_wake_when() and one in _TOD_Validate()). Secondly, the ticks member is ignored by rtems_task_wake_when(). This was done with a write of zero to the ticks member and thus a modification of the user-provided structure. Now the structure is no longer modified. Using a mask parameter is quite efficient. You just have to load an immediate value and there are no additional branches in _TOD_Validate(). Close #4406.
* _TOD_Validate(): Fix incorrect return codeFrank Kühndel2021-05-121-1/+1
| | | | | | | | | | | | | | | This patch fixes bug #4403. Directives * rtems_timer_fire_when() * rtems_timer_server_fire_when() * rtems_task_wake_when() are documented to return RTEMS_INVALID_ADDRESS when their time-of-day argument is NULL. But actually they return RTEMS_INVALID_CLOCK. To fix the issue this patch changes _TOD_Validate() to return a status code instead of just true/false. Close #4403
* bsps/xilinx-zynqmp: Avoid constant UART reinitKinsey Moore2021-04-191-3/+6
| | | | | | Constantly reinitializing the Cadence UART on every character output causes data corruption/loss on some ZynqMP hardware. Only initialize the UART once for early output and give it a kick on startup.
* disp_hcms29xx.c: Unused value (CID #1399752)Ryan Long2021-04-081-1/+3
| | | | | | CID 1399752: Unused value in disp_hcms29xx_update_task(). Closes #4342
* bsps/xilinx_zynq: Add SPI driver for xilinx-axi-spiJan Sommer2021-03-301-0/+402
| | | | Updates #4321
* bsps/xilinx_zynq: Add SPI driver for cadence-spiJan Sommer2021-03-101-0/+444
| | | | Updates #4320
* bsps/shared: Allow setting baud rate for zynq uartJan Sommer2021-03-051-5/+16
|
* bsps/shared: Adapt fsl-edma driver for imxrtChristian Mauderer2021-01-211-104/+245
| | | | | | | | | | Note: The changes have been done with portability in mind. The driver should (in theory) be able to replace the original one in the MPC BSPs too. For full compatibility an adaption layer and especially a test would be necessary. Because both are missing, don't integrate it into the MPC BSP now. Update #4180
* bsps/shared: Copy fsl-edma from mpc55xxChristian Mauderer2021-01-211-0/+329
| | | | | | This is a preparation for making the driver universal. Update #4180
* bsps: Use header file for GIC architecture supportSebastian Huber2020-12-232-0/+2
| | | | | | This avoids a function call overhead in the interrupt dispatching. Update #4202.
* bsps: Fix includesSebastian Huber2020-12-221-0/+6
| | | | Update #4202.
* bsps: Remove gicvx_interrupt_dispatch()Sebastian Huber2020-12-162-2/+2
| | | | | | Avoid one level of indirection. Update #4202.
* bsps: Add GICv3 arm_gic_irq_processor_count()Sebastian Huber2020-12-162-0/+34
| | | | Update #4202.
* bsps/gicv3: Resolve build warnings on 64bitKinsey Moore2020-12-111-2/+2
|
* bsps: Remove ARM GIC SGI target filterSebastian Huber2020-12-102-15/+3
| | | | | | | Remove the target filter for software-generated interrupts since this feature is not supported by the affinity routing in GICv3. Update #4202.
* bsps: Fix GICv3 arm_gic_trigger_sgi()Sebastian Huber2020-12-102-3/+3
| | | | | | | | Use the targets parameter to determine the targets of the SGI. Change targets parameter type to 32-bit to ease the parameter passing. GICv3 supports up to 16 targets. Update #4202.
* bsps/arm: Support system level ARM Generic TimerSebastian Huber2020-12-101-1/+12
| | | | Update #4202.
* bsps: Add SMP support to ARM GICv3Sebastian Huber2020-12-091-23/+33
| | | | Update #4202.
* zynq-uart: Fix set_attributes implementationKinsey Moore2020-12-032-6/+52
| | | | | | | | | The zynq-uart set_attributes implementation was configured to always return false which causes spconsole01 to fail. This restores the disabled implementation which sets the baud rate registers appropriately and allows spconsole01 to pass. This also expands the set_attributes functionality to allow setting of the stop bits, character width, and parity.
* bsps: Move ARM GICv2 driver to bsps/sharedKinsey Moore2020-12-022-1/+276
| | | | | This moves the ARM GICv2 driver to bsps/shared to be usable by AArch64 code.
* bsps: Move zynq-uart to bsps/sharedKinsey Moore2020-12-022-0/+361
| | | | | This moves the zynq-uart driver from bsps/arm/shared to bsps/shared to accomodate use by AArch64 BSPs.
* rtems: Add <rtems/rtems/clockimpl.h>Sebastian Huber2020-12-022-0/+2
|
* disp_hcms29xx: Fix string truncation warningFrank Kühndel2020-10-101-4/+3
| | | | | | The strlcpy() function ensures there is always a NUL character at the end of the string. Hence it is safer as strncpy() and it avoids the compiler warning
* bsps: Break out AArch32 GICv3 supportKinsey Moore2020-10-051-0/+354
| | | | | This breaks out AArch32-specific code so that the shared GICv3 code can be reused by other architectures.
* bsps: Break out AArch32 portions of GPT driverKinsey Moore2020-10-051-0/+174
| | | | | | This breaks AArch32-specific portions of the ARM GPT driver into their own file so that the generic code can be moved for reuse by other architectures.
* Move ARM PL011 UART driverKinsey Moore2020-10-051-0/+91
| | | | This UART driver is now needed for BSPs other than ARM.
* dev/spi-memdrv: Fix use of uninit mem_param_ptrSebastian Huber2020-08-031-12/+9
|
* bsps/clock: Fix fast idle clock tick supportSebastian Huber2020-07-231-6/+13
| | | | | | If we interrupt a thread dispatch critical section (thread dispatch disable level != ISR nest level), then we should not do the fast idle mode since this may delay an ongoing system call forever.
* bsp/shared/clock: Reset Clock_driver_isrs to correct valueJan Sommer2020-04-031-1/+1
| | | | | | | CLOCK_DRIVER_ISRS_PER_TICK is the configuration define, CLOCK_DRIVER_ISRS_PER_TICK_VALUE is the actual value of ISRS per clock tick, therefore use this one to reset the Clock_driver_isrs after each tick.
* bsps/clock: Use _SMP_Get_processor_maximum()Sebastian Huber2020-02-251-1/+1
| | | | | | | Use a specific test to enable the fast idle mode instead of using the rtems_configuration_is_smp_enabled() workaround. Update #3876.
* libchip/ns16550: Allow user calculate baud divisorG S Niteesh2020-02-161-0/+2
| | | | | | | | This patch will allow the user to pass a function to calculate the baud divisor. This will allow for more flexibility, since for some BSPs like raspberrypi, the calculation of baud divisor is different from what is in the current driver.
* Use RTEMS_SYSINIT_ORDER_LAST_BUT_5Sebastian Huber2020-02-041-1/+1
| | | | | | | | Use RTEMS_SYSINIT_ORDER_LAST_BUT_5 instead of RTEMS_SYSINIT_ORDER_LAST to allow applications and support functions to place system initialization handlers behind the standard handlers. Update #3838.
* clock: Simplify driver initializationSebastian Huber2019-12-111-18/+1
| | | | | | Use a system initialization handler instead of a legacy IO driver. Update #3834.
* score: Rename _SMP_Get_processor_count()Sebastian Huber2019-04-111-2/+4
| | | | | | | Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be in line with the API level rtems_scheduler_get_processor_maximum(). Update #3732.
* z85c30.c: Do not process 0 baud and return an error (CID 1399713)Joel Sherrill2019-03-141-0/+9
|