wiki:TBR/BSP/Leon3

Version 10 (modified by Daniel, on Apr 6, 2012 at 4:17:07 PM) (diff)

Leon3

This BSP is for the LEON3 SPARC V8 processor developed by Aeroflex Gaisler. LEON3 is available as a synthesizable VHDL model, allowing custom implementations on FPGA and/or ASIC. The LEON3 BSP probes AMBA Play&Play information for basic peripherals such as interrupt controller, timer, and UART. Probing the Plug&Play makes it possible for the LEON3 BSP to supports many LEON3 based controllers and boards. The LEON3 BSP has also support for the LEON4. The basic peripherals:

  • IRQMP, IRQAMP
  • GPTIMER
  • APBUART

The BSP supports three network interfaces: the GRETH 10/100/1000, the Opencores Ethernet MAC and the LAN91C111 i/f.

  • Ethernet (GRETH 10/100/1000)
  • PCI, GRPCI
  • CAN, GRCAN
  • CAN, OC_CAN (Opencores CAN GRLIB wrapper)
  • 1553, 1553BRM
  • SpaceWire?, GRSPW
  • PCI drivers to RASTA, Companion Chip

System Console

The LEON3 BSP has support for the RTEMS console interface and the debug UART interface (printk). The first UART found is by default selected as debug and system console. However, it is possible to override the default settings by declaring a integer named 'debug_uart_index' or/and the 'syscon_uart_index'. Setting the variable to N will select the Nth UART for either debug UART or system console. Note that on a AMP system (RTEMS MP) the default is to user APBUART[0] for CPU0, APBUART[1] for CPU1 and so on.

/dev/console_a is by default renamed /dev/console and assigned minor=0, but the user can select /dev/console_['a'+N] to be renamed to /dev/console by setting syscon_uart_index=N. See table below.

MINOR DEVICE-FS-NAME UART 0 /dev/console Default /dev/console_a, user selectable 1 /dev/console_a APBUART[0] (missing by default) 2 /dev/console_b APBUART[1] ...

On a MP system the console renamed to /dev/console is selected by CPU index (LEON3_Cpu_Index). /dev/console_+ LEON3_Cpu_Index? is renamed unless overridden. Resource sharing is performed by the user, one should not open/access a console that another OS instance uses.

At the time of writing, the console driver operates the UART in polling mode only.

Boards

The startup procedure for LEON BSPs is explained in SparcBSPStartup.

Test Reports

4.6.4: User:Jiri? reports that it runs fine on the TSIM simulatior, and boards from Pender

4.6.99.2: User::Jiri? reports that it runs fine on the TSIM simulator, and on boards from Pender

4.6.99.3: runs on GR-XC3S-1500 board - tested with networking (greth)

4.7.99.2: User:Daniel? Sep 5 2007, Tested GRETH 10/100, B1553BRM(on RASTA over PCI, on Companion Chip over PCI, direct), GRCAN(on RASTA over PCI), OC_CAN(on Companion Chip over PCI, direct)