linux-device-driver - 在 imx8 板的设备树文件中配置 spi slave
问题描述
我正在用 Yocto 为 imx8qmlpddr4arm2 板编写 SPI SLAVE 驱动程序。我在 dts 文件中添加从属条目时遇到问题。特别是,当我测试代码时,我的奴隶一直在等待接收某些东西,即使另一块板发送数据也是如此。
我的代码:
fsl-imx8qm.dtsi:
lpspi0: lpspi@5a000000 {
compatible = "fsl,imx7ulp-spi";
reg = <0x0 0x5a000000 0x0 0x10000>;
interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
interrupt-parent = <&gic>;
clocks = <&clk IMX8QM_SPI0_CLK>,
<&clk IMX8QM_SPI0_IPG_CLK>;
clock-names = "per", "ipg";
power-domains = <&pd_dma_lpspi0>;
status = "disabled";
};
fsl-imx8qm-lpddr4arm2.dts
pinctrl_lpspi0: lpspi0grp {
fsl,pins = <
SC_P_SPI0_SCK_DMA_SPI0_SCK 0x0600004c
SC_P_SPI0_SDO_DMA_SPI0_SDO 0x0600004c
SC_P_SPI0_SDI_DMA_SPI0_SDI 0x0600004c
>;
};
pinctrl_lpspi0_cs: lpspi0cs {
fsl,pins = <
SC_P_SPI0_CS1_DMA_SPI0_CS1 0x21
>;
};
&lpspi0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lpspi0 &pinctrl_lpspi0_cs>;
status = "okay";
spi-slave;
slave {
compatible = "linux,spislave";
};
};
将cs引脚设置为DMA是否正确,还是将其设置为GPIO更好?有什么区别?
还有数字 0x21,我需要改变什么吗?我正在阅读手册,但我无法理解我必须修改的内容。我可以使用 0x0600004c 作为其他信号吗?我在网上没有找到任何可以帮助我的东西。
非常感谢您!
解决方案
推荐阅读
- mysql - 不要选择重复的电子邮件
- php - 如何正确显示这个 php 块
- c - 在图 C 中找到两个顶点之间的路径
- sharepoint - 如何在 SharePoint Online 中安全地集成 WebChat/Directline
- html - 用 svg 矩形的笔划制作一个完美的循环
- python - Tensorflow - 带有 sample_weight 的自定义损失函数
- c++ - 给定特定内存地址的数组的动态内存分配开始
- python - 将数据框与分层索引合并?
- db2 - IBM 中 Db2 的凭证
- javascript - 如何在 Google Apps 脚本中向 CSV 文件添加列(具有静态值)?