| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Updates #4625.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Updates #3937.
|
|
|
|
|
| |
Close #3250.
Close #4081.
|
|
|
|
|
|
| |
Fix an off by one error.
Update #3269.
|
|
|
|
|
|
| |
This define is no longer used.
Update #3269.
|
|
|
|
|
|
| |
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX.
Update #3269.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3850
|
|
|
|
|
|
|
| |
This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.
Update #3250.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3938.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
This allows to mix SC16IS752 chips with other interrupts.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The watchdog timer (WDT) can be configure only once. Do not touch it in
the BSP since the application may want to use it.
|
|
|
|
| |
Accept a time interval up to 24h.
|
|
|
|
| |
Set the alarm time according to the note in the datasheet.
|
|
|
|
|
| |
SAM V71 Xplained Ultra - Board explanation now in Modules->BSPs->ARM
Update #3706.
|
| |
|
|
|
|
|
| |
Remove the channel status evaluation from XDMAD_Handler() and simply
hand over the status to the callbacks.
|
| |
|
|
|
|
|
|
|
| |
Add Doxygen groups for contributed code which would otherwise end up at
the top level (about 178 groups).
Update #3706.
|
|
|
|
| |
Update #3706.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Load the channel interrupt mask only once.
|
|
|
|
|
| |
The previous approach contained a severe bug which disabled the SPI
module in some cases leading to a blocked SPI bus.
|
| |
|
| |
|
|
|
|
|
| |
Do not use SPID_Configure() since this will enable the peripheral each
time and performs a software reset.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Remove superfluous sleep before each I2C transfer. Reset I2C module
after transfer timeouts.
Update #3534.
|
|
|
|
| |
Update #3534.
|
|
|
|
|
|
|
|
|
|
| |
Add and use <machine/rtems-bsd-kernel-space.h> and
<machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command
line defines and defines scattered throught the code base.
Simplify cpukit/libnetworking/Makefile.am.
Update #3375.
|
|
|
|
|
| |
This patch fixes an overflow in the frequency calculation of the SPI
driver for slow SPI speeds.
|
|
|
|
|
|
|
|
|
| |
Quite a number of GMAC_... functions had a side effect of enabling the
transmit and receive. During the initialization of the ethernet driver,
that lead to the situation that the receive has been already enabled
while the DMA isn't set up correctly. Therefore the DMA interpreted the
values at address 0 as an DMA descriptor. When a packet is received
during that time, the behaviour is quite undefined.
|