zoukankan      html  css  js  c++  java
  • 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你应该可以正常使用,,,

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

  • 相关阅读:
    PLSQL设置中文
    新建oracle实例
    eclipse中导入项目后中文成乱码解决办法
    安装oracle
    配置java环境变量
    学习springMVC实例1——配置和跳转到HelloWorld
    突破变态限制快捷方式提权法
    对象的内存布局
    XMl转Map-map调用公共模板
    对象的创建
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4737697.html
Copyright © 2011-2022 走看看