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总线。
内核配置
内核驱动程序
文件 | 描述 |
---|---|
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端口(作为主端口)
&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纳米开发工具包的所有冲突接口。