Linux下的cmt2300a驱动

项目中使用到了cmt2300a,但供应商只有运行在stm32平台的示例代码,那只能自己移植了,供大家参考。

dts配置

    cmt2300a {
        compatible = "cmostek,cmt2300a";
        en-gpios = <&ap_gpio 73 GPIO_ACTIVE_HIGH>;
        clk-gpios = <&ap_gpio 134 GPIO_ACTIVE_HIGH>;
        sdio-gpios = <&ap_gpio 136 GPIO_ACTIVE_HIGH>;
        csb-gpios = <&ap_gpio 139 GPIO_ACTIVE_HIGH>;
        fcsb-gpios = <&ap_gpio 138 GPIO_ACTIVE_HIGH>;
        gpio1-gpios = <&ap_gpio 137 GPIO_ACTIVE_HIGH>;
        gpio2-gpios = <&ap_gpio 40 GPIO_ACTIVE_HIGH>;
    };

非标准的spi的接口,使用gpio来模拟spi

en-gpios芯片使能脚

gpio1-gpios代表发送完成(cmt2300a触发INT1/拉高)

gpio2-gpios代表接收完成(cmt2300a触发INT2/拉高)

当然可以也可以配置,默认为

    CMT2300A_ConfigGpio(
        CMT2300A_GPIO1_SEL_INT1 | /* INT1 > GPIO1 */
        CMT2300A_GPIO2_SEL_INT2 | /* INT2 > GPIO2 */
        CMT2300A_GPIO3_SEL_DOUT
    );

如配置

    CMT2300A_ConfigGpio(
        CMT2300A_GPIO2_SEL_INT1 | /* INT1 > GPIO2 */
        CMT2300A_GPIO1_SEL_INT2 | /* INT2 > GPIO1 */
        CMT2300A_GPIO3_SEL_DOUT
    );

emt2300收发异步,只能处于一个状态

代码路径https://github.com/wew888/cmt2300a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值