2. spi设备树插件修改

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

仓库中提供了ecspi1、ecspi2、ecspi3、ecspi4的设备树插件, 其中ecspi3的设备树插件文件为 imx-fire-ecspi3-overlay.dts ,源码如下所示

/arch/arm/boot/dts/overlays/ebf/imx-fire-ecspi3-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
36
37
38
39
40
#include "imx6ul-pinfunc.h"
#include "imx6ull-pinfunc-snvs.h"
#include "dt-bindings/interrupt-controller/irq.h"
#include "dt-bindings/gpio/gpio.h"
/dts-v1/;
/plugin/;

/ {
      fragment@0 {
         target = <&ecspi3>;
         __overlay__ {
            fsl,spi-num-chipselects = <1>;
            cs-gpio = <&gpio1 20 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&pinctrl_ecspi3>;
            status = "okay";
            #address-cells = <1>;
            #size-cells = <0>;
            spidev@0 {
               compatible = "spidev";
               spi-max-frequency = <20000000>;
               reg = <0>;
            };
         };
      };

      fragment@1 {
         target = <&iomuxc>;
         __overlay__ {
            pinctrl_ecspi3:ecspi3grp {
               fsl,pins = <
                  MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0                        0x1a090
                  MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK               0x11090
                  MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI                 0x11090
                  MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO                 0x11090
               >;
            };
         };
      };
};

ecspi设备树插件修改也是相对简单,若想修改其他具有ecspi功能的引脚,只需修改设备树插件的第13,32-35行即可。