summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* LEON: move driver headers to bsp/ directoryDaniel Hellstrom2015-04-171-48/+48
|
* MCTRL: fix build warnings in MCTRL driverDaniel Hellstrom2015-04-171-0/+1
|
* LEON: added get_resarray_count() helper routineDaniel Hellstrom2015-04-171-0/+2
|
* GPTIMER: fix build warningsDaniel Hellstrom2015-04-171-0/+1
|
* APBUART_CONS: fix build warningDaniel Hellstrom2015-04-171-0/+1
|
* GR-RASTA-SPW-ROUTER: fix build warningsDaniel Hellstrom2015-04-171-0/+1
|
* PCIF: fixed build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GRPCI: fixed build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GR-CPCI-LEON4-N2X: added PCI peripheral driver for PCI deviceDaniel Hellstrom2015-04-171-0/+2
| | | | Interrupts have not been test yet
* GRSPW: New packet based driver for SPW/SPW2/SPW2_DMADaniel Hellstrom2015-04-171-0/+2
| | | | | | | | | | | | | | | | This patch adds a new driver for the GRSPW SpaceWire AMBA interface family. The new driver does not implement a standard RTEMS driver, instead it provides only a library interface to the GRSPW devices. This driver can be used to implement a RTEMS I/O driver or used directly. New features compared with old GRSPW driver: * zero-copy packet interface * possibility to send/receive mulitple packets per call * optional interrupt awaken work-task to process TX/RX queues * DMA channels support. Before only first DMA channel supported * Separate DMA and link control * Packet based error flags
* LEON: added new drivers to the LEON2/LEON3 BSPsDaniel Hellstrom2015-04-171-1/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* LEON: added network device configuration helper functionDaniel Hellstrom2015-04-171-0/+6
|
* LEON: updated and added PCI peripherals for LEON BSPsDaniel Hellstrom2015-04-171-12/+19
| | | | | | | | | | | | | | | | | | | | 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
* LEON: replaced old BSP PCI layer with new generic libpci PCI layerDaniel Hellstrom2015-04-171-2/+7
| | | | | | | | | | | | | | | | | 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.
* LEON3: new Console driver, APBUART driver using Driver ManagerDaniel Hellstrom2015-04-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* LEON: GPTIMER driver, Timer Library and System Clock for LEON3Daniel Hellstrom2015-04-171-3/+11
| | | | | | | | | | | | | | | | | | | | 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.
* LEON3: implemented AMBA PnP Bus Driver for Driver ManagerDaniel Hellstrom2015-04-171-0/+7
|
* LEON3: GPTIMER timer watchdog driverDaniel Hellstrom2015-04-171-0/+2
| | | | | Last timer instance of GPTIMER is sometimes a watchdog timer that can reset the system on timer underflow.
* bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman2015-02-111-0/+1
| | | | | | | This allows it to be wrapped by another function at link-time and can be used to trace interrupts. If not placed in a separate file, the function pointer address used in BSP_shared_interrupt_init will be resolved at compile-time, and the function will not be wrappable.
* libmisc: More useful default configurationSebastian Huber2014-12-051-1/+1
| | | | | | | | | | | The dummy.c was a de-facto default configuration. Rename it to default-configuration.c. Use unlimited objects and the stack checker. This makes it easier for new RTEMS users which will likely use this file if they just work with the usual main() function as the application entry point. Provide proper arguments for main() using the BSP command line. Add spare user extensions and drivers. Do not initialize the network by default. Delete bspinit.c.
* LEON3: use CPU_Fatal_halt for haltDaniel Hellstrom2014-10-061-2/+2
| | | | | | | | | | | | | | By removing the bsp_reset() mechanism and instead relying on the CPU_Fatal_halt() routine SMP and single-core can halt by updating the _Internal_errors_What_happened structure and set the state to SYSTEM_STATE_TERMINATED (the generic way). This will be better for test scripts and debugger that can generically look into why the OS stopped. For SMP systems, only the fatal-reporting CPU waits until all other CPUs are powered down (with a time out of one clock tick). The reason why a fatal stop happend may be because CPU0 was soft-locked up so we can never trust that CPU0 should do the halt for us.
* SPARC: Fatal_halt use source and exit codesDaniel Hellstrom2014-10-061-0/+1
| | | | | | | | | | | | | | | The Fatal_halt handler now have two options, either halt as before or enter system error state to return to debugger or simulator. The exit-code is now also propagated to the debugger which is very useful for testing. The CPU_Fatal_halt handler was split up into two, since the only the LEON3 support the CPU power down. The LEON3 halt now uses the power-down instruction to save CPU power. This doesn't stop a potential watch-dog timer from expiring.
* SPARC: add BSP specific error handlerDaniel Hellstrom2014-10-061-0/+1
| | | | | | | | Instead of calling the system call TA instruction directly it is better paractise to isolate the trap implementation to the system call functions. BSP_fatal_exit() is added.
* bsps/sparc: Add and use shared APBUART consoleSebastian Huber2014-07-091-2/+5
| | | | | | Move the APBUART console driver support to the shared SPARC area so that it can be reused by other BSPs. Only the console driver initialization is now BSP specific.
* score/sparc: Add support for paravirtualizationChristian Mauderer2014-06-031-0/+1
| | | | | | | Guest systems in paravirtualization environments run usually in user mode. Thus it is not possible to directly access the PSR and TBR registers. Use functions instead of inline assembler to access these registers if RTEMS_PARAVIRT is defined.
* bsps/sparc: Make lines in SPARC BSPs adhere to 80 character limit.Daniel Cederman2014-05-271-1/+2
|
* bsps: Use standard file name for BSP supportSebastian Huber2014-05-121-2/+1
|
* bsps/sparc: Add common gnat handler function prototype.Daniel Cederman2014-03-241-1/+2
| | | | Moved prototype for __gnat_install_handler and __gnat_install_handler_common to common header file. Placed header file in bsp namespace.
* bsp/leon3: Add new cache manager implementationSebastian Huber2014-02-281-1/+5
| | | | | | | | | | | The previous implementation used an instruction cache line size of 0, this is a bogus value. Use a instruction cache line size of 64 since the L2 cache may have a line size of 32 or 64. A greater value should cause no harm. Use a FLUSH operation for _CPU_cache_invalidate_instruction_range(). This is a preperation step to support the L2 cache.
* bsp/leon3: Add bsp_reset() for SMP configurationSebastian Huber2014-02-211-0/+1
|
* score: Add CPU counter supportSebastian Huber2014-02-141-0/+1
| | | | | | | | | Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
* Revert "bsp/leon3: New BSP variant leon3_qemu"Sebastian Huber2014-02-071-1/+0
| | | | | | This reverts commit 7579e255127ee0cf04901bbab6c1538559053508. Improve QEMU to support AMBA plug and play instead.
* bsp/leon3: New BSP variant leon3_qemuSebastian Huber2014-02-061-0/+1
|
* sparc: refactored shared/start.S to shared/start/start.SDaniel Ramirez2013-12-031-1/+1
|
* libbsp: refactored sparc/shared/bspgetworkarea.c to ↵Daniel Ramirez2013-12-031-1/+1
| | | | | | sparc/shared/startup/bspgetworkarea.c * refactored sparc/shared/bspgetworkarea.c to sparc/shared/startup/bspgetworkarea.c
* bsp/ngmp: New BSP variantSebastian Huber2013-11-131-0/+1
|
* bsp/leon3: Enable linker script variantsSebastian Huber2013-11-131-1/+3
|
* score: Add RTEMS_FATAL_SOURCE_EXITSebastian Huber2012-11-151-1/+0
| | | | | | | Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
* bsps/sparc: Add BSP_INITIAL_EXTENSION to <bsp.h>Sebastian Huber2012-11-131-0/+1
| | | | The bsp_fatal_extension() will call BSP_fatal_return().
* LEON: moved register definitions into grlib header fileDaniel Hellstrom2012-05-161-0/+1
| | | | | | | | | | | | Some register layout definitions for LEON3 reside in ambapp.h which does not really has anything to do with device registers. The register structures has been incorrectly named LEON3_*, the cores are not only used on LEON3 but on LEON4 and perhaps on LEON5 when that day comes. Some structures has been renamed according to the GRLIB core name instead, which CPU that actually use it is not relevant. Drivers has been updated with the new names. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-4/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* LEON3: rename console/debugputs.c to printk_support.cDaniel Hellstrom2012-04-191-1/+1
|
* LEON: updated AMBA PnP APIDaniel Hellstrom2012-04-171-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old layer had some limitations/problems for multiple AHB buses since the data structure containing all AMBA devices were allocated before scanning. The new layer create devices as they are found and memory is allocated using malloc() or bsp_early_malloc() during booting. The old 8 functions for finding a specific AHB-Slave or APB-Slave device has been replaced with one function, ambapp_for_each(), which iterates over all devices matching the specified search options and calls a user provided function. The new way lowers the footprint and makes searching more flexible. The frequency information is now supported, if the frequency of one device is reported by the user. More AHB-to-AHB bridges are supported. The API has been split into several parts in order to lower the footprint. The API also introduces the AMBAPP CORE concept, where one ambapp_core can be created from one AHB Master, AHB Slave and one APB Slave, at least one device is required for creating a core. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom2012-04-061-1/+15
| | | | | | | | | | | | | | | The implementation use IRQ number instead of vector number since some IRQs does not have a unique vector, for example the extended interrupts all enter the same trap vector entry. Added support for the LEON3 extended interrupt controller when using the shared IRQ layer. ERC32 patches untested. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Regenerate
* SPARC: bsp_early_malloc() routine for startup memory allocationDaniel Hellstrom2012-03-291-1/+1
| | | | | | | | | | | | If bsp_early_malloc() is called early during boot room will be allocated after BSS END. If the function is called after boot is will call malloc() instead. The returned memory is not freeable and always 8-byte aligned. If the bsp_early_malloc() isn't called the function is not dragged in and the workspace will be unmodified in size. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom2012-03-211-1/+3
| | | | | | | | | | | | The low level routines can be used in different occasions, it will be required when accessing PCI. Note the difference between byteorder.h (inlined functions) and access.S where the functions will be declared in the library archive librtemscpu.a. Function names starting with _ are in library and can be referenced by function pointers. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* 2011-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-281-2/+2
| | | | | | | | Jennifer Averett <jennifer.averett@OARcorp.com> PR 1801/bsps * Makefile.am, include/leon.h: Add SMP support to LEON3 BSP. * smp/getcpuid.c, smp/smp_leon3.c: New files.
* 2011-06-19 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-06-191-1/+2
| | | | * Makefile.am: Fix broken path to clockdrv_shell.h.
* 2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-111-4/+0
| | | | | | | * Makefile.am, configure.ac: runtest for this BSP obsoleted by rtems-testing/sim-scripts support. Please use those scripts. * tools/.cvsignore, tools/ChangeLog, tools/Makefile.am, tools/configure.ac, tools/runtest.in: Removed.
* 2011-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-251-1/+2
| | | | | | | | | | PR 1792/bsps * src/lib/libbsp/i386/pc386/Makefile.am, src/lib/libbsp/sparc/erc32/Makefile.am, src/lib/libbsp/sparc/leon2/Makefile.am, src/lib/libbsp/sparc/leon3/Makefile.am: Added a generic smp wait method to sparc and i386 bsps. * src/lib/libbsp/shared/smp/bspsmp_wait_for.c: New file.