明远智睿技术论坛

 找回密码
 立即注册
搜索
查看: 3005|回复: 0
打印 上一主题 下一主题

IMX8M ECSPI的设备节点配置

[复制链接]

56

主题

60

帖子

644

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
644
跳转到指定楼层
楼主
发表于 2020-3-12 11:07:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MY-IMX8M由于管脚复用问题,默认是没有配置SPI节点,如果需要使用SPI,可以在源码设备树中进行相关的配置。


一、MY-IMX8M-EK300原理图:

二、在设备树中进行相关配置(myimx8mq.dts):
1.把复用管脚注释:
               /*pinctrl_spi1_uart3_bt_rts: spi1_uart3_bt_rts_grp {                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B        0x49
                        >;
                };
                pinctrl_spi1_ts_int: spi1_ts_int_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_MOSI_GPIO5_IO7                0x19
                        >;
                };
                pinctrl_spi1_uart3_bt_cts: spi1_uart3_bt_cts_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B                0x49
                        >;
                };
                pinctrl_spi1_bt_cts_gpio: spi1_bt_cts_gpio_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_MISO_GPIO5_IO8                0x19
                        >;
                };
                pinctrl_spi1_dsi_en: spi1_dsi_en_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_SCLK_GPIO5_IO6                0x19
                        >;
                };*/
2.ECSPI管脚配置:
              pinctrl_spi1_ss0_gpio: spi1_ss0_gpio_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9        0x40000
                        >;
                };
                pinctrl_ecspi1_ecspi1: ecspi1_grp {
                        fsl,pins = <
                                MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI                0x82
                                MX8MQ_IOMUXC_ECSPI1_MISO_ECSPI1_MISO                0x82
                                MX8MQ_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK                0x82
                        >;
                };

3.把复用管脚的节点也注释掉:
&i2c3 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c_i2c3>;
        status = "okay";

        /*synaptics_dsx_ts: synaptics_dsx_ts@20 {
                compatible = "synaptics_dsx";
                reg = <0x20>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_spi1_ts_int &pinctrl_gpio_ts_rst>;
                interrupt-parent = <&gpio5>;
                interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
                synaptics,diagonal-rotation;
                status = "disabled";
        };*/
};


/*&uart3 { /* BT *
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart_uart3 &pinctrl_spi1_uart3_bt_rts &pinctrl_spi1_uart3_bt_cts>;
        assigned-clocks = <&clk IMX8MQ_CLK_UART3>;
        assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>;
        fsl,uart-has-rtscts;
        resets = <&modem_reset>;
        status = "okay";
};*/

4.添加SPI节点和设备子节点:
&ecspi1 {
        fsl,spi-num-chipselects = <1>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_spi1_ss0_gpio &pinctrl_ecspi1_ecspi1>;
        cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
        status = "okay";
       
        spidev1: spi@0 {
        compatible = "rohm,dh2228fv";
        reg = <0>;
        spi-max-frequency = <20000000>;  
    };
};


三、重新编译设备树并烧录到开发板中
   烧录完成后可在开发板中看到/dev/spidev0.0

附件:SPI测试源码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明远智睿  

GMT+8, 2024-11-1 16:26 , Processed in 0.078436 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表