NXP i.MX8M Nano CPU有三个SPI总线和一个灵活的SPI接口,两个端口可以作为Quad-SPI操作。

ConnectCore 8M纳米系统模块

  • 所有三个SPI端口都可用(与其他功能多路复用),无论是在castellated或LGA焊盘上。

  • 在LGA衬垫上提供Quad-SPI A端口。

ConnectCore 8M纳米开发套件

  • SPI3接口连接SPI CAN控制器(MCP2517FD)。看到控制器局域网(CAN)了解更多信息。

  • 在ConnectCore 8M纳米开发套件的任何连接器上都没有SPI总线。

内核配置

您可以通过内核配置选项管理SPI驱动程序支持:

  • 飞思卡尔i.MX SPI控制器CONFIG_SPI_IMX

默认情况下,该选项作为内置选项启用ConnectCore 8M Nano内核配置文件

内核驱动程序

文件 描述

司机/ spi / spi-imx.c

i.MX SPI驱动程序

设备树绑定和自定义

i.MX8M纳米SPI接口设备树绑定记录在文档/ devicetree /绑定/ spi / fsl-imx-cspi.txt

通用的i.MX8M Nano CPU设备树定义了所有SPI端口。平台设备树必须:

  • 启用所需的SPI端口,通过设置状态属性为“ok”。

  • 选择芯片选择使用属性cs-gpios它们的数量使用属性目前,spi-num-chipselects

  • 配置将用作SPI端口的pad的IOMUX。

  • 添加SPI从设备作为SPI总线节点的子设备。

示例:ConnectCore 8M Nano Development Kit上的SPI3端口(作为主端口)

ConnectCore 8M纳米开发工具包设备树
&ecspi3 {#address-cells = <1>;#size-cells = <0>;Num-cs = <1>;Pinctrl-names = "default";pintrl -0 = <& pintrl_ecspi3 & pintrl_ecspi3_cs >;cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;状态= "ok ";/* SPI从设备来这里*/};&iomuxc {pintrl_ecspi3: ecspi3grp {fsl,pins = < MX8MN_IOMUXC_UART1_RXD_ECSPI3_SCLK 0x82 MX8MN_IOMUXC_UART1_TXD_ECSPI3_MOSI 0x82 >;}; pinctrl_ecspi3_cs: ecspi3cs { fsl,pins = < MX8MN_IOMUXC_UART2_TXD_GPIO5_IO25 0x40000 >; }; };

SPI用户空间使用情况

SPI总线不能从用户空间直接访问。相反,它是通过SPI客户机驱动程序访问的。

样例应用程序

一个示例应用程序apix-spi-example包含在dey-examples-digiapix食谱(一部分)dey-examples的包)meta-digi层。此应用程序是如何将数据写入外部EEPROM (24FC1026)并使用Digi APIx库ConnectCore 8M Nano平台

GitHub查看应用程序说明和源代码。

看到SPI API获取有关SPI APIx的更多信息。

Quad-SPI

4 - spi总线不能用于ConnectCore 8M纳米开发套件开箱即用。Quad-SPI接口线与LVDS和HDMI接口冲突。此外,ConnectCore 8M纳米开发套件不包含任何Quad-SPI从设备。

Digi Embedded Yocto包括一个示例参考设备树叠加使Quad-SPI总线能够与NOR闪存接口。此设备树覆盖禁用ConnectCore 8M纳米开发工具包的所有冲突接口。