Inheriting from Mmio class

Johannes Schlatow schlatow at ...238...
Wed Dec 7 18:26:37 CET 2016


I really like Genode's Register API as it makes accessing memory mapped hardware registers quite clean and simple.

However, I recently encountered the need to access a rather complex I2C slave device. The I2C controller itself is accessible via MMIO. Yet, the slave device itself has a notion of registers. Basically, you first send the register address to the I2C slave and, in a second transaction, you can read/write the register's value.

Being used to the clean appearance of MMIO in Genode, I was wondering whether the access to I2C slave registers could be wrapped in a similar way. My intuition is that it might simply suffice to inherit from the Mmio class and modify the write<>() and read<>() functions but haven't checked the code in detail. Any suggestions/ideas?


More information about the users mailing list