This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM6442:AM6442:Spidev 如何启用

Guru**** 2542880 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1134965/am6442-am6442-spidev-how-to-enable

器件型号:AM6442

你好  

我尝试在 AM6442-SK 上启用 spidev 器件。 我阅读了相关主题

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/947437/faq-ccs-tda4vm-how-to-use-spi-spi_dev-on-tda4-j721e

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1063011/tda4vm-can-t-enable-spidev-on-linux/3944397?tisearch=e2e-sitesearch&keymatch=spidev#3944397

但尚未找到解决方案。

我使用 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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、我还确保应用了覆盖。 我可以在中查看节点的一些属性:

    /sys/firmware/devicetree/base/bus@f4000/SPI@20110000/spidev@1.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    设备树碎片枚举中存在错误。 否正在工作。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jakub、

    [引用 userid="530134" URL"~/support/processors-group/processors/f/processors-forum/1134965/am6442-am6442-spidev-how-to-enable/4212262 #4212262")设备树碎片枚举中有一个错误。 否正在工作。  [/报价]

    您是否意味着问题现已解决?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的