This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
products:sbc:common:applications:gpio:i2c [2022/06/29 21:51] 127.0.0.1 external edit |
products:sbc:common:applications:gpio:i2c [2023/11/07 04:51] (current) nick [Enable I2C] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== I2C ====== | ====== I2C ====== | ||
+ | ===== Introduction ===== | ||
+ | This page introduces the usage of I2C bus on [[products: | ||
+ | ===== I2C Information ===== | ||
+ | |||
+ | | | ||
+ | ^ VIM1/ | ||
+ | | ::: | ::: | 23(SDA) | ||
+ | | ::: | ||
+ | | ::: | ::: | 26(SDA) | ||
+ | ^ VIM3/ | ||
+ | | ::: | ::: | 23(SDA) | ||
+ | | ::: | ||
+ | | ::: | ::: | 26(SDA) | ||
+ | ^ VIM4 | ||
+ | | ::: | ::: | 23(SDA) | ||
+ | | ::: | ||
+ | | ::: | ::: | 26(SDA) | ||
+ | ^ VIM1S | I2CM B | 22(SCL) | ||
+ | | ::: | ::: | 23(SDA) | ||
+ | | ::: | ||
+ | | ::: | ::: | 26(SDA) | ||
+ | |||
+ | ===== Enable I2C ===== | ||
+ | |||
+ | In order to use the I2C, you need to enable the I2C function via [[products: | ||
+ | |||
+ | <tabbox VIM1/ | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | Take VIM3 as an example to enable '' | ||
+ | |||
+ | ```shell | ||
+ | overlays=uart4 pwm_ao_a pwm_f i2c3 | ||
+ | ``` | ||
+ | |||
+ | After reboot, you will see the I2C device node. | ||
+ | |||
+ | ```shell | ||
+ | $ ls /dev/i2c-3 | ||
+ | /dev/i2c-3 | ||
+ | ``` | ||
+ | |||
+ | <tabbox VIM3 with 5.15 kernel> | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | |||
+ | e.g. To enable '' | ||
+ | |||
+ | ```shell | ||
+ | fdt_overlays=i2c3 | ||
+ | |||
+ | ``` | ||
+ | |||
+ | After reboot, you will see the I2C device node. | ||
+ | |||
+ | <tabbox VIM3L with 5.15 kernel> | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | |||
+ | e.g. To enable '' | ||
+ | |||
+ | ```shell | ||
+ | fdt_overlays=i2c3 | ||
+ | |||
+ | ``` | ||
+ | |||
+ | After reboot, you will see the I2C device node. | ||
+ | |||
+ | <tabbox VIM4> | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | |||
+ | e.g. To enable '' | ||
+ | |||
+ | ```shell | ||
+ | fdt_overlays=i2cm_a | ||
+ | |||
+ | ``` | ||
+ | |||
+ | After reboot, you will see the I2C device node. | ||
+ | |||
+ | ```shell | ||
+ | $ ls /dev/i2c-0 | ||
+ | /dev/i2c-0 | ||
+ | ``` | ||
+ | |||
+ | <tabbox VIM1S> | ||
+ | |||
+ | Edit ''/ | ||
+ | |||
+ | |||
+ | e.g. To enable '' | ||
+ | |||
+ | ```shell | ||
+ | fdt_overlays=i2cm_e | ||
+ | |||
+ | ``` | ||
+ | |||
+ | After reboot, you will see the I2C device node. | ||
+ | |||
+ | ```shell | ||
+ | $ ls /dev/i2c-4 | ||
+ | /dev/i2c-4 | ||
+ | ``` | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== I2C Usage ===== | ||
+ | |||
+ | Please check the [[https:// | ||
+ | |||
+ | |||
+ | ===== Disable I2C to Use GPIO ===== | ||
+ | |||
+ | If you want to use normal GPIO instead of I2C, you can remove the I2C node in [[products: |