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:
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).