The following is a preliminary project timeline for this summer. It lists my goals and milestones for each week of GSoC.
Community Bonding Period (May 27 - June 17) - get to know my mentor(s), interact more with the BeagleBoard community, obtain hardware, setup my development environment, read documentation, read code, do some additional planning / design work, create an audio/video presentation, create a blog, and register the project on BeagleBoard.org.
June 17 - June 23 - Begin coding. The first part of the week will be spent writing the skeleton code for the driver. The SoC has multiple I2C instantiations (3 for the BeagleBone black). The driver must support multiple instances, one for each bus. Once the driver is hooked into the build system and setup to start at boot I'll begin work on the code to set the registers required to take the I2C module out of reset.
June 24 - June 30 - Any work left from the previous week will be completed early in this week. Once the I2C module is out of reset, there is some initialization that needs to be done (setting the mode, interrupt masks, and DMA). The remainder of the week will be spent on the initialization procedure.
July 1 - July 7 - There are 12 I2C interrupts for the BeagleBone Black. This week will be spent developing interrupt handlers.
July 8 - July 14 - This week will be spent developing code to initiate a transfer and send/receive data.
July 15 - July 21 - Additional testing and code clean up will take place during this week. I'll do some final I2C tests and document the I2C API on the Minix wiki.
July 22 - July 28 - During this week I'll work on getting the i2cscan program from NetBSD working as well as refining any rough edges in the I2C code.
July 29 - August 4 - I will develop a simple driver to read the EEPROM on I2C 0 to further test my code (i.e. have it read board name, serial number, and revision information).
August 5 - August 11 - Begin work to enhance the frame buffer driver to query the EDID information and setup the display properties accordingly.
August 12 - August 18 - Continue working on the frame buffer driver.
August 19 - August 25 - Finish up and do more testing of the frame buffer driver.
August 26 - September 1 - Begin work on the TPS65217C driver. Setup the driver skeleton code, hook it into the build system, define the registers, and test reading the CHIPID register.
September 2 - September 8 - Continue through the datasheet developing code to read from the registers.
September 9 - September 15 - Develop code to write to the registers. Begin by developing code to handle the password protected write scheme. Then implement writing for the appropriate registers.
September 16 - September 23 - Create the concluding audio/video presentation. Tie up any loose ends. Document what's been done and what future enhancements could be made.
Included in each week but not explicitly stated over and over again are weekly status reports as well as blog posts with updates about the project and the weekly IRC meetings. I'll be on IRC throughout the project. My nick is tcort on irc.freenode.net