앞선 글에서는 I2C의 기본적인 동작 원리에 대해 정리하였다.I2C는 SDA와 SCL 두 개의 신호선을 이용하고, Master가 통신을 시작하여 Slave Address를 전송한 뒤 Read/Write 방향에 따라 데이터를 주고받는다.또한 Pull-up Resistor, START / STOP Condition, ACK / NACK 등의 개념을 살펴보았다.하지만 실제 Embedded Linux 환경에서 I2C Device를 제어할 때는 이러한 I2C Protocol을 Driver에서 직접 구현하지 않는다.Linux Kernel에서는 I2C Subsystem을 제공하고 있으며, I2C Driver는 이 Framework를 통해 I2C Device와 통신한다.이번 글에서는 Hardware Level의 I2C..