Olimex CS-E9302: Documentation Help

A few general notes:

There are basically two approaches to getting Linux running on any Cirrus EP93xx board:

  • Cirrus’ own port, still based on the ancient linux 2.6.8. This one supports most (all?) of the peripherals, but definitely isn’t up to Linux code quality standards.

  • Linux mainstream kernel port. Support for the EP93xx is fully integrated in current linux kernels available from www.kernel.org. This port doesn’t support all peripherals, but at least serial, USB and ethernet is working fine. There’s support for Maverick Crunch, but I’ve been told that there are crunch errata that haven’t been brought upstream by Cirrus. On a quick test it worked fine, even on my CS-E9301 which isn’t supposed to have the Crunch coprocessor :wink:

You also have to choose which bootloader to use:

  • Cirrus uses Redboot, and that’s also the bootloader that ships with Olimex boards. Personally I dropped it as soon as I got the board, as I find Redboot too huge and intransparent (not necessarily in terms of code/data size, but the overall codestructure). Depending on your kernel choice you might have to patch Redboot or your kernel to use the same machine ID.

  • U-Boot is another widely used bootloader for embedded systems. I’ve adapted some patches that were posted to the linux-ep93xx mailinglist for the CS-EP9301 board which should apply as-is or with minor modifications to the CS-EP9302. I generated the patch against a git snapshot from november last year, but it should apply against a recent checkout, too. http://mmd.ath.cx/cs-e9301

You can also find the kernel configuration and kernel patch I’m using at the above site.

For the userland, I’ve decided to go with ptxdist (www.pengutronix.de). Alternatives are openembedded, debian-armel or maybe buildroot.

Using u-boot, a recent kernel (2.6.19+) and a ptxdist userland (openembedded and debian-armel worked fine, too) I had no problems using any of the supported peripherals. I’m mounting my rootfs via NFS, which means the ethernet controller is working nicely, and I could mount and use a USB memory stick without problems.

I’ve run the original 2.6.8 kernel that came with the board just once, so I can’t say what’s going to work and what not. This is going to be the answer you’ll get from most, if not all, community resources.

Regarding the Wiki: wiki.sparkfun.com exists, but redirects to the sparkfun homepage.

Best regards,

Dominic