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. 开发随笔——NOT IN vs NOT EXISTS

    原文:开发随笔--NOT IN vs NOT EXISTS 原文出处: http://blog.csdn.net/dba_huangzj/article/details/31374037  转载请引用 ...

  2. 一个demo

    package com.entity; /*2015-7-18*/ public class Rover { private CurrentPosition position; public Rove ...

  3. oracle record is locked by another user

    这个问题的根源先说说:午后更改数据库表,保存更改后,却没有提交完整.突然,去什么地方调试,拔掉网线,然后插上网线,这个出现record is locked by another user错误.网上找原 ...

  4. AndroidSlidingUpPanel 使用控制和简单的分析方法

    滑 - 向上的时间可以飞起来控件的显示区域.分类似至play music有效. 该控件在主界面中有一个例如以下图红色箭头所指的底部触发区域: 该区域点击的时候被隐藏在下方的内容将网上漂移到顶部,直到被 ...

  5. Oracle SQL操作计划基线总结(SQL Plan Baseline)

    一.基础概念 Oracle 11g開始,提供了一种新的固定运行计划的方法,即SQL plan baseline,中文名SQL运行计划基线(简称基线),能够觉得是OUTLINE(大纲)或者SQL PRO ...

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

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

  7. BI—脚不一样的感觉

    在这个网络智能的时代,假设生活和智能挂不上边那就太落后啦!尤其IT行业更是如此,前不久还在用微软的office做报表,这几天就吵吵着换成BI,那么BI是什么?有什么用?怎么用?等等带着这一系列的问题来 ...

  8. Unity3D根据游戏的发展Terrain Toolkit地形生产

     今天我们继续给我Unity3D游戏开发系列.今天我们来通过Terrain Toolkit为了使地形. 虽然Unity3D它为我们提供了一个地形渲染工具,我们发现,这个地形绘制工具并不能满足我们的 ...

  9. Cordic 算法的原理介绍

    cordic 算法知道正弦和余弦值,求反正切,即角度. 采用用不断的旋转求出对应的正弦余弦值,是一种近似求解发. 旋转的角度很讲求,每次旋转的角度必须使得 正切值近似等于 1/(2^N).旋转的目的是 ...

  10. 乘法逆元...Orz

    最近打的几场比赛,都出现了有关逆元的题目,今天就整理了一下... 求乘法逆元的几种方法:http://www.cnblogs.com/james47/p/3871782.html 博文转载链接:htt ...