linux kernel wiki pages is the definite good placd to understand the overall stack of I2C