This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
products:sbc:common:applications:gpio:i2c [2022/07/12 04:24] nick |
products:sbc:common:applications:gpio:i2c [2023/11/07 04:51] (current) nick [Enable I2C] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | This document mainly | + | This page introduces |
| - | ===== Hardware Connection | + | ===== I2C Information |
| - | < | + | | |
| - | **I2C A** \\ | + | ^ |
| - | '' | + | | ::: | ::: | 23(SDA) |
| - | '' | + | | ::: |
| - | '' | + | | ::: | ::: | 26(SDA) |
| - | '' | + | ^ VIM3/ |
| - | **I2C B** \\ | + | | ::: | ::: | 23(SDA) |
| - | '' | + | | ::: |
| - | '' | + | | ::: | ::: | 26(SDA) |
| - | '' | + | ^ VIM4 |
| - | '' | + | | ::: | ::: | 23(SDA) |
| - | <tabbox VIM3/ | + | | ::: |
| - | **I2C 3** \\ | + | | ::: | ::: | 26(SDA) |
| - | '' | + | ^ VIM1S | I2CM B | 22(SCL) |
| - | '' | + | | ::: | ::: | 23(SDA) |
| - | '' | + | | ::: |
| - | '' | + | | ::: | ::: | 26(SDA) |
| - | **I2C 4** \\ | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| - | <tabbox VIM4> | + | |
| - | **I2CM A** \\ | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| - | **I2CM F** \\ | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| - | '' | + | |
| + | ===== Enable I2C ===== | ||
| - | ^ | + | In order to use the I2C, you need to enable the I2C function via [[products: |
| - | | I2CM A | SCL - PIN25 - GPIOT_20 (#466)\\ SDA - PIN26 - GPIOT_21 (# | + | |
| - | | I2CM F | SCL - PIN22 - GPIOY_17 (#501)\\ SDA - PIN23 - GPIOY_18 (# | + | |
| + | <tabbox VIM1/ | ||
| - | </tabbox> | + | Edit '' |
| - | ===== Enabel I2C ===== | + | Take VIM3 as an example to enable '' |
| - | In order to use the I2C, you need to enable the I2C function via [[products: | + | ```shell |
| + | overlays=uart4 pwm_ao_a pwm_f i2c3 | ||
| + | ``` | ||
| - | <tabbox VIM1/ | + | After reboot, you will see the I2C device node. |
| - | Edit '' | + | ```shell |
| + | $ ls /dev/i2c-3 | ||
| + | / | ||
| + | ``` | ||
| - | Take VIM3 as an example | + | < |
| + | |||
| + | Edit ''/ | ||
| + | |||
| + | |||
| + | e.g. To enable | ||
| ```shell | ```shell | ||
| - | overlays=uart4 pwm_ao_a pwm_f i2c3 | + | 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> | <tabbox VIM4> | ||
| - | Edit ''/ | + | Edit ''/ |
| - | e.g. Enable | + | e.g. To enable |
| ```shell | ```shell | ||
| fdt_overlays=i2cm_a | 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 | ||
| ``` | ``` | ||
| </ | </ | ||
| - | <WRAP tip > | + | ===== I2C Usage ===== |
| - | Reboot to effect. | + | |
| - | </WRAP> | + | Please check the [[https:// |
| ===== Disable I2C to Use GPIO ===== | ===== Disable I2C to Use GPIO ===== | ||
| - | If you want to use normal GPIO instead of I2C, you can remove the I2C node in device tree overlays configration file. | + | If you want to use normal GPIO instead of I2C, you can remove the I2C node in [[products: |