imx6ull spi驱动使能

1、首先修改dts,找到linux/arch/arm/boot/dtsimx6ull-14x14-evk.dts这里使能spi1在野火的dts里添加:

&ecspi1 {
    fsl,spi-num-chipselects = <1>;
    cs-gpios = <&gpio4 26 0>; //"cs-gpios 使用的会变成硬件自动使能,cs-gpios需要手动使能"
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_csi_ecspi1 &pinctrl_csi_ecspi1_cs0>;
    status = "okay";

    spidev0: spi@0 {
        compatible = "spidev";
        reg = <0>;
        spi-max-frequency = <60000000>;
    };
};

2、需要失能csi,因为csi和spi1共用同一种总线。然后pinctrl_csi_ecspi1,pinctrl_csi_ecspi1_cs0放入iomux

        pinctrl_csi_ecspi1: csi_ecspi1_grp {
            fsl,pins = <
                MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK         0x0b0b0        /* P8:28 */
                MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI         0x0b0b0        /* P8:24 */
                MX6UL_PAD_CSI_DATA07__ECSPI1_MISO         0x0b0b0        /* P8:26 */
            >;
        };
        pinctrl_csi_ecspi1_cs0: csi_ecspi1_cs0_grp {
            fsl,pins = <
                MX6UL_PAD_CSI_DATA05__GPIO4_IO26        0x0b0b0        /* P8:30 */
            >;
        };

3、make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-  进行编译新的设备树

4、下面就是驱动的编写,参考原子的代码与内核自带的代码,更改原子的驱动,不需要手动使能CS

脚,一个spi_message里包含两个spi_transfer就可以连续使能CS脚,如下图:

 

 

参考链接:http://bbs.elecfans.com/jishu_1911971_1_1.html

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值