Minix I2C Drivers for the BeagleBone Black - Report 6

This is Report #6. I plan to post these every Sunday. They will give a rundown of what I’ve done during the week, list any problems I had, and what I plan to do the following week. I’ll be posting the reports both to the beagle-gsoc Google Group and to my blog.

Completed this week:

  • Rebased against mainline Minix
  • EEPROM driver enhancements (merged):
  • 4x speed-up for reads of 128 bytes or more.
  • Support for the 1 byte addressing scheme used in smaller EEPROMs. Previously, just the 2 byte (page + address) scheme, used by the CAT24C256 EEPROM, was supported.- Imported EDID validation, parsing, and printing code from NetBSD and got it compiling on Minix.
  • Committed small EDID man page fixes to NetBSD.
  • Began enhancing the frame buffer driver:
  • Added code to request and retrieve the EDID. Tested on BeagleBoard-xM. (blog post).
  • Began working on code to apply the settings. Works on my monitor (photo) and in Linaro QEMU.
  • Wrote a function to choose a resolution supported by both the SoC and the display.- Made a small fix to the frame buffer demo program to dynamically get the screen resolution from the frame buffer driver.
  • Continued work on the TDA19988 driver. EDID reading is buggy. It only works intermittently, and when it does work, it is only reading the last 32 bytes.

Issues / Concerns / Challenges:

  • None this week :slight_smile:

Plan for next week:

  • Finish the frame buffer driver enhancements.
  • Code clean-up and more testing.
  • Maybe try to recruit some people to help test it with different monitors.
  • Submit changes for merging into mainline Minix.- Debug the TDA19988 driver, clean up the code a bit, and submit to mainline.
  • Begin working on a driver for the power management chip (TPS65217C).