我正在尝试升级到更新的内核,所以我从https://github.com/gumstix/yocto-manifest获取了 yocto 构建并构建了它。该图像成功启动了我的设备,因此这是一个很好的第一步。我必须在内核中启用 SPIDEV 驱动程序,这部分工作正常。
我的板基于 gumstix Tobi 板,这就是我的 u-boot 在启动时加载的设备树。但是,我似乎无法让 SPI 工作。我已将以下内容添加到文件 omap3-overo-storm-tobi.dts 文件中:
&omap3_pmx_core {
mcspi1_pins: pinmux_mcspi1_pins {
pinctrl-single,pins = <
OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT | MUX_MODE0) /* mcspi1_cs1.mcspi1_cs1 */
>;
};
};
&mcspi1 {
pinctrl-names = "default";
pinctrl-0 = <&mcspi1_pins>;
spidev@0 {
compatible = "spidev";
spi-max-frequency = <48000000>;
reg = <1>;
spi-cpha;
};
};
重新启动后,这已成功创建 /dev/spidev1.1 设备,但如果我尝试向其发送任何内容,我看不到时钟线或 CS1 线处于活动状态。我觉得我在这里错过了一块,但我不确定该去哪里。任何建议将不胜感激。