Commit Graph

14759 Commits

Author SHA1 Message Date
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
0e4941701f bsps/arm: Fix bit field offset in GIC support
Update #3002.
2017-05-11 09:53:45 +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
Javier Jalle
61788e76b9 leon, GR-CPCI-GR740: Added peripheral PCI driver 2017-05-02 12:34:44 +02:00
Pavel Pisa
0e6542fb1e bsp/tms570: include package balls and PINMMR registers mapping for TMS5704357 ZWT chip.
The extended mechanism for switching input path by separated
alternative registers is already implemented in TMS570
pin multiplexer driver used for TMS570LS31xx

  rtems/c/src/lib/libbsp/arm/tms570/pinmux/pinmux.c

But the code has not been tested on real TMS570LC43xx hardware yet.
2017-04-29 15:20:28 +02:00
Joel Sherrill
61568e6c49 virtex5/startup/dummy_console.c: Use <rtems/bspIo.h> and <rtems/console.h> for many of the prototypes 2017-04-26 10:54:03 -05:00
Joel Sherrill
c0ea8295ed virtex4/startup/dummy_console.c: Use <rtems/bspIo.h> and <rtems/console.h> for many of the prototypes 2017-04-26 10:54:00 -05:00
Joel Sherrill
ab77827598 or1k/generic_or1k/irq/irq.c: Include <rtems/inttypes.h> and fix printf() format warning 2017-04-25 20:01:10 -05:00
Joel Sherrill
7db09923fb rtems/inttypes.h epiphany_sim/irq/irq.c: Add PRIdrtems_vector_number and use it 2017-04-25 11:42:18 -05:00
Joel Sherrill
485222e633 genmcf548x/irq/irq.c: Fix incompatible pointer warning 2017-04-24 12:00:59 -05:00
Joel Sherrill
0d01cdd68c sh/sh7750/sci/sh4uart.c: ix misleading indentation warning 2017-04-24 12:00:59 -05:00
Joel Sherrill
646df54c91 powerpc/new-exceptions/bspsupport/ppc_exc_print.c: Fix printf() format warnings 2017-04-24 12:00:58 -05:00
Joel Sherrill
2808c26266 powerpc/mpc5xx/console-generic/console-generic.c: Use updated struct termios format 2017-04-24 12:00:58 -05:00
Joel Sherrill
3ed2cf6072 leon2/console/debugputs.c: Fix misleading indentation warning 2017-04-24 12:00:58 -05:00
Joel Sherrill
fd48b43007 virtex5/startup/dummy_console.c: Fix no prototype warning 2017-04-24 12:00:58 -05:00
Joel Sherrill
9beada517d virtex4/startup/dummy_console.c: Fix no prototype warning 2017-04-24 12:00:57 -05:00