1. i2c设备树插件修改

野火IMX8M MINI提供了很多的设备树插件源码,若想要添加或修改不同的引脚作为i2c总线的引脚, 可参考:

仓库中提供了i2c1,i2c2,i2c3,i2c4的设备树插件, 其中i2c1的设备树插件文件为 imx8mm-fire-i2c2-overlay.dts ,源码如下所示

/arch/arm64/boot/dts/overlays/freescale/overlays/imx8mm-fire-i2c2-overlay.dts
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/dts-v1/;
/plugin/;

#include "../imx8mm-pinfunc.h"
#include "dt-bindings/gpio/gpio.h"
#include "dt-bindings/interrupt-controller/arm-gic.h"

/ {
      fragment@0 {
               target = <&i2c2>;
               __overlay__ {
                        clock-frequency = <100000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        status = "okay";

                        #address-cells = <1>;
                        #size-cells = <0>;

               };
      };

      fragment@1 {
               target= <&iomuxc>;
               __overlay__{
                        pinctrl_i2c2: i2c2grp {
                              fsl,pins = <
                                       MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL                  0x400001c3
                                       MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA                  0x400001c3
                              >;
                        };

               };
      };
};

i2c设备树插件修改相对简单,若想修改其他具有i2c功能的引脚,只需修改设备树插件的第28-29行即可。