summaryrefslogtreecommitdiffstats
path: root/user/bsps/bsps-sparc.rst
blob: 3ffd079b622a0e730efd2b4cfc6b3113d4496c44 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2018 embedded brains GmbH
.. Copyright (C) 2020 Chris Johns

sparc (SPARC / LEON)
********************



.. _BSP_sparc_erc32:

erc32
=====

TODO.

.. _BSP_sparc_leon2:

leon2
=====

This BSP supports LEON2 systems, in particular the `Microchip AT697F
<https://www.microchip.com/en-us/product/AT697F>`_. The following
default build configurations are provided:

* leon2 - A generic LEON2 system with memory at 0x4000000.

* at697f - For the AT697F. Built with ``-mcpu=leon -mfix-at697f``.

The BSP contains UART, timer, and interrupt controller drivers.
Drivers for PCI are available through the :ref:`driver manager <BSP_sparc_leon3_drv_mgr>`.

.. _BSP_sparc_leon3:

leon3
=====

This BSP supports the LEON3/4/5 systems from Cobham Gaisler.
The following default build configurations are provided:

* leon3 - A generic `LEON3/4/5 <https://www.gaisler.com/leon5>`_ system with memory at 0x4000000.

* ut700 - For the `UT700 <https://caes.com/product/ut700>`_. Built with ``-mcpu=leon3 -mfix-ut700``.

* ut699 - For the `UT699 <https://caes.com/product/ut699>`_. Built with ``-mcpu=leon -mfix-ut699``.

* gr712rc - For the `GR712RC <https://www.gaisler.com/gr712rc>`_. Built with ``-mcpu=leon3 -mfix-gr712rc``.

* gr740 - For the `GR740  <https://www.gaisler.com/gr740>`_. Memory located at address 0x0.

The BSP contains UART, timer, and interrupt controller drivers. Drivers for additional
peripherals are available through the driver manager.

.. _BSP_sparc_leon3_drv_mgr:

Driver Manager
--------------

The leon3 BSP includes an optional driver manager that handles drivers and
devices on the AMBA and PCI Plug & Play buses. The driver manager can either
be initialized manually by the user, or started automatically on startup by
setting the ``RTEMS_DRVMGR_STARTUP`` option. It can be configured to
automatically instantiate a driver for each hardware device found.

Drivers for the following devices are provided and handled via the driver manager:

* SpaceWire (GRSPW, GRSPW2, GRSPW2_DMA)
* SpaceWire Router (GRSPWROUTER)
* SpaceWire Time Distribution Protocol (SPWTDP)
* CAN - non-DMA (OCCAN) and DMA (GRCAN, GRCANFD)
- GPIO (GRGPIO)
- L2 Cache (L2CACHE)
- IOMMU (GRIOMMU)
- ADC/DAC (GRADCDAC)
- Timers (GPTIMER, GRTIMER)
- 1553 BC, RT and BM support (GR1553B)
- I2C Master (I2CMST)
- PCI (GRPCI2, GRPCI, PCIF)
- Memory Controller (MCTRL)
- Memory Scrubber (MEMSCRUB)
- Pulse Width Modulation Generator (GRPWM)
- CCSDS/ECSS Telemetry Encoder/Decoder (GRTM/GRTC)
- CSDS Time Manager (GRCTM)
- Ethernet (GRETH 10/100/1000) (requires network stack)
- Performance counters (L4STAT)
- Serial Peripheral Interface (AHBSTAT)
- AHB Status (AHBSTAT)

Build Configuration Options
---------------------------

The following options can be used in the BSP section of the ``waf``
configuration INI file. The ``waf`` defaults can be used to inspect the values.

``CONSOLE_USE_INTERRUPTS``
     Use the Termios interrupt mode in the console driver (false by default).

``RTEMS_DRVMGR_STARTUP``
     Enable the Driver Manager at startup (false by default).