嵌入式爱好者

查看: 31995|回复: 8

[Linux] 请问A40i第二路CAN如何扩展,用spi0或spi2都不好使

[复制链接]
回帖奖励 5 贡献 回复本帖可获得 5 贡献奖励! 每人限 1 次(中奖概率 60%)

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

扫一扫,手机访问本帖
发表于 2021-9-4 13:07:52 | 显示全部楼层 |阅读模式
第一路用的是spi1,将uart2复用为spi1后,用2401的源码编译镜像,但是在扩展第二路can时,用的spi2,怎么改也不好使,我的设备树配置如下

  1. #include "sun8iw11p1.dtsi"

  2. /{

  3.         soc@01c00000 {
  4.         };

  5.         clocks {
  6.                 mcp251x_clock:mcp251x_clock{
  7.                         compatible = "fixed-clock";
  8.                         #clock-cells = <0>;
  9.                         clock-frequency = <8000000>;
  10.                 };


  11.         };
  12.         /*
  13.         wlan:wlan {
  14.                 compatible = "allwinner,sunxi-wlan";
  15.                 clocks = <&clk_outa>;
  16.                 wlan_busnum = <1>;
  17.                 status = "okay";
  18.         };

  19.         bt:bt {
  20.                 compatible = "allwinner,sunxi-bt";
  21.                 status = "okay";
  22.         };

  23.         btlpm:btlpm {
  24.                 compatible = "allwinner,sunxi-btlpm";
  25.                 status = "okay";
  26.         };

  27.         gps:gps {
  28.                 compatible = "allwinner,sunxi-gps";
  29.                 clocks = <&clk_outb>;
  30.                 status = "disabled";
  31.         };
  32.         */
  33. };


  34. /*
  35. &spi0 {
  36.        spi0_cs_number = <1>;
  37.        spi0_cs_bitmap = <1>;

  38.        status = "okay";
  39.        
  40.        flash:m25p80@0{
  41.                 #address-cells=<1>;
  42.                 #size-cells=<1>;
  43.                 compatible = "w25q128","w25q64","w25q256";
  44.                 reg=<0>;
  45.                 spi-max-frequency=<40000000>;
  46.                 mode=<0>;
  47.                 m25p,fast-read;
  48.         };
  49.        
  50.        
  51.         spidev0_cs0:spi2_cs0@0{                //名称不要和其他spi设备冲突
  52.                 #address-cells=<1>;
  53.                 #size-cells=<1>;
  54.                 compatible = "spidev";
  55.                 spi-max-frequency = <33000000>;
  56.                 reg               = <0>;
  57.                 mode=<0>;
  58.         };

  59. };
  60. */

  61. /*
  62. &spi1 {
  63.         status = "okay";

  64.         mcp2515_111:mcp2515_111@0 {
  65.                  #address-cells=<1>;
  66.                  #size-cells=<1>;
  67.                  compatible = "microchip,mcp2515_2";
  68.                  pinctrl-names = "default";
  69.                  reg=<0>;
  70.                  spi-max-frequency = <1000000>;
  71.                  clocks = <&mcp251x_clock>;
  72.                  interrupt-parent = <&pio>;
  73.                  interrupts = <8 0>;
  74.         };
  75. };
  76. */

  77. &spi2 {
  78.       status = "okay";
  79.       /*
  80.       spidev_cs0:spi2_cs0@0{
  81.                  #address-cells=<1>;
  82.                  #size-cells=<1>;
  83.                  compatible = "spidev";
  84.                  spi-max-frequency = <33000000>;
  85.                  reg               = <0>;
  86.                  mode=<0>;
  87.       };

  88.       spidev_cs1:spi2_cs1@1{
  89.                  #address-cells=<1>;
  90.                  #size-cells=<1>;
  91.                  compatible = "spidev";
  92.                  spi-max-frequency = <33000000>;
  93.                  reg               = <1>;
  94.                  mode=<0>;

  95.       };
  96.       */
  97.       mcp2515_222:mcp2515_222@0 {
  98.                  #address-cells=<1>;
  99.                  #size-cells=<1>;
  100.                  compatible = "microchip,mcp2515_2";
  101.                  pinctrl-names = "default";
  102.                  reg=<0>;
  103.                  spi-max-frequency = <5000000>;
  104.                  clocks = <&mcp251x_clock>;
  105.                  interrupt-parent = <&pio>;
  106.                  interrupts = <27 0>;
  107.      };

  108. };
复制代码
还有就是fex引脚配置如下:
  1. [spi1]
  2. spi1_used       = 1
  3. spi1_cs_number  = 1
  4. spi1_cs_bitmap  = 1
  5. spi1_cs0        = port:PI16<2><1><default><default>
  6. ;spi1_cs1        = port:PA4<3><1><default><default>
  7. spi1_sclk       = port:PI17<2><default><default><default>
  8. spi1_mosi       = port:PI18<2><default><default><default>
  9. spi1_miso       = port:PI19<2><default><default><default>

  10. [spi2]
  11. spi2_used       = 1
  12. spi2_cs_number  = 2
  13. spi2_cs_bitmap  = 3
  14. spi2_cs0        = port:PC19<3><1><default><default>
  15. spi2_cs1        = port:PB13<2><1><default><default>
  16. spi2_sclk       = port:PC20<3><default><default><default>
  17. spi2_mosi       = port:PC21<3><default><default><default>
  18. spi2_miso       = port:PC22<3><default><default><default>
复制代码
麻烦大佬帮忙指导,看看问题是出现在哪里,其中中断引脚spi1是PH8,spi2是PI14
回复

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-6 08:48:58 | 显示全部楼层
自己顶一顶,是不是io电平问题,我发现sou0和spi2电平是1.8v的,需要做电平转换,我用电平转换器转换之后不知道行不行,限制画板子呢
点评回复 支持 反对

使用道具 举报

0

主题

1173

帖子

2195

积分

发表于 2021-9-6 09:30:59 | 显示全部楼层

回帖奖励 +5 贡献

这个应该是硬件上需要修改电平,您先硬件上改好测一下吧
点评回复 支持 反对

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-18 16:37:33 | 显示全部楼层
硬件已经改了一版,目前卡在去掉SD无法正常启动中,还未测试到CAN,先把转CAN的软件方法放出来,感谢飞凌技术支持和售后服务

点评

https://download.csdn.net/download/qq_37603131/23529607  详情 回复 发表于 2021-9-18 16:41
点评回复 支持 反对

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-18 16:41:49 | 显示全部楼层
kuangboqi123 发表于 2021-9-18 16:37
硬件已经改了一版,目前卡在去掉SD无法正常启动中,还未测试到CAN,先把转CAN的软件方法放出来,感谢飞凌技 ...

https://download.csdn.net/download/qq_37603131/23529607
点评回复 支持 反对

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-20 00:34:54 | 显示全部楼层
问题已经解决啦,改了硬件电路一开始没设置好。电路除了点问题。驱动如下
  1. /*
  2. * Allwinner Technology CO., Ltd. sun8iw11p1 soc board.
  3. *
  4. */

  5. /dts-v1/;

  6. #include "sun8iw11p1.dtsi"

  7. /{

  8.         soc@01c00000 {
  9.         };

  10.         clocks {
  11.             mcp251x_clock:mcp251x_clock{
  12.                    compatible = "fixed-clock";
  13.                    #clock-cells = <0>;
  14.                    clock-frequency = <8000000>;
  15.             };
  16.         };
  17.         
  18.         wlan:wlan {
  19.                 compatible = "allwinner,sunxi-wlan";
  20.                 clocks = <&clk_outa>;
  21.                 wlan_busnum = <1>;
  22.                 status = "okay";
  23.         };

  24.         bt:bt {
  25.                 compatible = "allwinner,sunxi-bt";
  26.                 status = "okay";
  27.         };

  28.         btlpm:btlpm {
  29.                 compatible = "allwinner,sunxi-btlpm";
  30.                 status = "okay";
  31.         };

  32.         gps:gps {
  33.                 compatible = "allwinner,sunxi-gps";
  34.                 clocks = <&clk_outb>;
  35.                 status = "disabled";
  36.         };
  37. };

  38. &spi1 {
  39.       status = "okay";

  40.       mcp2515_1:mcp2515_1@0 {
  41.                  #address-cells=<1>;
  42.                  #size-cells=<1>;
  43.                  compatible = "microchip,mcp2515_1";
  44.                  pinctrl-names = "default";
  45.                  reg=<0>;
  46.                  spi-max-frequency = <1000000>;
  47.                  clocks = <&mcp251x_clock>;
  48.                  interrupt-parent = <&pio>;
  49.                  interrupts = <24 0>;
  50.      };
  51. };

  52. &spi2 {
  53.       status = "okay";

  54.       mcp2515_2:mcp2515_2@0 {
  55.                  #address-cells=<1>;
  56.                  #size-cells=<1>;
  57.                  compatible = "microchip,mcp2515_2";
  58.                  pinctrl-names = "default";
  59.                  reg=<0>;
  60.                  spi-max-frequency = <1000000>;
  61.                  clocks = <&mcp251x_clock>;
  62.                  interrupt-parent = <&pio>;
  63.                  interrupts = <4 0>;
  64.      };

  65. };


复制代码




点评回复 支持 反对

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-20 00:40:59 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊

图

点评

请问您有没有在android下扩展can?我按飞凌提供的修改办法,安卓下一直没有成功,用命令测试,提示没有can0设备,谢谢。  详情 回复 发表于 2021-9-22 14:19
点评回复 支持 反对

使用道具 举报

0

主题

3

帖子

26

积分

A40i/T3/T507/T527通行证i.MX6UL通行证i.MX RT通行证

发表于 2021-9-22 14:19:34 | 显示全部楼层

回帖奖励 +5 贡献

kuangboqi123 发表于 2021-9-20 00:40
啊啊啊啊啊啊啊啊啊啊啊

请问您有没有在android下扩展can?我按飞凌提供的修改办法,安卓下一直没有成功,用命令测试,提示没有can0设备,谢谢。

点评

我没用过飞凌的Android系统,一直在用Linux系统  详情 回复 发表于 2021-9-24 18:38
点评回复 支持 反对

使用道具 举报

10

主题

38

帖子

86

积分

A40i/T3/T507/T527通行证FCU2401通行证

 楼主| 发表于 2021-9-24 18:38:21 | 显示全部楼层
chenlj1981 发表于 2021-9-22 14:19
请问您有没有在android下扩展can?我按飞凌提供的修改办法,安卓下一直没有成功,用命令测试,提示没有can ...

我没用过飞凌的Android系统,一直在用Linux系统
点评回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-5-17 13:29

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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