summaryrefslogtreecommitdiffstats
path: root/user/bsps/bsps-powerpc.rst
blob: 80edfae556bc3f5692ca9267c1316bfe58843236 (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2018 embedded brains GmbH

powerpc (PowerPC)
*****************

beatnik
=======

TODO.

gen5200
=======

TODO.

gen83xx
=======

TODO.

haleakala
=========

TODO.

motorola_powerpc
================

Boot Image Generation
---------------------

The application executable file (ELF file) must be converted to a boot
image.  Use the following commands:

.. code-block:: none

    powerpc-rtems5-objcopy -O binary -R .comment -S ticker.exe rtems
    gzip -9 -f rtems
    powerpc-rtems5-ld -o ticker.boot bootloader.o --just-symbols=ticker.exe -b binary rtems.gz -T ppcboot.lds -no-warn-mismatch
    powerpc-rtems5-objcopy -O binary ticker.boot ticker.bin

mpc55xxevb
==========

TODO.

mpc8260ads
==========

TODO.

mvme3100
========

TODO.

mvme5500
========

TODO.

psim
====

TODO.

qemuppc
=======

TODO.

qoriq (QorIQ)
=============

The BSP for the `QorIQ <https://en.wikipedia.org/wiki/QorIQ>`_ chip family
offers three variants.  The `qoriq_e500` variant supports the P-series chips
such as P1020, P2010 and P2020.  The `qoriq_e6500_32` (32-bit ISA) and
`qoriq_e6500_64` (64-bit ISA) variants support the T-series chips such as T2080
and T4240.  The basic hardware initialization is not performed by the BSP.  A
boot loader with device tree support must be used to start the BSP, e.g.
U-Boot.

The BSP is known to run on these boards:

* NXP P1020RDB

* MicroSys miriac MPX2020 (System on Module)

* Artesyn MVME2500 (VME64x SBC)

* NXP T2080RDB

* NXP T4240RDB

* MEN G52A (CompactPCI Serial)

The `qoriq_core_0` and `qoriq_core_1` variants should be used with care.  They
are inteded for a `RTEMS_MULTIPROCESSING` configuration on the P1020.

Boot via U-Boot
---------------

The application executable file (ELF file) must be converted to an U-Boot
image.  Use the following commands:

.. code-block:: none

    powerpc-rtems5-objcopy -O binary app.exe app.bin
    gzip -9 -f -c app.bin > app.bin.gz
    mkimage -A ppc -O linux -T kernel -a 0x4000 -e 0x4000 -n RTEMS -d app.bin.gz app.img

Use the following U-Boot commands to boot an application via TFTP download:

.. code-block:: none

    tftpboot ${loadaddr} app.img && run loadfdt && bootm ${loadaddr} - ${fdt_addr} ; reset

Clock Driver
------------

The clock driver uses two MPIC global timer (``QORIQ_CLOCK_TIMER`` and
``QORIQ_CLOCK_TIMECOUNTER``).  In case ``QORIQ_IS_HYPERVISOR_GUEST`` is
defined, then the PowerPC decrementer is used.

Console Driver
--------------

The console driver supports the on-chip NS16550 compatible UARTs.  In case
``QORIQ_IS_HYPERVISOR_GUEST`` is defined, then the EPAPR byte channel is used
for the console device.

Network Interface Driver
------------------------

The network interface driver is provided by the `libbsd`.  The DPAA is
supported including 10Gbit/s Ethernet.

Topaz Hypervisor Guest
----------------------

For a Topaz hypervisor guest configuration use:

::

    ../configure --enable-rtemsbsp=qoriq_e6500_32 \
        QORIQ_IS_HYPERVISOR_GUEST=1 \
        QORIQ_UART_0_ENABLE=0 \
        QORIQ_UART_1_ENABLE=0 \
        QORIQ_TLB1_ENTRY_COUNT=16

You may have to adjust the linker command file according to your partition
configuration.

ss555
=====

TODO.

t32mppc
=======

TODO.

tqm8xx
======

TODO.

virtex
======

TODO.

virtex4
=======

TODO.

virtex5
=======

TODO.