As this is my first report, I'm including links to all of the project resources:
- Project Blog
- Source Code Repository (i2c branch)
- BeagleBoard.org Project Page
- Google Melange Project Page
- Project Overview Video
- Rebased the skeleton code I had developed when writing my GSoC application.
- Extracted the clock configuration code from libgpio and put it into it's own library, libclkconf. Merged.
- Used libclkconf to configure the clocks for i2c. I2C_REV is now readable on all buses on the BeagleBone Black and BeagleBoard-xM.
- Wrote code to configure the pins with libpadconf. Need to finish more of the driver to completely test this.
- Removed duplicate code in libpadconf. Merged.
- Implemented the i2c initialization procedure described in the TRM.
- Began work on a read function. It isn't complete yet, but it can read the magic number and board name from the on board EEPROM on the BeagleBone Black. Screenshot.
- Setup netbooting and figured out how to transfer files with ZMODEM. This will improve my productivity a lot. Documented procedure on the project blog (netboot, serial transfer) and Minix wiki (netboot, serial transfer).
- Received a BeagleBoard-xM from TI. Thanks TI! Tried it out and made a blog post about running Minix on the BeagleBoard-xM. Will use it for developing/testing Minix i2c support for the dm37xx.
- Received a Welcome Package from Google. Thanks Google!
Issues / Concerns / Challenges:
- The files for the stage 1 bootloader and u-boot are downloaded from the Minix website when doing a fresh build of an SD card image. Once this week, the website was down for a few minutes and I couldn't do a build. To prevent this from happening again, I setup a local mirror on my computer.
- Writing 2GB SD card images to the uSD card is time consuming. It takes about 7 minutes with my class 4 card. I'd prefer a much faster write, compile, test cycle. To overcome this issue, I setup a netboot environment and will use zmodem to transfer my changes (usually just 1 file).
Plan for next week:
- Clean up and finish the read function. Get it working on the BeagleBoard-xM as well.
- Implement the write function.
- Put some EEPROMs on a bread board and test reading and writing data on all of the buses to confirm proper pin configuration and test read/write functions.
- As time permits, begin implementing the /dev interface.