The following is the current set of patches so far to support PBL for the skov-arm9cpu. The pwm is not really part of this - but it is part of the story. The patch-set was triggered when someone reported a bug in the atmel pwm code. The code did not build - so I ported it over. Now I wanted to boot the target, but at91bootstrap no longer supports the at91sam9263. So I decided to try to make it work in barebox. I have tried this before and failed - but it should be possible... What I have made is modelled on top of all the great work for other more modern atmel bouards. v2: - The first stage bootloader works - thanks to feedback from Ahmad! - Add support for non-high capacity SD cards, as required by at91sam9 (Ahmad) - Replace hardcoded delay loops with pit based early delays (Ahmad) - Several adjustments to skov-arm9cpu code to fit the changes The following patches are not ready: - atmel_lcdfb: add support for updated DT bindings - ARM: at91: Update DTS for skov-arm9cpu They both rely on updated bindings that has not landed yet, and which may end up not being compatible with the changes implemented here. So the patches works - but bindings are work-in-progress. My plan is to resurrect my drm driver for at91sam9 and with that the update the binding file. But timeline for this work is unknowm. In other words - I assume patch 1 to 8 + 10 as ready. Patch 9 + 11 are WIP. Sam Sam Ravnborg (11): pwm: atmel: Fix build and update ARM: at91: Make sdramc.h useable in multi image builds ARM: at91: Add initialize function to sdramc ARM: at91: Provide at91_mux_pio_pin for use in lowlevel mci: atmel_mci: Add PBL helper to configure highcapacity ARM: at91: Add at91sam9 xload_mmc for PBL use ARM: at91: Add extra register definitions ARM: at91: Add lowlevel helpers for at91sam9263 atmel_lcdfb: add support for updated DT bindings ARM: at91: Add xload support to skov-arm9cpu ARM: at91: Update DTS for skov-arm9cpu arch/arm/boards/skov-arm9cpu/board.c | 17 +- arch/arm/boards/skov-arm9cpu/lowlevel.c | 158 +++------ arch/arm/dts/at91-skov-arm9cpu.dts | 107 +++--- arch/arm/mach-at91/Kconfig | 4 +- arch/arm/mach-at91/Makefile | 4 +- arch/arm/mach-at91/at91sam9_sdramc_ll.c | 71 ++++ arch/arm/mach-at91/at91sam9_xload_mmc.c | 118 +++++++ arch/arm/mach-at91/include/mach/at91_pmc.h | 2 + arch/arm/mach-at91/include/mach/at91sam9263.h | 14 + .../mach-at91/include/mach/at91sam9263_matrix.h | 23 +- arch/arm/mach-at91/include/mach/at91sam926x.h | 2 + arch/arm/mach-at91/include/mach/at91sam9_sdramc.h | 165 ++++++--- arch/arm/mach-at91/include/mach/gpio.h | 25 ++ arch/arm/mach-at91/include/mach/sam92_ll.h | 54 +++ arch/arm/mach-at91/include/mach/xload.h | 5 + arch/arm/mach-at91/sam9263_ll.c | 215 ++++++++++++ drivers/mci/atmel_mci_pbl.c | 5 + drivers/pwm/pwm-atmel.c | 383 +++++++++++++++------ drivers/video/atmel_lcdfb.c | 6 + drivers/video/atmel_lcdfb.h | 4 + drivers/video/atmel_lcdfb_core.c | 125 +++++-- images/Makefile.at91 | 6 +- 22 files changed, 1167 insertions(+), 346 deletions(-)