summaryrefslogtreecommitdiffstats
path: root/bsps/arm/atsam (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-05-20Update company nameSebastian Huber32-32/+32
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2023-02-16doxygen: Add Doxygen files to a groupSebastian Huber1-0/+8
Update #3707.
2022-12-15bsp/atsam: Allow to use custom SDRAMChristian Mauderer1-0/+7
With the old build system in RTEMS 5 that was possible by just overwriting BOARD_Sdram_Config and setting a custom ATSAM_MEMORY_SDRAM_SIZE during building the BSP. In the new build system that ATSAM_MEMORY_SDRAM_SIZE is set exclusively by the selected SDRAM chip. This patch adds the possibility to specify a "custom-0x100000" or similar as SDRAM type where the number gives the SDRAM size.
2022-12-15bsps/atsam: Add NULL pointer protectionChristian Mauderer5-2/+28
2022-12-15bsps/atsam: Fix unidirectional SPI transfersChristian Mauderer1-57/+131
A SPI transfer where the Rx or Tx buffer is set to NULL currently transfers or overwrites data starting from address 0x00000000 via DMA. This patch changes the DMA setup so that dummy transfers are done. Just reading / writing to a single location is simpler than changing the whole logic of the transfer depending on the passed buffers.
2022-07-08bsps/arm/atsamv: Change license to BSD-2Joel Sherrill30-90/+660
Updates #3053.
2022-03-10bsps/arm/: Scripted embedded brains header file clean upJoel Sherrill30-180/+0
Updates #4625.
2022-02-11bsp/atsam: Improve UART / USART tx performanceChristian Mauderer1-4/+5
Put the next character into the send buffer if the buffer is empty and not when the last character has been sent out to the line. This improves the performance slightly. Before that patch, the receive path was faster than the transmit path. Therefore a simple echo could drop characters on a busy connection. With this patch sending and receiving has about the same performance so that no characters are lost. Fixes #4610
2022-02-10bsp/atsam/i2c: Add error return and fix edge casesChristian Mauderer2-59/+47
The driver didn't return with an error on (for example) a NACK on the bus. This adds the expected error return. Due to the new case that a transfer can be interrupted on an error, there were some new edge cases. This patch therefore also fixes these edge cases by removing the transfer_state that more or less duplicated the interrupt states. Fixes #4592
2022-02-10bsp/atsam/i2c: Simplify driverChristian Mauderer2-69/+45
Do some clean ups. Remove superfluous variables. Eliminate some overly complex logic (information about transfer and remaining bytes has been tracked redundantly in multiple variables). This patch doesn't change the behavior of the driver. Update #4592
2022-01-18bsp/atsam: Optionally use DMA for UART RxChristian Mauderer2-5/+190
If the system is busy with other interrupts and the UART is set to a fast baud rate, it's possible to loose UART interrupts and therefore characters. This allows to optionally enable a DMA for the UARTs so that a number of lost interrupts can be tolerated. The number of DMAs on this chip is limited and not not all applications need that feature. Therefore the DMA is disabled by default. Close #4578
2022-01-18bsp/atsam: Merge USART and UART driverChristian Mauderer1-225/+60
If no extended features of the USART are used and if the comparison feature of the UART is not used, the two modules are compatible. The drivers were nearly identical except for some names of the defines. This patch merges the two drivers into one. Update #4578
2021-11-29bsp_specs: Delete last remnants of these.Joel Sherrill1-0/+0
Updates #3937.
2021-09-21build: Remove old build systemSebastian Huber2-309/+0
Close #3250. Close #4081.
2021-06-24bsp/atsam: Fix BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-1/+1
Fix an off by one error. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAXSebastian Huber1-1/+0
This define is no longer used. Update #3269.
2021-06-24bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-1/+1
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX. Update #3269.
2021-06-24bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-0/+1
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT. After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be removed and replaced by BSP_INTERRUPT_VECTOR_COUNT. The BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no interrupt vector at all. Using COUNT instead of MAX may avoid some interpretation issues, for example is the maximum value a valid vector number or not. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber1-2/+0
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
2021-04-07bsps: Remove networking driversVijay Kumar Banerjee1-1255/+0
Update #3850
2021-01-28bsps: Replace bsp_specs with an empty fileSebastian Huber1-9/+0
This fixes an issue with the latest tool chain which adds the default linker script in the endfile specification. Update #3250.
2020-12-14bsps: Replace non-ASCII trademark symbolChristian Mauderer1-1/+1
2020-11-12bsp/atsam: Fix XDMAD statusChristian Mauderer2-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 #4173
2020-08-05arm/atsam: Make interrupt server configurableSebastian Huber2-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 #4039.
2020-04-06tests: Exclude record02 for some BSPsSebastian Huber1-0/+1
Update #3938.
2020-02-04Use RTEMS_SYSINIT_ORDER_LAST_BUT_5Sebastian Huber4-4/+4
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.
2019-11-18bsp/atsamv: Fix warningSebastian Huber1-1/+0
2019-10-23bsp/atsam: Use PIO for SC16IS752.Christian Mauderer2-21/+26
This allows to mix SC16IS752 chips with other interrupts.
2019-10-23bsp/atsam: Add additional PIO helper.Christian Mauderer2-0/+59
2019-10-23bsps/atsam: Improve case for level triggered IRQs.Christian Mauderer1-11/+15
For level triggered interrupts currently the handler would have been called two times (assuming no one cleared the mask in a handler which would have been bad because the handler couldn't process all other that got cleared by accident). This patch allows the handler only to return if nothing is left to do.
2019-06-21bsp/atsam: Enable configuration of SDRAMC_LPRSebastian Huber3-7/+13
2019-06-18atsam: Add ATSAM_POWER_WAIT_MODESebastian Huber2-3/+210
2019-06-18atsam: Enable fast startup via RTC alarmSebastian Huber1-0/+6
2019-06-18bsp/atsam: Use proper APISebastian Huber1-4/+1
2019-06-13bsp/atsam: Do not disable the WDTSebastian Huber2-4/+0
The watchdog timer (WDT) can be configure only once. Do not touch it in the BSP since the application may want to use it.
2019-06-13bsp/atsam: Improve RTC power driverSebastian Huber2-10/+25
Accept a time interval up to 24h.
2019-06-12bsp/atsam: Fix RTC_SetTimeAlarm()Sebastian Huber1-7/+13
Set the alarm time according to the note in the datasheet.
2019-05-13Removed entry from Related PagesAndreas Dachsberger1-0/+2
SAM V71 Xplained Ultra - Board explanation now in Modules->BSPs->ARM Update #3706.
2019-03-19bsp/atsam: Fix SPI driver DMA supportSebastian Huber1-144/+154
2019-03-19bsp/atsam: Simplify XDMAD_Handler()Sebastian Huber2-56/+7
Remove the channel status evaluation from XDMAD_Handler() and simply hand over the status to the callbacks.
2019-03-11bsp/atsam: Fix use after freeSebastian Huber1-2/+1
2019-03-08bsp/atsam: Add Doxygen groupsSebastian Huber1-0/+1111
Add Doxygen groups for contributed code which would otherwise end up at the top level (about 178 groups). Update #3706.
2019-03-08bsps: Adjust bsp.h Doxygen groupsSebastian Huber1-2/+18
Update #3706.
2019-03-06bsp/atsam: Accept only 8/16 bits per wordSebastian Huber1-5/+3
For proper 16 bits per word support we need probably some DMA adjustments. For 9 to 15 bits per word we need support for the variable peripheral select, see SR_MR[PS] register bit.
2019-03-06bsp/atsam: Optimize XDMAD_Handler()Sebastian Huber1-8/+14
Load the channel interrupt mask only once.
2019-03-06bsp/atsam: Fix SPI CS change supportSebastian Huber1-40/+12
The previous approach contained a severe bug which disabled the SPI module in some cases leading to a blocked SPI bus.
2019-03-06bsp/atsam: Change CS delay after transferSebastian Huber1-17/+35
2019-03-06bsp/atsam: Make SPI CS delays configurableSebastian Huber2-5/+20
2019-03-06bsp/atsam: Simplify SPI configurationSebastian Huber1-37/+42
Do not use SPID_Configure() since this will enable the peripheral each time and performs a software reset.
2018-10-18bsp/atsam: Add const qualifier to AES_SetInput()Sebastian Huber2-2/+2