Monday, 27 May 2013
Project Overview
The project is to develop a generic I2C driver subsystem for Minix, and
then use it to write drivers for I2C devices on the new BeagleBone Black. The primary programming language will be C, and the code will be
open source under Minix's BSD-style license. These drivers will enable
the BeagleBoard.org community to run Minix on the new BeagleBone with
drivers that allow them to take advantage of more of the hardware
features. The generic I2C driver will setup the I2C registers, take the
I2C module out of reset, initialize the I2C buses, handle interrupts,
initiate transfers, and transmit/receive data. An interface to the
generic I2C driver will be developed in Minix's libsys. The other
drivers will interact with I2C through that interface. The interface
will be the same that NetBSD and OpenBSD provide. The Linux I2C dev interface is similar with only a few more ioctl()s and will likely also be implemented. As a first test to
verify that the basics of that interface are working, I will use
NetBSD's usr.sbin/i2scan program and import it into Minix's base system.
Following that, I will develop a driver for the EEPROM to get
information about the board. After that, I will enhance the framebuffer
driver to support EDID via the TDA19988. If time permits, I would work
on the driver for the power management chip (TPS65217C). The Minix
project is eager to get this code written and tested widely. Small
commits will be submitted for inclusion to mainline Minix throughout the
summer as code becomes production ready rather than waiting until the
end of the summer and having one huge patchset.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment