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