Commit Graph

13121 Commits

Author SHA1 Message Date
Daniel Hellstrom
3bb41226e0 LEON: added new drivers to the LEON2/LEON3 BSPs
Most drivers use the Driver Manager for device probing, they
work on AMBA-over-PCI systems if PCI is big-endian.

New APIs:
 * GPIO Library, interfaced to GRGPIO
 * GENIRQ, Generic interrupt service implementation helper

New GRLIB Drivers:
 * ACTEL 1553 RT, user interface is similar to 1553 BRM driver
 * GR1553 (1553 BC, RT and BM core)
 * AHBSTAT (AHB error status core)
 * GRADCDAC (Core interfacing to ADC/DAC hardware)
 * GRGPIO (GPIO port accessed from GPIO Library)
 * MCTRL (Memory controller settings configuration)
 * GRETH (10/100/1000 Ethernet driver using Driver manager)
 * GRPWM (Pulse Width Modulation core)
 * SPICTRL (SPI master interface)
 * GRSPW_ROUTER (SpaceWire Router AMBA configuration interface)
 * GRCTM (SpaceCraft on-board Time Management core)
 * SPWCUC (Time distribution over SpaceWire)
 * GRTC (SpaceCraft up-link Tele core)
 * GRTM (SpaceCraft down-link Tele Metry core)

GR712RC ASIC specific interfaces:
 * GRASCS
 * CANMUX (select between OCCAN and SATCAN)
 * SATCAN
 * SLINK
2015-04-17 01:10:17 +02:00
Daniel Hellstrom
fe1aa9c002 LEON: added network device configuration helper function 2015-04-17 01:10:17 +02:00
Daniel Hellstrom
3681925508 LEON: updated shared drivers to Driver Manger framework
Some bugfixes at the same time. After this patch the drivers
may be used on RASTA systems having a big-endian PCI layout.

Removed not up to date changelogs, rely on git log instead.
2015-04-17 01:10:17 +02:00
Daniel Hellstrom
e67b2b8d05 LEON: updated and added PCI peripherals for LEON BSPs
The CCHIP driver is replaced with the GR_701 driver. The
RASTA driver is replaced by the GR-RASTA-IO driver.

All drivers are now compatible with both LEON2 and LEON3,
drivers were initialized directly by the PCI-board drivers
are now initialized by the driver manager and therefore
does not require the double code created by including for
example grcan.c into grcan_rasta.c. The other drivers needs
to be updated to the driver manager framework however.

Added support for:
 * GR-701 (only LEON2 before)
 * GR-RASTA-IO (only LEON2 before)
 * GR-RASTA-ADCDAC
 * GR-RASTA-TMTC
 * GR-RASTA-SPW-ROUTER
 * GR-TMTC-1553
2015-04-17 01:10:17 +02:00
Daniel Hellstrom
3e3fb0d40b LEON2: added support for LEON2-GRLIB systems
In some non-standard designs GRLIB peripherals are used together
LEON2. This patch adds a GRLIB amba Plug&Play driver so that AMBA
devices can be found from Plug&Play the same way as with the LEON3
BSP.

The user is required to add an AMBA-PnP device entry into the LEON2
bus configuration, so that the driver manager unite this driver
with the "fake" device and start scanning after AMBA PnP devices.
2015-04-17 01:10:17 +02:00
Daniel Hellstrom
46e41c98b3 LEON: replaced old BSP PCI layer with new generic libpci PCI layer
The old code used a limited PCI configuration library, which was
duplicated into LEON2 and LEON3 BSP pci.c together with respective
Host controller PCI interface.

The LEON2 BSP had support for AT697 PCI, and LEON3 for GRPCI PCI
Host controller. With this update new PCI Host drivers are added,
and all support the new generic PCI Library:
 * AT697 PCI (LEON2 only)
 * GRPCI (LEON2-GRLIB and LEON3)
 * GRPCI2 (LEON2-GRLIB and LEON3)
 * Actel PCIF GRLIB Wrapper (LEON3 only)

The LEON2 BSP is defined as big-endian PCI in bsp.h, since the
AT697 supports only big-endian PCI.
2015-04-17 01:10:17 +02:00
Daniel Hellstrom
c176410021 LEON3: new Console driver, APBUART driver using Driver Manager
This patch reimplements the console driver of the LEON3 BSP, it
has split up the console driver in two parts: Console driver and
UART driver. Before the only UART supported was APBUART and only
on-chip APBUARTs found during startup. However splitting the
driver in two allows any UART interface to reuse the termios
attach code of the console driver, pratically this has always
been a problem when discovering APBUARTs after startup for
example the PCI board GR-RASTA-IO has APBUARTs and must wait
until after PCI has been setup.

Since the only current driver that supports the new console
driver uses the Driver Manager, the new console driver is
only enabled when Driver Manager is initialized during startup.

The new APBUART driver supports:
 * polling mode
 * interrupt mode
 * task-driven mode
 * set UART attributes
 * read UART attributes (system console inherit settings from
   boot loader)
 * Driver manager for finding/initialization of the hardware
2015-04-17 01:10:16 +02:00
Daniel Hellstrom
045de3556f MERGE: new system clock implementation 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
cd64fbfb68 LEON: GPTIMER driver, Timer Library and System Clock for LEON3
With this patch the LEON family can access the GRLIB GPTIMER using
the Timer library (TLIB).

A System Clock driver instead of BSP/clock/ck_init.c is provided
using the TLIB. The classic clock driver is split in two parts,
clock driver and timer driver. The BSPs need only to fullfill the
timer interface instead of the clock interface. Currently only
LEON3 uses it. The LEON2 Timer is not ported to TLIB.

The GPTIMER driver is implemented using the Driver Manager, so the
System Clock Driver is at this point only suitable for LEON3 when
the driver manager is initialized during BSP startup. When the DrvMgr
is not initialized during startup the standard BSP/clock dirver is
used.

LEON2 sometimes also needs to access GPTIMER when a off-chip GRLIB AMBA
systems is connected, for example AMBA-over-PCI.
2015-04-17 01:10:16 +02:00
Daniel Hellstrom
3db9e5b03d LEON2: implemented AMBA Bus Driver for Driver Manager 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
e05c2659f4 LEON3: implemented AMBA PnP Bus Driver for Driver Manager 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
d11f2286c2 sparc BSPs: implemented libpci IRQ BSP support 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
e428dc4a95 LEON3: implemented BSP DRVMGR startup initialization 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
e7fade3ac4 DRVMGR: added driver manager to cpukit/libdrvmgr 2015-04-17 01:10:16 +02:00
Daniel Hellstrom
e51eb80e88 leon3,ngmp: simplify cpucounter initialization
Remove support for using the second timer for time stamping.
Instead the user can configure the system clock timer to a higher
base clock frequency (lower the prescaler). This change does not
affect the GR712RC or LEON4-N2X. The GR712RC does not have two
GPTIMERs and the N2X uses the Interrupt Controller for time
stamping.

Bow that the AMBA initialization code exports the AMBA device,
the frequency can be obtained without an additional AMBA PnP
scanning.
2015-04-17 01:10:15 +02:00
Daniel Hellstrom
5da315ffdc leon3: make timer initialization configurable
Its now possible to select which timer core will be used for
system clock timer and to control the timer prescaler that
affects all timer instances on that timer core.

The timer and interrupt controller AMBA devices are exported
to make it possible for other code to get detailed information.
For example the frequency of the timer and interrupt controller
is required by the cpucounter support.
2015-04-17 01:10:15 +02:00
Daniel Hellstrom
ead16ae1ba leon3: always clear interrupt controller 2015-04-17 01:10:15 +02:00
Daniel Hellstrom
60b0fd511f leon3: clock driver rely on previous found timer
No point in scanning for the same GPTIMER twice. Rely on
amba.c AMBA PnP scanning.
2015-04-17 01:10:15 +02:00
Daniel Hellstrom
31e4e25dfe LEON3: GPTIMER timer watchdog driver
Last timer instance of GPTIMER is sometimes a watchdog timer that
can reset the system on timer underflow.
2015-04-17 01:10:15 +02:00
Joel Sherrill
cb02e8accc bf537Stamp: Re-enable bsp_reset() 2015-04-15 10:02:58 -05:00
Joel Sherrill
74c4facdce tms570/startup/bspreset.c: Add include <bsp/bootcard.h> to fix warning 2015-04-15 10:02:58 -05:00
Joel Sherrill
1aaf2fb736 lm32/shared/startup/bspreset.c: New file missed in previous commit 2015-04-14 15:01:53 -05:00
Hesham ALMatary
0a73de2fc8 or1ksim: Fix bug at UART driver.
Fix some UART register addresses and implementation bugs that
were causing malfunction of console driver on real hardware.

hello and ticker samples are tested and working fine now on mor1kx
based SoC on Atlys FPGA board.
BSP_OR1K_OR1KSIM_PERIPHCLK has been changed to 50MHz as with mor1kx/atlys
SoC; this change has no effect on the current simulators that RTEMS run
on.
2015-04-14 11:10:14 -05:00
Thomas Volgmann
a1d6f7a405 bsp/altera-cyclone-v: Add RTC driver 2015-04-10 08:23:00 +02:00
Alan Cudmore
044c7d8280 Add hardware FPU flags for Raspberry Pi 2 BSP 2015-04-09 14:35:10 -04:00
Joel Sherrill
45491a8804 lm32 BSPs: Add lm32_evr variant for running on gdb.
Lay groundwork for a simulator configuration configuration
for the Milkymist. This is needed to use the shared code.
2015-04-05 15:49:32 -05:00
Joel Sherrill
d0307c8a06 or1ksim-testsuite.tcfg: new file 2015-04-03 16:18:40 -05:00
Joel Sherrill
475ff0a748 ods68302-testsuite.tcfg: Add fileio 2015-04-03 15:08:01 -05:00
Joel Sherrill
6601619807 rtl22xx-testsuite.tcfg: Add fileio 2015-04-03 15:07:47 -05:00
Sebastian Huber
aae6c21810 bsp/altera-cyclone-v: Fix define usage 2015-04-02 08:31:09 +02:00
Joel Sherrill
c966b4dc35 simsh*: Disable interrupt critical section tests
These do not run reliably on this simulator.
2015-04-01 09:39:42 -05:00
Joel Sherrill
ef3bcef890 jmr3904-testsuite.tcfg: New file 2015-04-01 09:39:42 -05:00
Martin Galvan
ec8f3cbd6f TMS570: Add board reset code to bsp_reset 2015-03-31 07:57:04 +02:00
Martin Galvan
89fffa66b1 TMS570: Enable FPU in makefile. 2015-03-27 09:27:39 +01:00
Sebastian Huber
8aa967c3a4 bsp/altera-cyclone-v: Typo 2015-03-25 11:46:12 +01:00
Joel Sherrill
28a8206cf6 moxie machine type not supported by rtems-syms. See #2213
updates #2313.
2015-03-24 08:16:51 -05:00
Joel Sherrill
36ad3c771e mrm332/console/sci.c: Make routines static 2015-03-24 08:16:44 -05:00
Joel Sherrill
90f2544035 nds/libnds/source/arm9/image.c: Add needed cast 2015-03-24 08:16:42 -05:00
Joel Sherrill
e2192d9f57 nds/libnds/source/arm7/clock.c: Avoid over indexing array 2015-03-24 08:16:41 -05:00
Joel Sherrill
e836c7c16c lpc176x/console/console-config.c: Conditionalize code to avoid unused warnings 2015-03-24 08:16:39 -05:00
Joel Sherrill
7a6c7fe360 m32csim-testsuite.tcfg: Add tests with data size issues 2015-03-22 10:29:59 -05:00
Joel Sherrill
8b5f911bed h8sim*-testsuite.tcfg: Add tests with data size issues 2015-03-22 10:29:59 -05:00
Joel Sherrill
14655d3548 avrtest-testsuite.tcfg: Add tests with data size issues 2015-03-22 10:29:59 -05:00
Joel Sherrill
c69f236dd5 m32cbsp: Disable jffs2 and mrfs tests 2015-03-22 10:29:58 -05:00
Joel Sherrill
83f11c2815 h8sim: Disable jffs2 and mrfs tests 2015-03-22 10:29:58 -05:00
Joel Sherrill
1d0973283a avrtest: Disable jffs2 and mrfs tests 2015-03-22 10:29:58 -05:00
Sebastian Huber
d4edbdbcbf Replace www.rtems.com with www.rtems.org 2015-03-20 15:42:34 +01:00
Daniel Cederman
665928a9b5 rtems: Use atomic operation with correct type 2015-03-20 12:00:00 +01:00
Sebastian Huber
9f34aa5e06 bsp/rtl22xx: Add prefix due to name conflicts
Close #2303.
2015-03-20 09:45:02 +01:00
Martin Galvan
7b35a36fb1 Add CAN, PWM, ADC and UART1/2/3 support to the LPC176x BSP.
This patch adds support for the following devices to the LPC176x BSP:

* CAN
* PWM
* ADC

It also adds the probe routines for UART1/2/3 to the console_device_table in console-config.c, and enables UART1 in configure.ac.
2015-03-20 09:16:07 +01:00