summaryrefslogtreecommitdiffstats
path: root/bsps (follow)
Commit message (Collapse)AuthorAgeFilesLines
* leon,greth: added support for variable sized descriptor table sizesDaniel Hellstrom2021-03-072-7/+16
| | | | | | | | | | | | The descriptor table size is equal to its alignment and set when configuring the HW IP through VHDL generics. This SW patch simply probes the HW how large the RX/TX descriptor tables are and adjusts accordingly. The number of descriptors actual used are controlled by other settings (rxDescs and txDescs) controlled by the user. Update #4308.
* leon,grcan: split out GRCAN non-FD specific support in separate fileDaniel Hellstrom2021-03-073-405/+436
| | | | Update #4307.
* leon,grcanfd: split out GRCANFD specific support in separate fileDaniel Hellstrom2021-03-074-627/+687
| | | | Update #4307.
* leon,grcan: added support for GRCANFDDaniel Hellstrom2021-03-072-19/+692
| | | | | | | | | | | | | The new GRCAN_FD IP supports CAN FD standard and is mostly backwards compatible with GRCAN SW interface. The GRCAN driver have been extended to support the GRCANFD IP using the same driver. Additional functions have been added that uses a new CAN FD frame format and read/write/baud-rate functions that supports both GRCANFD and GRCAN. To keep the SW API fully backwards compatible with GRCAN, the old functions remain. Update #4307.
* grlib: added 64-bit read no-cache functionDaniel Hellstrom2021-03-071-0/+10
| | | | Update #4307.
* leon,occan: use common CAN baud-rate calculation routineDaniel Hellstrom2021-03-071-110/+41
| | | | Update #4306.
* leon,grcan: use common CAN baud-rate calculation routineDaniel Hellstrom2021-03-071-114/+20
| | | | Update #4306.
* leon,can: introduce common CAN baud-rate calculation functionDaniel Hellstrom2021-03-076-1/+244
| | | | | | | Reimplemented the baud-rate algorithm from scratch to cope with GRCAN, GRCANFD and OC_CAN devices. Update #4306.
* grlib,ambapp: added new IP core IDsDaniel Hellstrom2021-03-072-1/+39
| | | | Update #4305.
* leon,grspw: fix for SET_PACKET_SIZEDaniel Hellstrom2021-03-071-0/+7
| | | | | | | | | | | | When the DMA table has been allocated dynamically, the IOCTL_SET_PACKETSIZE will trigger an issue where pDev->rx and pDev->tx are not updated with the new DMA tables base address. Instead the old pointers are used. There is no point in reallocting the DMA tables because there is no configuration option to it. Therefore the DMA tables allocation is moved to a separate function never called from SET_PACKETSIZE. Update #4304.
* leon,gr1553b: Only align allocated memory. Verify alignment of memory.Arvid Bjorkengren2021-03-073-83/+147
| | | | Update #4303.
* leon,gr1553b: set codec versionArvid Bjorkengren2021-03-071-0/+4
| | | | | | | This is enables the updated codec for GR740 and is backwards compatible with all other versions of the IP. Updates #4275.
* leon,gr1553rt: Fixed spinlock unlockArvid Bjorkengren2021-03-071-1/+1
| | | | Update #4274.
* leon,gr1553rt: Fixed memory leakArvid Bjorkengren2021-03-071-5/+11
| | | | Update #4274.
* powerpc/beatnik/net: Remove unused filesVijay Kumar Banerjee2021-03-033-503/+0
| | | | Close #4293
* powerpc/motorola_power: Place any common data in the .bss sectionChris Johns2021-02-271-1/+7
| | | | | | | - It seems the compiler how defaults to -fcommon and this means some uninitialised data is ignored. Closes #4266
* powerpc/motorola_power: Link all text sections into the executable imageChris Johns2021-02-241-1/+1
| | | | | | | | - The change to building all code with code and data sections means we have a section per function. Make sure all functions are placed in the text section. Closes #4266
* Update motorola_power to irq-generic interrupt managementChris Johns2021-02-167-55/+283
| | | | | | | | | | | | | | - Add support to the BSP to enable irq-generic management - Update the powerpc shared irq code to support irq-generic. This is an opt in option for existing powerpc bsps. This change should be simpler now - Fix a number of issues in ISA IRQ controller handling by porting fixes from the i386 (PC) BSP Closes #4247 Closes #4248
* bsp/motorola_powerp: Print RTEMS_VERSION from the bootloaderChris Johns2021-02-101-1/+3
| | | | Close #4234
* powerpc/shared: ISA bus bridge fails to enable the openpic irqChris Johns2021-02-082-2/+2
| | | | | | | | | | - The call to enable the openpic irq for the ISA bridge fails because the IRQ used is offset by the ISA bus signals and the openpic call expects an IRQ relative to its signals. - Add the MVME 2600/2700 to the list of boards with an ISA bridge. Closes #4233
* bsp/imx: Fix system counter init for imx6Christian Mauderer2021-01-211-1/+60
| | | | | | | | | For i.MX7 U-Boot initializes the system counter. On i.MX6 Barebox is often used which doesn't initialize the counter. With this patch, we try to auto-detect whether the counter is initialized or not and do the initialization ourself if necessary. Closes #4220
* bsps/arm: Fix MMU configurationSebastian Huber2020-12-152-0/+8
| | | | Update #4185.
* bsps/arm: Fix MMU small pages supportJan Sommer2020-12-111-1/+1
| | | | | | - For small tables only round to the next 4kiB instead of 1MiB Close #4185.
* rtems: Improve rtems_interrupt_server_create()Sebastian Huber2020-11-251-13/+17
| | | | | | | | Also start interrupt server tasks on processors which do not have a scheduler. Applications may dynamically manage processors using rtems_scheduler_remove_processor() and rtems_scheduler_add_processor(). Close #4190.
* bsps: Fix rtems_interrupt_server_delete()Sebastian Huber2020-11-251-0/+2
| | | | | | | The ISR lock must be destroyed to prevent memory corruption if RTEMS_PROFILING and RTEMS_SMP is enabled. Close #4189.
* bsp/atsam: Fix XDMAD statusChristian Mauderer2020-11-122-1/+63
| | | | | | | | | | | | In "bsp/atsam: Simplify XDMAD_Handler()" (5f813694f68cee) the interrupt callback has been made unconditional. That allowed to avoid some special deadlock situations in error cases. But it removed part of the XDMAD status handling. This patch adds the ability to update the XDMAD status from the callback if that is necessary for the driver. Fixes #4172
* bsps/arm: Add workaround for Errata 794072Sebastian Huber2020-10-161-0/+16
| | | | | | | | Add a workaround for Cortex-A9 Errata 845369: A short loop including a DMB instruction might cause a denial of service on another which executes a CP15 broadcast operation. Close #4114.
* bsps/arm: Workaround for Errata 845369Sebastian Huber2020-10-161-0/+15
| | | | | | | Add a workaround for Cortex-A9 Errata 845369: Under Very Rare Timing Circumstances Transition into Streaming Mode Might Create Data Corruption. Update #4114.
* bsps/pc386: Add missing license headerJan Sommer2020-09-231-0/+26
| | | | Closes #4902.
* bsp/xilinx-zynq: Flush TX-Buffer before initializing uart5.1Jan Sommer2020-08-221-0/+2
| | | | | Closes #4055 Closes #4056
* powerpc/io: The eieio() function clashes with FreeBSD. Change.Chris Johns2020-08-121-4/+4
| | | | Closes #4021
* arm/atsam: Make interrupt server configurableSebastian Huber2020-08-052-39/+75
| | | | | | | | | | | | | The external UART over SPI device SC16IS752 uses the interrupt server for interrupt processing. The interrupt server is also heavily used by libbsd. The interrupt processing for the SC16IS752 is time critical and doesn't work if network traffic is processed at the same priority. With #4033 custom interrupt servers are available. Change atsam_sc16is752_spi_create() to support user-defined interrupt servers. Introduced atsam_sc16is752_spi_config to cut down the argument count of this function. Close #4038.
* rtems: Add rtems_interrupt_server_create()Sebastian Huber2020-08-031-116/+249
| | | | | | | | | | | | | | | | | | Add rtems_interrupt_server_destroy(). Before this patch, the only way to create interrupt servers was rtems_interrupt_server_initialize(). This function creates the default interrupt server and in SMP configurations additional interrupt servers for the additional processors. The interrupt server is heavily used by libbsd. This includes the epoch based reclamation which performs time consuming resource and memory deallocation work. This does not work well with time critical services, for example an UART over SPI or I2C. One approach to address this problem is to allow the application to create custom interrupt servers with the right priority and task properties. The interrupt server API accounted for this, however, it was not implemented before this patch. Close #4033.
* bsps/pc386: Fix IPI for non-consecutive APICIDsJan Sommer2020-07-161-6/+10
| | | | | | - properly use the cpu <-> apic maps for IPIs Closes #4028.
* i386/pc: Initialise the printk serial port on first useChris Johns2020-06-182-12/+37
|
* bsps/i386/pc386/start/*.S: Remove space before tabJoel Sherrill2020-06-172-3/+3
|
* bsp/pc386: Disable interrupt nesting for job handlerJan Sommer2020-06-111-0/+10
| | | | | | | | | | | - Fixes timeout for smpipi01 where: + Main thread sends perform jobs to worker cpu while it is already performing jobs + Interrupt on worker cpu performs jobs, but with empty job list + Worker cpu continues to execut previous job and adds new job list to itself, which is never performed, since the interrupt has already been handled + Main thread blocks forever on barrier D
* bsps/pc386: Separate smp API functions. Makes smpfatal08 linkJan Sommer2020-06-115-55/+60
|
* bsps/pc386: Fix Clock_isr for SMPJan Sommer2020-06-111-1/+1
| | | | | | | | - Do not forward Clock_isr through Clock_driver_support_at_tick as this will cause every processor to send IPIs with Clock_isr therby creating an infinie loop - Instead the processor handling the clock interrupt causes all other processors to call rtems_timecounter_tick to update their tick count
* bsp/pc386: Define interrupt stack frame for smpJan Sommer2020-06-111-46/+56
| | | | | | - Defines CPU_Interrupt_frame in cpu_impl.h - Updates isq_asm.S to save/restore registers in matching order to interrupt frame
* bsp/pc386: Update GDT to work for SMPJan Sommer2020-06-115-41/+27
| | | | | | | | | | Create a GS segment in the GDT for each processor for storing TLS. This makes the GDT in startAP.S obsolete as all processors now share the same GDT, which is passed to each AP at startup. The correct segment for each processor is calculated in cpu_asm.S. Update #3335
* bsp/pc386: Turn start16.S into a startAP.SJan Sommer2020-06-113-256/+157
| | | | | | | | | | | start16.S is now only used for SMP configurations to start the application processors. This commit removes all unnecessary parts for this job, i.e. video conssole initalisation, A20 gate activation and all non-AP related code. Update #3335
* testsuite: Add expected-fail to beagleboneblackChris Johns2020-05-061-0/+17
| | | | Updates #2962
* testsuite: Add expected-fail to xilinx's zedboard, a9_qemu, zc702 and zc706Chris Johns2020-05-065-0/+40
| | | | Updates #2962
* testsuite: Add expected-fail to psimChris Johns2020-05-061-0/+22
| | | | Updates #2962
* testsuite: Add expected-fail to erc32, leon2, and leon3 BSPsChris Johns2020-05-064-0/+28
| | | | Updates #2962
* Use rtems_get_version_string()Sebastian Huber2020-05-064-4/+4
| | | | Update #3970.
* bsps/arm: Fix uninitialized value in generic timerChristian Mauderer2020-04-201-4/+10
| | | | | | | | _CPU_Counter_frequency() can be called by the rtems_counter initialization before arm_gt_clock_initialize() initializes the value used in _CPU_Counter_frequency(). Closes #3961.
* bsp/imx: Add an extra ecspi clock.Christian Mauderer2020-04-153-1/+9
| | | | | | Some imx chips or boards don't use the same frequency for ECSPI and IPG. Update #3869
* bsps/riscv: Fix multiple definitionSebastian Huber2020-04-101-2/+0
|