Commit Graph

30413 Commits

Author SHA1 Message Date
Martin Aberg
ad203e5887 leon, grcan: function based user interface
This commit preserves all driver services, using a function based user
interface instead of the I/O interface.

The messages count parameter is now number of CAN messages instead of
number of bytes.
2017-05-14 12:31:57 +02:00
Martin Aberg
229c42499e bsp/leon3: Cleaner namespace for LEON3 debug UART
Prefix BSP specific symbols with BSP name:
dbg_uart -> leon3_debug_uart
debug_uart_index -> leon3_debug_uart_index
2017-05-14 12:31:57 +02:00
Daniel Hellstrom
011efee813 leon, irq: single CPU SMP configuration does not need IPI ISR 2017-05-14 12:31:56 +02:00
Daniel Hellstrom
fa27fe5c82 leon, greth: new option and change soft-reset logic for EDCL 2017-05-14 12:31:56 +02:00
Daniel Hellstrom
8ac070ab99 leon, greth: 10/100 modes should be assigned in fastest priority 2017-05-14 12:31:56 +02:00
Daniel Hellstrom
e6fbd26fdb leon, greth: speed modes advertising now configurable 2017-05-14 12:31:56 +02:00
Daniel Hellstrom
1271813421 leon, greth: EDCL and DD is disabled during reset
The EDCL and Duplex-Detection are now disabled during soft-reset
of the GRETH core.

The speed settings are preserved on boot and greth_stop() also,
this is required to keep EDCL operational when DD is set.
2017-05-14 12:31:56 +02:00
Phong Pham
a9859d1a58 interrupt vector indexing is assuming BSP_INTERRUPT_VECTOR_MIN = 0
Closes #3014.
2017-05-13 23:10:25 -05:00
Phong Pham
f219adc3f8 missing a couple register names + a #ifndef_ASM__ around serial.h inclusion
Closes #3016.
2017-05-13 22:50:39 -05:00
Sebastian Huber
00d982080c sptests/spprivenv01: Use default task mode
There is no need to run the task with interrupts disabled.
2017-05-12 10:10:07 +02:00
Sebastian Huber
f778b7f3f1 confdefs.h: Use SMP scheduler only if necessary
Update #3001.
2017-05-12 08:35:36 +02:00
Sebastian Huber
1309718114 confdefs.h: CONFIGURE_DISABLE_SMP_CONFIGURATION
Enable the SMP configuration by default in case SMP is enabled.  Add
configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it
explicitly.

Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail
otherwise.

Update #3001.
2017-05-11 11:40:44 +02:00
Sebastian Huber
0e4941701f bsps/arm: Fix bit field offset in GIC support
Update #3002.
2017-05-11 09:53:45 +02:00
Chris Johns
900c40730d testsuites: Build the tests in parallel if make is asked too. 2017-05-11 08:09:50 +10:00
Chris Johns
6130a47e72 testsuites: Fix build dependences for generated files. 2017-05-11 08:09:43 +10:00
Gedare Bloom
87de70a298 posix/mman: add mmap support for shm objects
Update #2859.
2017-05-05 10:34:08 -04:00
Chris Johns
8290f95cbd posix: Add mmap/unmap support for mapping files.
This version of mmap comes from early work done
on the RTL code base circa 2012.

Update #2859.
2017-05-05 10:34:08 -04:00
Gedare Bloom
bd9d5ebc33 posix/shm: replace threadq with mutex (allocator lock)
Closes #2957.
2017-05-05 10:34:08 -04:00
Gedare Bloom
889eb76731 posix/mman: update atime on shared memory read call
Update #2859.
2017-05-05 10:34:08 -04:00
Sebastian Huber
e0627c69b5 cpukit: Fix __RTEMS_REVISION__ define 2017-05-04 07:11:28 +02:00
Daniel Hellstrom
430949aa0d leon, greth: let Gbit full duplex override half 2017-05-02 12:34:50 +02:00
Daniel Hellstrom
998e34ad33 leon, greth: SMP support by using spin-lock protection 2017-05-02 12:34:50 +02:00
Martin Aberg
8927c0f8e7 leon, gptimer: offset intnum with subtimer index
If separate interrupts are not available, then do not add the timer hardware
index number when configuring interrupt affinity.
2017-05-02 12:34:49 +02:00
Martin Aberg
256e083ffb leon, gptimer: fixed probing separate interrupts
Probing of separate interrupts was done by storing the GPTIMER_CFG_SI bit. But
it was never actually stored since it is bit 8 and the datatype is 8-bit. Now
store the AND result as boolean value instead.
2017-05-02 12:34:49 +02:00
Javier Jalle
6234abe8bd leon, l4stat: Initial driver commit 2017-05-02 12:34:49 +02:00
Javier Jalle
21b3319f74 leon, ambapp: Added L4STAT driver to ambapp ids 2017-05-02 12:34:49 +02:00
Martin Aberg
a8595605c2 leon, occan: Converted disable/enable to SMP locks
This commit updates the OCCAN driver locking mechanism:
1. Convert interrupt disable/enable to interrupt locks.
2. Make sure interrupt service routines use proper locking to deal with threads
running in parallel.
2017-05-02 12:34:48 +02:00
Martin Aberg
c609cceabb leon, ahbstat: Use RTEMS 4.12 SMP interrupt lock 2017-05-02 12:34:48 +02:00
Javier Jalle
c241236139 leon, memscrub: add GR740 memory scrubber driver 2017-05-02 12:34:48 +02:00
Javier Jalle
d79429fa52 leon, griommu: add GR740 IOMMU driver
The driver is limited to the access protection bit-vector. It
currently does not support the IOMMU page-table functionality.
2017-05-02 12:34:48 +02:00
Javier Jalle
3e948ccadd leon, ambapp: Added GRIOMMU driver to ambapp ids 2017-05-02 12:34:48 +02:00
Javier Jalle
dfa8633805 leon, l2cache: add GR740 L2-Cache driver 2017-05-02 12:34:47 +02:00
Javier Jalle
d24ed5459b leon, ambapp: Added L2CACHE driver to ambapp ids 2017-05-02 12:34:47 +02:00
Javier Jalle
93c5e6376c leon, grpci2dma: add GR740 PCI DMA driver 2017-05-02 12:34:47 +02:00
Javier Jalle
31ba1f218a leon, grpci2: prepare for GRPCI2DMA driver 2017-05-02 12:34:47 +02:00
Javier Jalle
8e45d55303 leon, grpci2: Make driver SMP safe 2017-05-02 12:34:47 +02:00
Daniel Hellstrom
9631e5a9fc leon, ambapp: updated AMBA PnP IDs and names database 2017-05-02 12:34:47 +02:00
Martin Aberg
e5e44bdb10 leon, apbuart: Wait for shift register on close
Do not disable transmitter until shift register is empty when closing device.
It is correct to look at the sending software state when closing the device.
However, the sending state must be cleared only when everything is sent.
2017-05-02 12:34:47 +02:00
Martin Aberg
6860ddb6e8 leon, apbuart: Optimized RX processing in ISR
Limit the number of calls to termios rtems_termios_enqueue_raw_characters() by
reading out the RX FIFO on stack and then call termios only once.
2017-05-02 12:34:46 +02:00
Martin Aberg
3df67108c2 leon, apbuart: support termios task driven mode
The APBUART control register can be updated from both ISR and task context so
the device must be locked when manipulating the register.
There is also a scenario with RX FIFO interrupts where a few characters can be
in the FIFO without generating interrupt.
2017-05-02 12:34:46 +02:00
Martin Aberg
f164a29470 leon, apbuart: Inherit HW parameters on sysconsole
The cons layer decides which of the registered console device is granted as
system console. When a device specific console driver performs its first_open,
it inherits UART parameters from boot loader only if it is the system console.
2017-05-02 12:34:46 +02:00
Martin Aberg
6e2e129966 leon, apbuart: Assign proper device name
Always assign a device/file system name.
Use device unique name for ISR.
2017-05-02 12:34:46 +02:00
Martin Aberg
1fefc7192e leon, apbuart: RX delayed interrupt
Utilize the APBUART RX delayed interrupt if available. It also
enables RX FIFO interrupt when used.

The APBUART RX delayed interrupt is supported by the GR740.
2017-05-02 12:34:46 +02:00
Martin Aberg
fd9fb2154a leon, cons: drvmgr cons interface uses new TERMIOS
LEON driver manager console driver interface (cons) and the APBUART cons driver
(apbuart_cons) have been updated for recent TERMIOS interface changes. The
legacy callback API is not used anymore and deprecated functions are
eliminated.

This new implementation is based on RTEMS BSP and Device Driver Development
Guide, chapter named "Console Driver".
- Functions marked as deprecated (rtems_termios_open() and
  rtems_termios_close()) have been updated with the present-day versions.
- The legacy "callback" interface is replaced with the "handler" interface.
- Implementation is inspired by the documentation example, the non-driver
  manager driver for APBUART (apbuart_termios).
- Polled, interrupt and task mode is supported.
2017-05-02 12:34:46 +02:00
Martin Aberg
7cb9325047 leon, apbuart: added register defines: FIFO, delay int
The FIFOs available capability bit is available in the UART Control Register:
FIFOs available (FA) - Set to 1 when receiver and transmitter FIFOs are
available. When 0, only holding register is available.

Delay interrupt can delay a receive character interrupt to better handle RX bursts.
2017-05-02 12:34:45 +02:00
Martin Aberg
f600458d05 leon, clock: new driver manager clock driver
- Compatible with SMP
- Selects timecounter depending on features available
- Fixes problem with time going to fast on SMP

This is an implementation of the RTEMS "clockdrv_shell" interface for
LEON2/3/4 systems using the Driver Manager. It is clock hardware agnostic
and compatible with SMP and UP. Availability of free running counters is
probed and selected as needed.

GR740:
 RTEMS TESTSUITE FAILURE SUMMARY

 Result Test ExecRes ConsoleRes ExitCode1 ExitCode2
 FAIL: ./fstests/imfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/jffs2_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mdosfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mimfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mrfs_fsscandir01 OK FAIL 5 0
 FAIL: ./psxtests/psxshm01 FAIL FAIL N/A N/A
 FAIL: ./psxtests/psxshm02 FAIL FAIL N/A N/A
 FAIL: ./sptests/spinternalerror01 OK N/A -559038737 1611526157
 FAIL: ./sptests/sptimecounter01 OK N/A 5 0

 SUMMARY
  Tests failing:    9
  Tests successful: 578

---
GR712RC:
 RTEMS TESTSUITE FAILURE SUMMARY

 Result Test ExecRes ConsoleRes ExitCode1 ExitCode2
 FAIL: ./smptests/smpipi01 FAIL FAIL N/A N/A
 FAIL: ./smptests/smpthreadlife01 FAIL FAIL N/A N/A
 FAIL: ./fstests/imfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/jffs2_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mdosfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mimfs_fsscandir01 OK FAIL 5 0
 FAIL: ./fstests/mrfs_fsscandir01 OK FAIL 5 0
 FAIL: ./psxtests/psxshm01 FAIL FAIL N/A N/A
 FAIL: ./psxtests/psxshm02 FAIL FAIL N/A N/A
 FAIL: ./sptests/spinternalerror01 OK N/A -559038737 1611526157
 FAIL: ./sptests/sptimecounter01 OK N/A 5 0

 SUMMARY
  Tests failing:    11
  Tests successful: 576
2017-05-02 12:34:45 +02:00
Daniel Hellstrom
78e56096c8 leon, tlib: added timer width mask information 2017-05-02 12:34:45 +02:00
Daniel Hellstrom
ae203e0d41 leon, ambapp_bus: IRQ affinity for on-chip AMBAPP bus 2017-05-02 12:34:45 +02:00
Daniel Hellstrom
7075fb1134 drvmgr: ability to configure IRQ affinity 2017-05-02 12:34:45 +02:00
Javier Jalle
61788e76b9 leon, GR-CPCI-GR740: Added peripheral PCI driver 2017-05-02 12:34:44 +02:00