summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Fix simple timecounter supportSebastian Huber2016-01-271-13/+18
| | | | Close #2502.
* bsp/leon3: Fix Termios context usageSebastian Huber2015-10-201-8/+3
| | | | | Only the context of the console device was used and this is wrong in case more than one APBUART device is available.
* Most bsp.h: Switch to LIBBSP_@CPU@_@BSP_FAMILY@_H for guardJoel Sherrill2015-07-161-2/+2
| | | | | | | | | | | | | | | | | This was done by the following script run from libbsp: find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b do echo $b cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' ` bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' ` g="LIBBSP_${cpu}_${bsp}_BSP_H" # echo $g sed -e "s/ifndef _BSP_H/ifndef ${g}/" \ -e "s/define _BSP_H/define ${g}/" \ -i $b done
* bsps: Convert clock drivers to use a timecounterAlexander Krutwig2015-05-201-29/+68
| | | | Update #2271.
* LEON3: move timer variable to where initializedDaniel Hellstrom2015-04-172-5/+2
|
* LEON3: simplify amba initializationDaniel Hellstrom2015-04-171-7/+2
|
* LEON3: clock irq always same as timer instanceDaniel Hellstrom2015-04-171-10/+1
| | | | | | The leon.h already contains the definition of LEON3_CLOCK_INDEX and irq must always follow that when separate IRQ is supported by the HW. The definitions are resued from leon.h.
* DRVMGR: remove struct driver registration funcDaniel Hellstrom2015-04-171-4/+4
|
* DRVMGR: renamed RES_EMPTY to DRVMGR_RES_EMPTYDaniel Hellstrom2015-04-171-1/+1
|
* sparc bsps: updated license to rtems.orgDaniel Hellstrom2015-04-172-2/+2
|
* leon3,ngmp: cpucounter initialization use proper namesDaniel Hellstrom2015-04-171-2/+3
| | | | | | To be merged with "leon3,ngmp: simplify cpucounter initialization" .. as an affect of previous patch, the next must be updated too.
* leon3: timer config updated to use proper namingDaniel Hellstrom2015-04-172-7/+7
| | | | To be merged with "leon3: make timer initialization configurable"
* LEON: move driver headers to bsp/ directoryDaniel Hellstrom2015-04-175-199/+199
|
* MCTRL: fix build warnings in MCTRL driverDaniel Hellstrom2015-04-172-0/+5
|
* LEON: added get_resarray_count() helper routineDaniel Hellstrom2015-04-172-0/+6
|
* GPTIMER: fix build warningsDaniel Hellstrom2015-04-172-0/+5
|
* APBUART_CONS: fix build warningDaniel Hellstrom2015-04-172-0/+5
|
* GR-RASTA-SPW-ROUTER: fix build warningsDaniel Hellstrom2015-04-172-0/+5
|
* PCIF: fixed build warningsDaniel Hellstrom2015-04-172-0/+5
|
* GRPCI: fixed build warningsDaniel Hellstrom2015-04-172-0/+5
|
* LEON3: watchdog use common timer definesDaniel Hellstrom2015-04-171-1/+1
|
* LEON3: export debug uart to console uart driverDaniel Hellstrom2015-04-171-1/+1
|
* GRETH: fix build warnings with GCC-4.9Daniel Hellstrom2015-04-171-1/+1
|
* GR-CPCI-LEON4-N2X: added PCI peripheral driver for PCI deviceDaniel Hellstrom2015-04-172-0/+6
| | | | Interrupts have not been test yet
* GRSPW: New packet based driver for SPW/SPW2/SPW2_DMADaniel Hellstrom2015-04-172-0/+6
| | | | | | | | | | | | | | | | 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-173-1/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-0/+12
|
* LEON: updated and added PCI peripherals for LEON BSPsDaniel Hellstrom2015-04-172-28/+39
| | | | | | | | | | | | | | | | | | | | 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-173-618/+10
| | | | | | | | | | | | | | | | | 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-174-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | 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-173-3/+16
| | | | | | | | | | | | | | | | | | | | 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-173-0/+26
|
* sparc BSPs: implemented libpci IRQ BSP supportDaniel Hellstrom2015-04-171-2/+7
|
* LEON3: implemented BSP DRVMGR startup initializationDaniel Hellstrom2015-04-174-1/+101
|
* leon3,ngmp: simplify cpucounter initializationDaniel Hellstrom2015-04-171-49/+6
| | | | | | | | | | | | | 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.
* leon3: make timer initialization configurableDaniel Hellstrom2015-04-172-2/+40
| | | | | | | | | | | 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.
* leon3: always clear interrupt controllerDaniel Hellstrom2015-04-171-3/+3
|
* leon3: clock driver rely on previous found timerDaniel Hellstrom2015-04-171-9/+2
| | | | | No point in scanning for the same GPTIMER twice. Rely on amba.c AMBA PnP scanning.
* LEON3: GPTIMER timer watchdog driverDaniel Hellstrom2015-04-174-0/+145
| | | | | Last timer instance of GPTIMER is sometimes a watchdog timer that can reset the system on timer underflow.
* score: Add _CPU_SMP_Prepare_start_multitasking()Sebastian Huber2015-02-171-8/+5
| | | | Update #2268.
* bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman2015-02-112-0/+4
| | | | | | | 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.
* smp: Add and use _SMP_Should_start_processor()Sebastian Huber2015-01-091-5/+1
|
* bsps/sparc: Fix trap table initializationSebastian Huber2014-12-051-1/+1
| | | | Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
* Update bug report URLSebastian Huber2014-12-051-1/+1
|
* 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.
* bsp/leon3: Fix trap table initializationSebastian Huber2014-12-041-1/+2
| | | | Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
* SPARC: optimize IRQ enable & disableDaniel Hellstrom2014-12-041-5/+7
| | | | | | | | | | | | | | | | * Coding style cleanups. * Use OS reserved trap 0x89 for IRQ Disable * Use OS reserved trap 0x8A for IRQ Enable * Add to SPARC CPU supplement documentation This will result in faster Disable/Enable code since the system trap handler does not need to decode which function the user wants. Besides the IRQ disable/enabled can now be inline which avoids the caller to take into account that o0-o7+g1-g4 registers are destroyed by trap handler. It was also possible to reduce the interrupt trap handler by five instructions due to this.
* sparc/leon3: LEON_Is_interrupt_masked for Leon3 in leon.h wrongly definedJiri Gaisler2014-12-021-3/+1
| | | | | Condition needs to be inverted, as a 1 in the mask register means that the interrupt is enabled. Solves ticket #1958 in trac.
* bsp/ngmp: Use -muser-mode GCC optionSebastian Huber2014-11-241-1/+1
| | | | | This option is necessary to use the latest GCC 4.8, 4.9 and 5.0 versions.
* bsps/sparc: Include right header fileSebastian Huber2014-10-231-1/+1
|