4.4. 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.
4.4.1. 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.
- 4.4.1.1. Atmel AT91RM9200-EK Evaluation Kit
- 4.4.1.2. Atmel AT91SAM9260-EK Evaluation Kit
- 4.4.1.3. Atmel AT91SAM9261-EK Evaluation Kit
- 4.4.1.4. Atmel AT91SAM9263-EK Evaluation Kit
- 4.4.1.5. Atmel AT91SAM9G10-EK Evaluation Kit
- 4.4.1.6. Atmel AT91SAM9G20-EK Evaluation Kit
- 4.4.1.7. Atmel AT91SAM9M10G45-EK Evaluation Kit
- 4.4.1.8. Atmel AT91SAM9N12-EK Evaluation Kit
- 4.4.1.9. Atmel AT91SAM9X5-EK Evaluation Kit
- 4.4.1.10. Microchip KSZ 9477 Evaluation board
- 4.4.1.11. Atmel SAMA5D3_XPLAINED Evaluation Kit
- 4.4.1.12. Atmel SAMA5D3X Evaluation Kit
- 4.4.1.13. Atmel SAMA5D4 XPLAINED ULTRA Evaluation Kit
- 4.4.1.14. Somfy Animeo IP
- 4.4.1.15. Atmel Telit EVK-PRO3
4.4.2. 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:
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)