my IXP4xx-related and other patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I've been working a bit on IXP4xx support lately and it seems I'm at the
point I can now boot Barebox on a Goramo Multilink routers
(IXP425-based). It requires several patches (will post them shortly) and
NPE microcode files from Intel (or from elsewhere, the regular non-VLAN
microcode v. 2.4 is needed, i.e., same as with Linux).

The binary microcode must be appended to Barebox at correct offsets for
the NPE driver to find it, details are in board support file
(arch/arm/boards/multilink/multilink.c):

#define BAREBOX_START        0x00000
#define BAREBOX_LENGTH       0x34000
#define NPE_A_START          (BAREBOX_START + BAREBOX_LENGTH)
#define NPE_A_LENGTH         0x05000
#define NPE_B_START          (NPE_A_START + NPE_A_LENGTH)
#define NPE_B_LENGTH         0x03000
#define NPE_C_START          (NPE_B_START + NPE_B_LENGTH)
#define NPE_C_LENGTH         0x04000
#define NPE_ENV0_START       (NPE_C_START + NPE_C_LENGTH)
#define NPE_ENV0_LENGTH      0x20000

when passed to Linux:
Creating XXX MTD partitions on "IXP4XX-Flash.0":
0x000000000000-0x000000034000 : "barebox"
0x000000034000-0x000000039000 : "NPE-A"
0x000000039000-0x00000003c000 : "NPE-B"
0x00000003c000-0x000000040000 : "NPE-C"
0x000000040000-0x000000060000 : "env0"

User-available flash area starts at 0x60000.

All this IXP4xx code is big-endian only. Too much work with LE (NPE
coprocessors would need buffer byte swapping, flash (EXP bus) would need
16-bit word swapping etc). Big-endian Barebox can load both LE and BE
Linux anyway ("bootz" only at the moment).

It should be easily applicable to other IXP42x-based platforms.
-- 
Krzysztof Halasa

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux