全志A20_IIC设备驱动开发说明_V1.0_20130315
- 格式:pdf
- 大小:1.40 MB
- 文档页数:21
全志板卡常用操作说明全志板卡常用操作说明USB线升级1.准备好一条usb线,一头插到电脑上;2.打开升级软件,选择好固件;3.将板卡里的电源线拔出,按住板卡上的UBOOT按钮,将usb线的另一头插到USB-OTG口(通常是USB0口)上,待升级工具识别到设备插入,方可松开UBOOT按钮;4.此时电脑上如果没有安装过驱动,将会在电脑的右下角提示发现未知usb设备,此时请安装AW_driver驱动(该驱动在升级软件的安装路径的driver目录下),如果电脑上之前安装过,则升级软件会做出反应,提示你是否格式化flash升级,点击是进行升级;5.等待升级完成。
sd卡改屏参1.准备好U盘,将屏参命名为display_param.cfg拷贝到U盘根目录;2.将sd卡插入板卡卡槽;3.拔插板卡电源线重启板卡即可。
U盘改屏参1.准备好U盘,将屏参命名为display_param.cfg拷贝到U盘根目录;2.在板卡开好机的状态下,将U盘插入板卡,系统识别到屏参文件,执行相应程序并自动重启系统;3.待重启后即可看到屏参修改效果。
sd卡升级1.打开PhoenixCard工具,将sd卡插到电脑上,工具自己识别到sd卡插入,在界面上选择好盘符;2.选择好固件;3.点击“恢复卡”,完成后点击“烧录”;4.等待sd卡烧录完成;5.待sd卡制作成功,拔出sd卡,插入板卡卡槽;6.插上板卡电源,指示灯亮,等待2-3分钟,指示灯灭,则升级成功,拔出sd卡,拔插电源线重启即可。
sd卡改屏参1.准备好一张sd卡,将屏参命名为display_param.cfg拷贝到sd 卡根目录;2.将sd卡插入板卡卡槽;3.拔插板卡电源线重启板卡即可。
M3X(A64)板卡 sd卡/U盘改屏参1.插上板卡电源启动系统;2.准备好sd卡或者U盘,将屏参命名为display_param.cfg拷贝到sd卡/U盘根目录;3.将sd卡/U盘插入板卡卡槽,系统识别到屏参文件,执行相应程序并自动重启系统;4.待重启后即可看到屏参修改效果。
.1C on f id en t i al-1-V 1.A20核心板I2C介绍及封装库说明手册C on fid en t i al1.I2C 总线主控有4个I2C (twi )控制器1.1.[twi0_para]配置项配置项含义twi0_used =xx TWI 使用控制:1使用,0不用twi0_scl =xx TWI SCK 的GPIO 配置twi0_sda=xx TWI SDA 的GPIO 配置配置举例:twi0_used =1twi0_scl =port:PH14<2><default><default><default>twi0_sda=port:PH15<2><default><default><default>1.2.[twi1_para]配置举例:[tw1_para]twi1_used =1twi1_scl =port:PH16<2><default><default><default>twi1_sda=port:PH17<2><default><default><default>1.3.[twi [twi22_para]配置项配置项含义twi2_used =xx TWI 使用控制:1使用,0不用twi2_scl =xx TWI SCK 的GPIO 配置twi2_sda=xxTWI SDA 的GPIO 配置配置项配置项含义twi1_used =xx TWI 使用控制:1使用,0不用twi1_scl =xx TWI SCK 的GPIO 配置twi1_sda=xxTWI SDA 的GPIO 配置C on f id en t i al配置举例:[twi2_para]twi2_used =1twi2_scl =port:PH18<2><default><default><default>twi2_sda=port:PH19<2><default><default><default>1.4.[twi [twi33_para]配置项配置项含义twi3_used =xx TWI 使用控制:1使用,0不用twi3_scl =xx TWI SCK 的GPIO 配置twi3_sda=xx TWI SDA 的GPIO 配置配置举例:[twi2_para]twi2_used =1twi2_scl =port:PB05<4><default><default><default>twi2_sda=port:PB06<4><default><default><default>-3-2、开发板I2C 使用介绍A20核心板有四组I2C,I2C0用于PMU;I2C1用于CTP 通信;I2C2用于camera 通信,同时引出排针。
C on f i d e n t i al A20平台init-input 说明文档V 1.02013-06-17C on f i d e n ti a l Revision HistoryVersion Date Changes compared to previous issue V1.02013-06-17Initial versionC o n f i d e n t i al 目录1.前言 (5)1.1编写目的 (5)1.2适用范围 (5)1.3相关人员 (5)1.4文档介绍....................................................................................................-5-2.模块介绍.. (6)2.1模块功能介绍 (6)2.2相关术语介绍 (6)2.3模块源码介绍 (6)2.4模块menuconfig 配置 (6)3.init-input 模块详细讲解 (8)3.1关键数据结构介绍 (8)3.1.1enum input_sensor_type (8)3.1.2struct ctp_config_info (8)3.1.3sensor_config_info (10)3.1.4struct ir_config_info ...........................................................-10-该结构体用于存放IR 模块的相关参数值。
.. (10)3.2script 接口介绍 (10)3.2.1int input_fetch_sysconfig_para (10)3.2.2script_item_u get_para_value (11)3.2.3void get_str_para (11)3.2.4void get_int_para (13)3.2.5void get_pio_para (14)3.3i2c 通信相关接口 (15)3.3.1sw_i2c_write_bytes (15)3.3.2i2c_read_bytes_addr8 (15)3.3.3i2c_read_bytes_addr16 (16)3.4ctp 接口介绍 (16)3.4.1ctp_get_int_port_rate (16)3.4.2ctp_set_int_port_rate (16)3.4.3ctp_get_int_port_deb (17)3.4.5ctp_set_int_port_deb (17)3.4.6ctp_wakeup (17)3.5申请与释放gpio 接口介绍 (18)3.5.1input_init_platform_resource (18)3.5.2input_free_platform_resource (18)4.使用示例 (20)C on f i d e n t i al 4.1使用说明 (20)4.2ctp 使用示例说明 (20)4.3gsensor 设备使用示例说明 (21)5.DeclarationDeclaration (23)C on f i d e n t i al 1.前言1.1编写目的本文首先介绍了init-input 模块的作用以及说明相关的接口,供驱动移植人员快速的使用。
C on f i d e n t i al A20平台USB 以太网开发说明文档V 1.02013-2013-070707--15C on f i d e n t i al 版本历史版本时间备注V1.02013-03-15建立初始版本C on f i d e n t i al 目录1.概述 (5)1.1.编写目的 (5)1.2.适用范围 (5)1.3.相关人员.......................................................................................................52.模块介绍. (6)2.1.模块功能介绍 (6)2.2.源码结构介绍 (6)3.A20打开的内核配置 (7)4.Android 系统支持 (8)5.总结 (9)C on f i d e n t i al 1.概述1.1.编写目的介绍USB 以太网模块使用方法。
1.2.适用范围适用于A20平台.1.3.相关人员USB 以太网模块开发人员。
C on f i d e n t i al 2.模块介绍2.1.模块功能介绍USB 以太网适配器是指通过usb 协议跑以太网网络的适配器,驱动都由厂家提供,但是大部分通用的都已经集成在linux 标准内核之中,我们只需打开内核选项编译并加载模块即可。
.2.2.源码结构介绍USB 以太网适配器驱动代码在linux-3.3\drivers\net\usb 下:这里有大厂商提供的驱动,支持市面上大部分适配器。
否则只能看原厂是否提供驱动,或者能用通用的驱动。
C on f i d e n t i al 3.A20打开的内核配置这些配置可以支持大部分厂商的适配器,如有需要请自行打开选项并在android 启动脚本中加载,如下介绍。
C on f i d e n t i al 4.Android 系统支持在android4.2.1\device\softwinner\方案名称目录下修改init.sun7i.rc 文件,添加如下内容:#insmod networkinsmod /system/vendor/modules/usbnet.koinsmod /system/vendor/modules/asix.koinsmod /system/vendor/modules/qf9700.koinsmod /system/vendor/modules/mcs7830.koinsmod /system/vendor/modules/rtl8150.koinsmod /system/vendor/modules/cdc_ether.ko注意,添加了linux 内核配置之后,请在这里加载需要的驱动。
C on f i d e n t i al A20DMA 开发说明V1.02013-03-15C on f i d e n t ia l Revision HistoryVersionDate Changes compared to previous issue v1.02013-03-15初建版本C o n f i d e n t i al 目录1.概述-------------------------------------------------------------------------------------------------------51.1.编写目的----------------------------------------------------------------------------------------51.2.适用范围----------------------------------------------------------------------------------------51.3.相关人员----------------------------------------------------------------------------------------52.模块介绍-------------------------------------------------------------------------------------------------62.1.模块功能介绍----------------------------------------------------------------------------------62.2.相关术语介绍----------------------------------------------------------------------------------62.2.1.DMA--------------------------------------------------------------------------------------62.2.2.描述符(des)-----------------------------------------------------------------------------62.2.3.散列传输--------------------------------------------------------------------------------62.3.模块配置介绍----------------------------------------------------------------------------------62.4.源码结构介绍----------------------------------------------------------------------------------63.模块体系结构描述------------------------------------------------------------------------------------73.1.DMA 驱动架构图------------------------------------------------------------------------------73.2.DMA 软件状态---------------------------------------------------------------------------------74.模块数据结构描述------------------------------------------------------------------------------------94.1.dma_channel_t-----------------------------------------------------------------------------------94.2.cofig_des_t---------------------------------------------------------------------------------------94.3.des_item-----------------------------------------------------------------------------------------104.4.chan_state_e------------------------------------------------------------------------------------104.5.dma_cb_t----------------------------------------------------------------------------------------104.6.dma_op_type_e--------------------------------------------------------------------------------105.模块接口描述-----------------------------------------------------------------------------------------125.1.sw_dma_request-------------------------------------------------------------------------------125.2.sw_dma_release--------------------------------------------------------------------------------125.3.sw_dma_ctl-------------------------------------------------------------------------------------125.4.sw_dma_config--------------------------------------------------------------------------------135.5.sw_dma_enqueue------------------------------------------------------------------------------135.6.sw_dma_getposition---------------------------------------------------------------------------145.7.sw_dma_dump_chan--------------------------------------------------------------------------146.模块开发DEMO-------------------------------------------------------------------------------------156.1.DMA 使用流程图-----------------------------------------------------------------------------156.2.demo 程序--------------------------------------------------------------------------------------156.2.1.test_case_normal.c--------------------------------------------------------------------156.2.2.test_case_normal.h--------------------------------------------------------------------236.2.3.sun7i_dma_test.h----------------------------------------------------------------------246.2.4.sun7i_dma_test.c----------------------------------------------------------------------257.Android 系统支持-------------------------------------------------------------------------------------318.模块调试-----------------------------------------------------------------------------------------------328.1.menuconfig 的配置---------------------------------------------------------------------------32C on f i d e n t i al 8.2.测试用例选择---------------------------------------------------------------------------------328.3.测试操作步骤---------------------------------------------------------------------------------339.总结-----------------------------------------------------------------------------------------------------3410.Declaration--------------------------------------------------------------------------------------------35C on f i d e n t i al 1.概述1.1.编写目的介绍DMA 模块使用方法。
C on f i d e n t i al A20平台android4.2wifi+b wifi+btt 配置说明V0.22013-07-16C on f i d e n t ia l Revision HistoryVersionDate Section/Page Changes compared to previous issue V0.12013-05-28PD1initial version for sdk v1.3V0.22013-07-16PD1Add rtl8723as/auC o n f i d e n t i al 目录1概述.........................................................................................................................................................12rtl8188eu/rtl8188etv.. (2)2.1.config (2)2.2BoardConfig.mk (2)2.3init.sun7i.rc (3)2.4sys_config.fex (3)2.5rtl8188eu 模组相关文件 (4)2.5.1linux (4)2.5.2android (4)3rtl8189es (5)3.1.config (5)3.2BoardConfig.mk (5)3.3init.sun7i.rc (6)3.4sys_config.fex (6)3.5rtl8189es 模组移植相关文件 (7)3.5.1linux (7)3.5.2android (7)4rtl8192cu (9)4.1.config (9)4.2BoardConfig.mk (9)4.3init.sun7i.rc (10)4.4sys_config.fex (10)4.5rtl8192cu 模组移植相关文件 (11)4.5.1linux (11)4.5.2android (11)5rtl8723au (13)5.1.config (13)5.2BoardConfig.mk (13)5.3init.sun7i.rc (14)5.4wing_evb_v10.mk (15)5.5ueventd.sun7i.rc (16)5.6config.xml (16)5.7vnd_<product>.txt (17)5.8bdroid_buildcfg.h (17)5.9sys_config.fex (18)5.10rtl8723au 模组移植相关文件 (18)5.10.1linux (18)5.10.2android...........................................................................................................................196rtl8723as (19)C o n f i d e n t i al 6.1.config........................................................................................................................................196.2BoardConfig.mk........................................................................................................................196.3init.sun7i.rc................................................................................................................................216.4wing_evb_v10.mk......................................................................................................................226.5ueventd.sun7i.rc.........................................................................................................................236.6config.xml..................................................................................................................................236.7vnd_<product>.txt.....................................................................................................................236.8bdroid_buildcfg.h.......................................................................................................................246.9sys_config.fex............................................................................................................................246.10rtl8723as 模组移植相关文件....................................................................................................256.10.1linux...............................................................................................................................256.10.2android (257)ap6181...................................................................................................................................................267.1.config........................................................................................................................................267.2BoardConfig.mk........................................................................................................................267.3init.sun7i.rc................................................................................................................................277.4wing_evb_v10.mk......................................................................................................................287.5sys_config.fex............................................................................................................................287.6ap6181模组移植相关文件.......................................................................................................297.6.1linux...............................................................................................................................298ap6210...................................................................................................................................................308.1.config........................................................................................................................................308.2BoardConfig.mk........................................................................................................................308.3init.sun7i.rc................................................................................................................................318.4wing_evb_v10.mk......................................................................................................................338.5config.xml..................................................................................................................................338.6vnd_<product>.txt.....................................................................................................................348.7bdroid_buildcfg.h.......................................................................................................................348.8sys_config.fex............................................................................................................................358.9ap6210模组移植相关文件.......................................................................................................368.9.1linux...............................................................................................................................369ap6330 (38)9.1.config (38)9.2BoardConfig.mk (38)9.3init.sun7i.rc (39)9.4wing_evb_v10.mk (41)9.5config.xml (41)9.6vnd_<product>.txt (42)9.7bdroid_buildcfg.h (42)9.8sys_config.fex (43)9.9ap6330模组移植相关文件 (44)9.9.1linux (44)C on f i d e n t i al 10bcm40181......................................................................................................................................4510.1.config........................................................................................................................................4510.2BoardConfig.mk........................................................................................................................4510.3init.sun7i.rc................................................................................................................................4610.4wing_evb_v10.mk......................................................................................................................4710.5sys_config.fex............................................................................................................................4710.6bcm40181模组移植相关文件..................................................................................................4810.6.1linux...............................................................................................................................4811bcm40183..............................................................................................................................................4911.1.config........................................................................................................................................4911.2BoardConfig.mk........................................................................................................................4911.3init.sun7i.rc................................................................................................................................5011.4wing_evb_v10.mk......................................................................................................................5211.5config.xml..................................................................................................................................5211.6vnd_<product>.txt.....................................................................................................................5311.7bdroid_buildcfg.h.......................................................................................................................5311.8sys_config.fex............................................................................................................................5411.9bcm40183模组移植相关文件..................................................................................................5511.9.1linux...............................................................................................................................5512F&Q...............................................................................................................................................5612.1如何编译...................................................................................................................................5612.2编译报错...................................................................................................................................5612.3修改不生效...............................................................................................................................57Declaration.. (58)Confidenti al 1概述目前A20android4.2平台上支持10款wifi 或wifi+bt 模组,详细信息请参考《A20android4.2平台wifi-bt 模组支持状况列表》,本文档将以A20EVB 板平台为例一一说明如何配置每款wifi 或wifi+bt模组。
C o n f i d e n t i al A2A200平台I2I2C C 设备调试使用文档V 1.02013-06-17C on f i d e n t ia l Revision HistoryVersionDate Changes compared to previous issue V1.02013-06-17Initial versionC on f i d e n t i al 目录1.前言 (4)1.1.编写目的 (4)1.2.适用范围 (4)1.3.相关人员 (4)1.4.文档介绍 (4)2.模块介绍 (5)2.1模块功能介绍 (5)2.2模块源码位置 (5)2.2模块配置介绍 (5)3.使用方法 (7)3.1写I2C 数据 (8)3.2读I2C 数据 (9)3.3打印sysconfig.fex 中某主键下的子健信息 (10)3.4查看input 设备结构体信息 (11)3.5ctp 中断引脚的操作 (12)3.5.1设置中断时钟源以及分频比 (12)4.Declaration (13)C on f i d e n t i al 1.前言1.1.编写目的模块主要针对i2c 设备的相关调试,获取或者设置设备的相关信息,快速的获取设备的相关信息,加快定位问题的时间。
(由于文档不断补充,代码也不断更新,有些地方可能和实际代码中有细微差别,请注意)1.2.适用范围适用于A20对应平台。
1.3.相关人员项目中i2c 设备驱动的开发,维护以及使用人员应认真阅读该文档。
1.4.文档介绍本文主要针对模块进行相关的介绍,对其中的使用方法做详细的介绍。
C on f i d e n t i al 2.模块介绍2.1模块功能介绍模块的基本功能:(1)对I2C 设备写入数据(2)读取I2C 设备数据(3)根据sysconfig.fex 的主键值,打印主键值下的各子健值信息(4)打印input 设备(ctp ,sensors ,IR )的xxx_config_info 的关键信息(5)设置ctp 的中断引脚的时钟源与分频比(6)获取ctp 的中断引脚以及时钟源与分频比信息。
IIC设备驱动程序IIC设备是一种通过IIC总线连接的设备,由于其简单性,被广泛引用于电子系统中。
在现代电子系统中,有很多的IIC设备需要进行相互之间通信IIC总线是由PHILIPS公司开发的两线式串行总线,用于连接微处理器和外部IIC设备。
IIC设备产生于20世纪80年代,最初专用与音频和视频设备,现在在各种电子设备中都广泛应用IIC总线有两条总线线路,一条是串行数据线(SDA),一条是串行时钟线(SCL)。
SDA负责数据传输,SCL负责数据传输的时钟同步。
IIC设备通过这两条总线连接到处理器的IIC总线控制器上。
一种典型的设备连接如图:与其他总线相比,IIC总线有很多重要的特点。
在选择一种设备来完成特定功能时,这些特点是选择IIC设备的重要依据。
主要特点:1,每一个连接到总线的设备都可以通过唯一的设备地址单独访问2,串行的8位双向数据传输,位速率在标准模式下可达到100kb/s;快速模式下可以达到400kb/s;告诉模式下可以达到3.4Mb/s3,总线长度最长7.6m左右4,片上滤波器可以增加抗干扰能力,保证数据的完成传输5,连接到一条IIC总线上的设备数量只受到最大电容400pF的限制6,它是一个多主机系统,在一条总线上可以同时有多个主机存在,通过冲突检测方式和延时等待防止数据不被破坏。
同一时间只能有一个主机占用总线IIC总线在传输数据的过程中有3种类型的信号:开始信号、结束信号、和应答信号>>开始信号(S): 当SCL为高电平时,SDA由高电平向低电平跳变,表示将要开始传输数据>>结束信号(P):当SCL为高电平时,SDA由低电平向高电平跳变,表示结束传输数据>>响应信号(ACK): 从机接收到8位数据后,在第9个周期,拉低SDA电平,表示已经收到数据。
这个信号称为应答信号开始信号和结束信号的波形如下图:主机:IIC总线中发送命令的设备,对于ARM处理器来说,主机就是IIC控制器从机:接受命令的设备主机向从机发送数据:主机通过数据线SDA向从机发送数据。
1C on f i d e n t i a lV 1.A20核心板按键配置手册C o n f i d en t i a l 1.模块配置1.1.自定义按键配置1.1.1.KEY 的硬件原理目前KEY 检测使用了ADC 转换的原理实现的,由于该原理的限制,所以不能区分组合键(功能键,不包括电源键);按照目前公版原理图,0.2V 的电压变化可以区分一档,所以最多可以实现10个键,硬件原理如下;1.1.2.驱动与硬件对应的关系Key 的驱动实现文件位置:lichee/linux-3.3/drivers/input/keyboard/sw-keyboard.c;实现原理:通过检测电压值的数字量来区分当前是第几个按键://0.2V modestatic unsigned char keypad_mapindex[64]={0,0,0,0,0,0,0,0,//key 1,8个,0-71,1,1,1,1,1,1,//key 2,7个,8-142,2,2,2,2,2,2,//key 3,7个,15-213,3,3,3,3,3,//key 4,6个,22-274,4,4,4,4,4,//key 5,6个,28-335,5,5,5,5,5,//key 6,6个,34-396,6,6,6,6,6,6,6,6,6,//key 7,10个,40-497,7,7,7,7,7,7,7,7,7,7,7,7,7//key 8,17个,50-63};按键对应的键值:static unsigned int sw_scankeycodes[KEY_MAX_CNT]={C o n f i d e nscancode =keypad_mapindex[key_val&0x3f];input_report_key(swkbd_dev,sw_scankeycodes[scancode],1);input_sync(swkbd_dev);1.1.3.Android 按键功能的映射映射文件为android/device/softwinner/wing-wing-xxx xxx /sw-keyboard.kl ,举例如下:key 102HOME WAKE key 1BACK WAKE key 139MENU WAKE_DROPPED key 115VOLUME_UP key 114VOLUME_DOWN key 后面的数字为驱动中上报的键值,后面为对应的功能,自定义按键时仅需要将前面的映射值和后面的功能对应起来即可;(WAKE_DROPPED :唤醒屏幕,但是这个按键不会发给当前应用程序,WAKE :唤醒屏幕,但是这个按键需要发送给应用程序,后面不加的代表没有唤醒功能)。
.1C on f i d e n t i a l V 1.A20核心板软件默认设备配置手册1、Camera默认配置A20开发板上的camera是使用gc2035单摄像头配置,200W像素,摄像头通信使用的是I2C-2。
当不使用摄像头时此I2C可给予其他I2C外接设备作为通信使用。
2、LCD默认配置开发板软件配置的LCD屏是RGB屏,分辨率是800*480。
3、TP默认配置开发板上使用的触摸屏为电容触摸屏,软件配置的CTP型号为gsl1680,没有使用自动适配。
CTP使用的是I2C-1作为通信接口,若不使用触摸屏此组I2C 可作为其他I2C设备的通信接口。
4、wifi-bt默认配置开发板上使用的wifi-bt模块为AP6210,软件默认的配置为AP6210,AP6210具有wifi和bt功能。
同时,留有rtl8188模块的接口(此模组为单wifi模组)。
AP6210的bt通信占用了UART2接口,wifi通信占用了SDIO3接口。
若使用rtl8188,则占用USB2端口通信。
当不使用这些模组时,通信端口都可以用作其他设备使用。
5、2G默认配置开发板软件默认2G配置为em55,此模块通信占用了UART3串口,若需要2G功能此串口也可以作为其他串口设备使用。
5、KEY默认配置开发板上有五个按键,分别为UBOOT、VOL+、VOL-、RESET、POWER,按键UBOOT用于升级,按住UBOOT按键,插入USB线就可以进入升级模式;VOL+、VOL-按键为音量加减键;RESET为重启按键;POWER按键,短按时为休眠、唤醒功能,长按为开机、关机功能。
6、IR默认配置红外功能(IR)在软件中已经默认配置了,需要结合红外遥控器进行键值映射来匹配遥控器,否则可能出现个别按键使用不了。