kwboot: Testing latest kwboot with Kirkwood SoC boards

Tony Dinh mibodhi at
Sat Nov 6 00:36:47 CET 2021

Hi Pali,

On Fri, Nov 5, 2021 at 3:15 PM Pali Rohár <pali at> wrote:
> On Friday 05 November 2021 15:07:17 Tony Dinh wrote:
> > > > Also, I have several Kirkwood boards (with various old BootROM
> > > > versions) that I can run the kwboot tests on. Will keep you posted.
> > >
> > > Ok! Do you have some Kirkwood board with PCIe slot? If yes, I would like
> > > to see dumps from config space of Kirkwood PCIe Root Port, see:
> > >
> >
> > I have these Kirwood boards with PCI:
> > - No slot (host bus for USB 3.0): Pogoplug V4 (6192), Zyxel NSA325v2
> > (6282). These 2 boards can be kwboot.
> > - Iomega iConnect (6281), with PCIe slot for Wifi card. This board
> > does not have kwboot booting support.
> What do you mean that it 'does not have kwboot booting support'?
> 88F6281 is also Kirkwood and UART booting with kwboot should work.

Most of the Kirkwood boards do have UART booting support. However, in
my past experience, some Kirkwood boxes did not work with kwboot
booting. It was observed experimentally that certain BootROM versions
(depending on the time of manufacturing) on the 88F6281 SoC have
problems with UART booting. But we have not proven this to be the real
reason. These boards failed UART booting (the behavior is like the
UART magic string handshake never occur):

Seagate Dockstar (all), Iomega iConnect (all), Sheevaplug (some models
probably do work), Seagate GoFlex Net (most boxes work, but a few
models don't, and they have a different BootROM version from ones that
do work).

> > I'll take a look at your link above and get back to you about the
> > config space dumps.
> >
> > By the way, I'm starting to look at the driver/pci/pci_mvebu.c to see
> > if it can be made to work with Kirkwood SoCs. I think there are many
> > differences in the addresses and memory space. I would appreciate it
> > if you have a general assessment whether I can use that driver for
> > Kirkwood.
> pci_mvebu.c should work with Kirkwood SoCs and also with all these
> 32-bit Marvell SoCs: Orion, Discovery, Kirkwood, Dove, A370, AXP, A375,
> A38x and A39x. According to Functional Specifications all these SoCs
> have common PCIe register set.

That's great to hear!

> If there is any issue with it, I could try to look at it.

At the moment, pci_mvebu.c is not included in the build for Kirkwood
boards because ./drivers/pci/Kconfig excludes it:

config PCI_MVEBU
bool "Enable Armada XP/38x PCIe driver"
depends on ARCH_MVEBU

When I removed the above  dependency, the build had errors. Because
different soc.h and cpu.h are brought into pci_mvebu.c when
ARCH_KIRWOOD is enabled and ARCH_MVEBU is disabled.

#include <asm/arch/cpu.h>
#include <asm/arch/soc.h>


More information about the U-Boot mailing list