Humming Bird A20 SPI2使用编译

Yao.GUET 2014-07-17,请注明出处: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"的配置:

[spi2_para]
spi_used = 1
spi_cs_bitmap = 1
spi_cs0 = port:PB14<2><default><default><default>
spi_sclk = port:PB15<2><default><default><default>
spi_mosi = port:PB16<2><default><default><default>
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设备数量设置

[spi_devices]
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设置

[spi_board0]
modalias = "spidev"
max_speed_hz = 12000000
bus_num = 2
chip_select = 0
mode = 0
full_duplex = 0
manual_cs = 0

modalias:spi设备的名称

max_speed_hz:最大传输速度

bus_num:这个比較的重要。是这个spi_board所相应的spi的总线号,这里我使用的是spi2,所以“bus_num=2”

mode:这个主要是设置同步时间的极性与相位

SPI MODE CPOL CPHA 採样边缘
0 0 0 上升沿
1 0 1 下降沿
2 1 0 下降沿
3 1 1 上升沿

full_duplex和manual_cs这两个參数,在我手上的这一份spi-sun7i代码里面是没有读的。应该还没有支持,,,

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

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

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Humming Bird A20 SPI2驱动编译的更多相关文章

  1. 怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM

    怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM 作者:雨水  2014-05-04 联系方式:dennis.hu.cd at gmail.com ...

  2. zz-rtl8188eu的linux-usb-wifi调试及驱动编译150210

    //zz//####################################################################### zz-rtl8188eu的linux-usb ...

  3. 【转】6.4.6 将驱动编译进Linux内核进行测试

    原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...

  4. hisi3559的usb无线网卡驱动(rtl8192cu)(一条龙服务:内核编译、驱动编译、iw等工具编译)

    usb无线网卡驱动(rtl8192cu) 内核编译.驱动编译.iw等工具编译  (哈哈,如果有其他问题,麻烦留言:) 环境 板卡:hi3559av100(arm64) 交叉编译链:aarch64-hi ...

  5. Raspberry PI 2上的802.11ac网卡驱动编译

    Raspberry PI 2上的802.11ac网卡驱动编译 最近在树莓派2上折腾视频,用来做FPV,但是发现2.4G的控会严重干扰2.4G WIFI,在开控的时候我的台式机+外置USB网卡都频频掉线 ...

  6. xmake新增对WDK驱动编译环境支持

    xmake v2.2.1新版本现已支持WDK驱动编译环境,我们可以直接在系统原生cmd终端下,执行xmake进行驱动编译,甚至配合vscode, sublime text, IDEA等编辑器+xmak ...

  7. ubuntu下简单的驱动编译

    转自:http://www.eefocus.com/jefby1990/blog/13-02/291628_c39b8.html 本文是参考了网上多篇帖子而写的算不上什么原创.唯一值得欣慰的只不过在本 ...

  8. 将驱动编译进Linux内核

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  9. NodeJS-004-Oracle驱动编译

    一.参考文章 https://community.oracle.com/docs/DOC-931127 http://www.cnblogs.com/stone_w/p/4794747.html ht ...

随机推荐

  1. php中国的垃圾问题

    header这条线加,这是解决中国乱码的问题. 版权声明:本文博主原创文章,博客,未经同意不得转载.

  2. 二元最近的共同祖先问题(O(n) time 而且,只有一次遍历,O(1) Space (它不考虑函数调用栈空间))

    问题: 找到两个节点的二叉树的最近的共同祖先. 首先可以参考这个博客http://blog.csdn.net/cxllyg/article/details/7635992 ,写的比較具体,包含了节点包 ...

  3. Android MotionEvent事故响应机制

    于android于.主要活动包括点击.按.拖累.滑动等操作,这些构成了Android事件响应,总体而言,,所有事件由例如以下三部分构成的基础: 按(action_down),搬家(action_mov ...

  4. Windows 怎么知道我已连线到网际网络? 原来当中大有文章!

    原文 Windows 怎么知道我已连线到网际网络? 原来当中大有文章! 标题这个问题好像很简单, 但原来深入研究起来还真的不是”因为我能看到网页嘛”这样简单的答案. 研究这个课题是由于公司内部的防火墙 ...

  5. android做设计的每一个屏幕尺寸和分辨率(一个)

    一个.与分辨率无关 1.使用dp(dpi) Android密度不依赖像素(dp)指定屏幕尺寸,它同意不同的屏幕尺寸和像素密度类似设备通过缩放来达到同样的效果. (不解决不同屏幕尺寸的问题?) 2.的资 ...

  6. JavaScript中五种常见运算符

    一. in运算符 in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象.如果右侧的对象拥有一个名为左操作数值的属性名,那么表达式返回true.例如: var point ...

  7. JQUERY 选择

    jQuery 选择器 jQuery 采用 CSS 一个选择选择 HTML 元素. $("p") 选取 <p> 元素. $("p.intro") 选取 ...

  8. python fabric远程操作和部署

    博客迁往:新地址(点击直达) 新博客使用markdown维护,线下有版本号库,自己写的所以会定时更新同步.同一时候提供更好的导航和阅读体验 csdn对markdown支持不好.所以旧版不会花时间进行同 ...

  9. 华为OJ: 公共字符串计算

    有几个需要注意的地方,这个问题是不是大写和小写之间的区别.这样你就输入字符串大写或小写转换的计算前. 第二个,定要清晰.先将s1从[i]处開始与s2的[j]開始匹配,不相等则j++直到j等于s2.le ...

  10. HTML5使用和实战分析HTML5 WebSocket API

    通过引入一个简单的界面(请参见下面的列表),开发替代技术,由于长轮询和"永远框架,从而进一步减少延迟. 后台代码 [Constructor(in DOMString url, optiona ...