请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AM6442 你好
我尝试在 AM6442-SK 上启用 spidev 器件。 我阅读了相关主题
但尚未找到解决方案。
我使用 Yocto 构建 Linux。 现在、我确定已加载驱动程序、 并调用 spidev 模块中的函数 spidev_init。 似乎没有调用探测函数。 但为什么呢?
我还尝试使用"spidev"和"linux,spidev"这两个名称的兼容属性,但没有成功。
我的设置如下:
Devicetree_Overlay :
/dts-v1/;
/plugin/;
#include "dt-bindings/pinctrl/k3.h"
#include "dt-bindings/gpio/gpio.h"
/ {
compatible = "ti,am642-sk", "ti,am642";
fragment@0 {
target = <&main_pmx0>;
__overlay__ {
main_spi1_pins_default: main-spi1-pins-default {
pinctrl-single,pins = <
AM64X_IOPAD(0x0224, PIN_INPUT, 0) /* (C14) SPI1_CLK */
AM64X_IOPAD(0x021C, PIN_OUTPUT, 0) /* (B14) SPI1_CS0 */
AM64X_IOPAD(0x0220, PIN_OUTPUT, 0) /* (D14) SPI1_CS1 */
AM64X_IOPAD(0x0228, PIN_OUTPUT_PULLDOWN, 0) /* (B15) SPI1_D0 */
AM64X_IOPAD(0x022C, PIN_INPUT_PULLDOWN, 0) /* (A15) SPI1_D1 */
>;
};
};
};
fragment@2 {
target = <&main_spi1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_spi1_pins_default>;
ti,spi-num-cs = <2>;
spidev1: spidev@1{
status = "okey";
compatible = "spidev";
reg = <1>; /* CE0 */
#address-cells = <1>;
#size-cells = <0>;
spi-max-frequency = <10000>;
};
};
};
};
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_OMAP24xx=y
CONFIG_SPI_SPIDEV=y