i.MX515 Project
Port NetBSD to i.MX515 SOC

in category FreeBSD, NetBSD, OpenBSD
proposed by martyfouts on 14th April 2009
Project Proposal
I propose to provide an implementation of NetBSD-current for the i.mX515 SOC on the development board provided by Genesi.

The finished port will be committed to the NetBSD tree so that the NetBSD Foundation may use the Genesi development board to demonstrate NetBSD embedded support for Cortex A8 at conferences, trade shows, and other appropriate forums.

The plan is to follow the strategy used in my previous NetBSD arm ports for the Danger Sidekick LX 2009 and the TI SDP2430:

1) Add and debug architectural support for the Cortex A8 to the arch/arm tree. This will consist, mainly, of cpu, cache, and page translation specifics where the Cortex family differs from previous ARM architectures. (NOTE: Other members of the NetBSD Foundation are also working on A8 architectural support at this time. I will coordinate with those efforts and cooperate in their development. Some of those developers worked for me on the TI SDP2430 port, which involved adding ARMV6 architectural support to NetBSD)

2) Add and debug SOC support for the i.MX515 to the arch/arm tree.

3) Add and debug board support for the Genesi i.MX515 board to arch/evbarm tree.

Project goal is to develop sufficient driver support so that the Genesi board can be used to "self host" NetBSD: that is be able to access the internet via at least one NIC; download the NetBSD source code through that connection to a disc attached to the board; and compile a complete NetBSD distribution (over several days ;)) under control of a user logged into a console attached to the board.

Specific SoC feature support and device driver support will depend on the SoC features exposed through the development board, but will, at least, include a NIC, if one is supported by the board (note, the Beagle Board, for example, does *not* support a NIC,) a serial console, and a disc interface, either via SATA or USB, depending on which of those is available.

If a NIC is not available then 'self hosting' will rely on an already populated disc drive. If a NIC is available but no suitable disc interface is exposed, then 'self hosting' will rely on an nfs mounted file system.

I will provide myself with the necessary servers for nfs, tftp, dhcp and dns as well as a router and development workstation on his premise.

I will provide myself with an appropriate disc drivers for sata or usb attachment.

I will provide jtag debuggers, provided the development board supports 20 pin arm jtag inteface and the jtag interface is sufficiently well documented.

The project will require at least one Genesi development board and all necessary documentation for the SoC and whatever hardware devices will be supported. Two boards would be better, one for me to keep and one eventually given to the NetBSD Foundation for demonstration purposes.

I will deliver a CD containing the NetBSD sources and binaries necessary to duplicate the feat of "self hosting", along with written documentation of the process.

I will retain copyright to and ownership of the original sources. I will make them available via the NetBSD license to any party.

Disclaimer: I am a member of the NetBSD Foundation. However I propose this project solely as my project. I have not sought approval from the NetBSD Foundation for the project. Upon completion of the project I will commit the source to the NetBSD source tree, and provide the NetBSD Foundation with the second development board for its use, if the Foundation so desires.

Project Blog Entries

No blog entries for this project
Genesi Network: Genesi - Main Site Power2People PowerDeveloper