summaryrefslogtreecommitdiffstats
path: root/Documentation/boards/at91.rst
blob: f25cb01bb1e1d0b55506dbe094f806f85bcee7cd (plain)
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
Microchip (Atmel) AT91
======================

The Microchip (former Atmel) AT91 architecure has very good support within
barebox.
Most boards today have their description in their board files, but
boards are slowly migrating to use DT.
Likewise most boards are not yet migrated to multi image support, but
this is also ongoing.

The boot process of the AT91 CPU's is a two step process.
The first step is named the bootstrap and at91bootstrap
is often used (https://github.com/linux4sam/at91bootstrap).
barebox supports bootstrapping some at91 boards as documented
in the following.

The bootstrap program are loaded by a boot program and can be loaded
from DataFlash, NAND Flash, SD Card or via USB.
The bootstrap program do the low-level configuration of the
processor and then load and execute barebox.

AT91 boards
-----------
The majority of the supported boards have a short entry here.
For each board defconfig file(s) are noted but barebox may include additional
defconfig files and may also include boards not included in the following.

.. toctree::
  :glob:
  :maxdepth: 1

  at91/*

TODO
----
This is a list of AT91 specific TODO items, listed in no particular order.

* fix prototype for barebox_arm_reset_vector. Introduce the prototype:

.. code-block:: c

  void __naked __bare_init barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2)


This will unify the prototype for the reset vector for multi image and standalone images

* Update remaining boards to DT
* Update remaing boards to support multi image boot
* Get bootstrap working in combination with multi image
* Introduce defaultenv2 for all boards
* Add pwm driver (required to support backlight)