summaryrefslogtreecommitdiffstats
path: root/bsps/arm/atsam/include/bsp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps/arm/: Scripted embedded brains header file clean upJoel Sherrill2022-03-1010-60/+0
| | | | Updates #4625.
* bsp/atsam/i2c: Add error return and fix edge casesChristian Mauderer2022-02-101-9/+3
| | | | | | | | | | 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
* bsp/atsam/i2c: Simplify driverChristian Mauderer2022-02-101-14/+8
| | | | | | | | | | 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
* bsp/atsam: Fix BSP_INTERRUPT_VECTOR_COUNTSebastian Huber2021-06-241-1/+1
| | | | | | Fix an off by one error. Update #3269.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAXSebastian Huber2021-06-241-1/+0
| | | | | | This define is no longer used. Update #3269.
* bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNTSebastian Huber2021-06-241-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.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber2021-06-241-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.
* arm/atsam: Make interrupt server configurableSebastian Huber2020-08-051-23/+64
| | | | | | | | | | | | | 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.
* bsp/atsam: Use PIO for SC16IS752.Christian Mauderer2019-10-231-0/+3
| | | | This allows to mix SC16IS752 chips with other interrupts.
* bsp/atsam: Enable configuration of SDRAMC_LPRSebastian Huber2019-06-211-3/+4
|
* atsam: Add ATSAM_POWER_WAIT_MODESebastian Huber2019-06-181-3/+15
|
* bsp/atsam: Improve RTC power driverSebastian Huber2019-06-131-1/+3
| | | | Accept a time interval up to 24h.
* bsp/atsam: Make SPI CS delays configurableSebastian Huber2019-03-061-0/+6
|
* bsp/atsam: Use binary semaphore for I2CSebastian Huber2018-10-011-2/+3
| | | | | | | Remove superfluous sleep before each I2C transfer. Reset I2C module after transfer timeouts. Update #3534.
* bsp/atsam: Fix cache / DMA handling in SPI.Christian Mauderer2018-02-121-0/+37
| | | | | This patch fixes the cache handling for the atsam SPI driver. Note that this solution might doesn't have the best performance for small packets.
* bsp/atsam: Allow to use a decoder for SPI CS.Christian Mauderer2018-02-121-4/+9
| | | | | The SPI controller supports a decoder connected to the chip select lines. This patch allows to use this mode.
* Remove make preinstallChris Johns2018-01-259-0/+623
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.