allwinner A20 SPI配置

转载于: http://blog.csdn.net/Yao_GUET

A20上带有4个spi接口,由于Humming Bird A20只引出了SPI2,所以这里就以spi2为例,看一下fex文件是怎么设置的。

由于我拿到的linux内核上是已经有spi-sun7i的驱动代码文件,的民民主的所以没有代码的同鞋自己去下载patch包吧。

根据linux-sunxi中spi使用的文档,需要修改kernel的编译配置:

CONFIG_SPI_SUN4I=y
CONFIG_SPI=y
CONFIG_SPI_MASTER=y
CONFIG_EXPERIMENTAL=y
CONFIG_SPI_SPIDEV=y


做完这一步之后,还需要修改fex文件,由于我用的是android的系统,所以,配置文件位置如下:

a20_hummingbird_v3.0_v4/lichee/tools/pack/chips/sun7i/configs/android/wing-k70/sys_config.fex

"spi2_para"的配置:

  1. [spi2_para]  
  2. spi_used            = 1  
  3. spi_cs_bitmap       = 1  
  4. spi_cs0             = port:PB14<2><default><default><default>  
  5. spi_sclk            = port:PB15<2><default><default><default>  
  6. spi_mosi            = port:PB16<2><default><default><default>  
  7. spi_miso            = port:PB17<2><default><default><default>  
其中:

spi_used: =1 表示使用,=0则表示不使用;

spi_cs_bitmap:=1表示片选使用spi2_cs0,=2表示片选使用spi2_cs1,=3表示片选使用spi2_cs0和spi2_cs1;

我这里使用的是PB14-PB17这一组spi2接口,尖括号里面的2代表的是复用功能的选择(SPI)。


spi_devices设备数量设置

  1. [spi_devices]  
  2. spi_dev_num = 1  
spi_dev_num:代表使用的spi的总数量,这里我只用了一个所以写1,这个需要跟后面“spi_board”这个一起使用。例如我这里数量是1,那么我后面就要用到"spi_board0"。num=3,那么后面需要有3个spi的配置“spi_board0”,“spi_board1”,“spi_board2”,每一个对应一个spi接口。

spi_board设置

  1. [spi_board0]  
  2. modalias = "spidev"  
  3. max_speed_hz = 12000000  
  4. bus_num = 2  
  5. mode = 0  
  6. full_duplex = 0  
  7. manual_cs = 0  
modalias:spi设备的名称

max_speed_hz:最大传输速度

bus_num:这个比较的重要,是这个spi_board所对应的spi的总线号,这里我使用的是spi2,所以“bus_num=2”
mode:这个主要是设置同步时间的极性与相位

SPI MODECPOLCPHA采样边缘
000上升沿
101下降沿
210下降沿
311上升沿
full_duplex和manual_cs这两个参数,在我手上的这一份spi-sun7i代码里面是没有读的,应该还没有支持,,,

有兴趣的同鞋也可以自己看一下spi-sun7i的代码,就在/linux/drivers/spi/spi-sun7i.c


编译好内核,再打包生成img文件,烧写启动系统,你会在/dev目录发现spidev2.0这个设备,那说明,spi2应该可以正常使用了,,,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值