Tests:I2C-fault-injection
!DRAFT!
This document describes how to test the I2C fault injection feature. The Renesas Salvator-X (R-Car M3-W) and Lager (R-Car H2) boards are used.
Contents
Setup
Kernel Version and Configuration
Support for this feature is expected to land upstream in v4.15. It is currently available in a topic branch:
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/topic/i2c-fault-injection
The following kernel options need to be set in addition to the defconfig:
CONFIG_I2C_GPIO=y CONFIG_I2C_GPIO_FAULT_INJECTOR=y
Hardware Environment
Salvator-X/r8a7796 (R-Car M3-W SoC)
On the EXIO_B connector, you need to connect the pins:
57 <-> 73 (for SCL) 54 <-> 74 (for SDA)
This will hook two GPIO to the I2C2 bus. The above branch will update the DTS to enable the GPIO as a bit-banged I2C bus.
Lager/r8a7790 (R-Car H2 SoC)
You need to connect the pins:
EXIO_C 78 <-> EXIO_A 58 (for SCL) EXIO_C 80 <-> EXIO_A 60 (for SDA)
This will connect the I2C1 and the I2C2 bus. We will use the I2C demultiplexer at runtime to switch I2C1 to GPIO:
echo 2 > /sys/devices/platform/i2c-11/current_master
Software Environment
Only a busybox with standard commands like cd, cat, echo is needed.