Humming Bird A20 SPI2驱动编译
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驱动编译的更多相关文章
- 怎样基于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 ...
- zz-rtl8188eu的linux-usb-wifi调试及驱动编译150210
//zz//####################################################################### zz-rtl8188eu的linux-usb ...
- 【转】6.4.6 将驱动编译进Linux内核进行测试
原文网址:http://www.apkbus.com/android-98520-1-1.html 前面几节都是将Linux驱动编译成模块,然后动态装载进行测试.动态装载驱动模块不会随着Android ...
- hisi3559的usb无线网卡驱动(rtl8192cu)(一条龙服务:内核编译、驱动编译、iw等工具编译)
usb无线网卡驱动(rtl8192cu) 内核编译.驱动编译.iw等工具编译 (哈哈,如果有其他问题,麻烦留言:) 环境 板卡:hi3559av100(arm64) 交叉编译链:aarch64-hi ...
- Raspberry PI 2上的802.11ac网卡驱动编译
Raspberry PI 2上的802.11ac网卡驱动编译 最近在树莓派2上折腾视频,用来做FPV,但是发现2.4G的控会严重干扰2.4G WIFI,在开控的时候我的台式机+外置USB网卡都频频掉线 ...
- xmake新增对WDK驱动编译环境支持
xmake v2.2.1新版本现已支持WDK驱动编译环境,我们可以直接在系统原生cmd终端下,执行xmake进行驱动编译,甚至配合vscode, sublime text, IDEA等编辑器+xmak ...
- ubuntu下简单的驱动编译
转自:http://www.eefocus.com/jefby1990/blog/13-02/291628_c39b8.html 本文是参考了网上多篇帖子而写的算不上什么原创.唯一值得欣慰的只不过在本 ...
- 将驱动编译进Linux内核
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- NodeJS-004-Oracle驱动编译
一.参考文章 https://community.oracle.com/docs/DOC-931127 http://www.cnblogs.com/stone_w/p/4794747.html ht ...
随机推荐
- std::list.pop_back() 弹空了列表导致的崩溃
core文件输出: (gdb) bt # # ) at xxxxx/sql/signal_handler.cc: # <signal handler called> # # # # # 0 ...
- HDU 4946 Area of Mushroom 凸包
链接:pid=4946">http://acm.hdu.edu.cn/showproblem.php?pid=4946 题意:有n个人.在位置(xi,yi),速度是vi,假设对于某个点 ...
- Quartz.net开源作业调度
Quartz.net开源作业调度框架使用详解 前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron- ...
- HDU - 5186 - zhx's submissions (精密塔尔苏斯)
zhx's submissions Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- 定义你自己ViewGroup
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/40264433 好久都没有写文章了,如今利用周末的时间对一些知识进行总结.便于加深理解,今天我 ...
- WinDbg调试.NET
WinDbg调试.NET程序入门 俗话说:万事开头难! 自从来到新公司遇到性能问题后,需要想办法解决这个问题,但是一直没有合适的性能分析工具,然后找到StevenChennet 大神帮忙,他用WinD ...
- SWI-Prolog
上个月突然看到Prolog这门语言,它特殊的语法吸引了我,但是经过我一段时间的学习,发现它也不像网络上传说的那样神奇,不过我依然对它很感兴趣,有前辈说Prolog本身并不强大,但是用来作为一门辅助语言 ...
- cocos2d 简单的日常高仿酷跑游戏
1.第一个直接看看这个游戏看起来视频(GIF我们不能满足游戏展) 跑酷游戏最纠结的是地图.碰撞倒是简单,能够自己写或者使用box2d等物理引擎.跑酷游戏地图的特点就是随机性.可是随机中又有策划特意安排 ...
- HTTPS抓包配置
以Charles为例 配置Charles抓取Https需要手机和PC分别进行配置. 步骤: 1.PC下载charles客户端,并安装. 2.charles客户端安装证书 注意证书安装需要保存在&quo ...
- linux 终端下敲ctrl-c时,到底发生了什么?(转)
通过telnet登录到单板,然后按ctrl-c会发生什么情况,流程是怎么样的? 在分析之前,先介绍tty的相关知识.我们可以认为,所有跟输入输出相关的操作,最终都由tty来接管.举例来说,当我们敲 l ...