您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > SC7731客户配置文档
SC7731客户配置文档2014-07-09.211/09/1102Addyourtextshere03Addyoutextshere010102Pinmap配置0304AddyourtextshereSC7731软件架构简介Pinmap的设置客户化驱动配置SC7731目录.311/09/11SC7731平台简介SC7731软件介绍SC7731软件架构简介SC7731目录结构CHIPSETNAMEBB/AP/PMUSC7731WCDMA/EDGERFSR3131WIFI/BT/FM/GPSSR2351CUSIM/SIMMCPeMCPSC7731RFSR3131SR2351CSC7731平台简介举例WSC7731平台简介2CPU–1.2GHzCortexA7–256KBL2Cache–NeoncoprocessorsGPU–ARMMali-400dual–33Mtri/s;624Mpix/sDISPC–UptoHDLCD–MCUI/F/MIPICamera–13Mrawsenor–Double2-laneRXPHYMultimedia–H.264/H.263/MPEG41080PCodec30fps–HighPerformanceAudioCodecWCN–IntegratedWIFI802.11b/g/n–IntegratedBT2.1,FM–IntegratedGPSWCDMA–3GPPRel.7UMTSHSPA+–DL21Mbps/UL5.76Mbps–Class12EGPRS,typeBInterface–HSUSB2.0OTG–UART/SPI/I2C–4xSDIO3.0interfacesEDGE–Class12EGPRS,typeBSC7731软件介绍在Native系统上,7731平台AP和Modem物理上是分离的子系统,两边通过SIPC机制进行通讯。系统模块如下device/sprd目录结构PLAT里会提供不同组合方案给Board做为选择。比如SCX35可以支持eMMC和Nand两种方案。在PLATscx35里,会分出emmc和nand两个目录,分别存放相关的配置文件。而eMMC方案的scx35_sp7731gea的BoardConfig里会配置相关的eMMC,而其product的mk文件里会引用包含emmc_device.mk。相应的,Nand方案的product里会引用包含nand_device.mk实例详见下页device/sprd目录结构vendor/sprd目录结构平台实现的AndroidHAL代码和库放在vendor/sprd内,按是否开放源码分成几个独立的git管理。IDH管理方式与shark的管理方式是一致的。.1011/09/11Pinmap的配置规则Pinmap的配置Pinmap的配置实例什么是pinmap什么是pinmap.11Pinmap是系统在启动之后,uboot对芯片pin脚进行初始化的配置信息表。Pinmap里面包括IO的:1.Function功能选择(Function0~3)2.上下拉设置(WPD,WPU,X)3.驱动能力设置(DS0~3)4.sleep时的上下拉设置(WPD,WPU,X)5.sleep时的输入输出设置(Input,Output,Hiz)6.强上拉的设置(WPUS,X)7.AP或CP的sleep控制—AP+CP架构(AP,CP0~CP2)8.其他(PIN_ctrl0~3)什么是pinmapWPU-IO的上拉电阻,一般在70K,会随着电压的降低增大。WPD-IO的下拉电阻,一般在70K,会随着电压的降低增大。WPU和WPD用于普通IO的有上下拉需求的配置。WPUDS-IO的强上拉电阻,一般在4.7K,会随着电压降低增大,用于SIM_IO,I2C,RF_SDA,SDIO,EMMC等协议需要的的方。一般被配置成强上拉的,也会被配置成弱上拉,这个一般没什么影响。自shark平台开始,pinmap的设置统一放在uboot里完成。u-boot/board/spreadtrum/sp7731gea/pinmap-sp8830.c.12Pinmap的配置规则.13需要配置的pin脚强上拉设置功能选择弱上下拉设置Sleep时的上下拉设置驱动能力设置Sleep时的IO输入输出设置其他(PIN_ctrl0~3)AP或CP的sleep控制以u-boot/board/spreadtrum/sp7731ea/pinmap.c为例,以下是pinmap配置规则。TIPs:对于与CP侧有关的配置,我们不建议客户修改Pinmap的配置规则一般情况下Function功能是4种:Function是从0开始,3结束,一般Function3是GPIO功能,Function是绝对不能选错的。Function的IO类型:I–输入,O-输出,Z-三态/高阻一般情况下DriveStrength功能是4种:2/6/12/24mA对应驱动能力0/1/2/3,一般情况下驱动能力(DS)设置为1就可以,3为最强(7715的代码里是定义8个等级的,但我们一般只使用前4个等级)。DSDefault代表默认的驱动能力是2/6mA(根据芯片spec)。.14Pinmap的配置规则.15PU/PD代表系统在Active时(deepsleep以外)IO的上拉和下拉选择,有WPUS,WPU,WPD,X四种选择。Pinmap配置规则.16SlpOE/IE代表系统在配置Deepsleep时,IO输入输出选择,有Input,Output和Hiz三种选择Pinmap的配置规则.17SlpPU/PD代表系统在Deepsleep时,IO的上拉和下拉的选择,有WPU/WPD和X三种选择TIPs:对于NC引脚,一般设为WPD+HizPinmap的配置规则.18CPorAP代表IO随那个AP或者CP进入sleep而转变为sleep状态。这个设置只在AP+CP的架构中有※:×ALL=AP|CP0|CP1|CP0DCP=CP0|CP1Example.19如果引脚作为RFCTL用,Function必须选择正确,有的引脚可能会是多个CP共用,应该特别小心,sleep的应该由cp开控制,多个cp采用,cpx|cpx的格式配置。RFCTL引脚默认是输出0,RFCTL使用时是输出,所以不用上下拉。Sleep的时候,所有的RFCTL引脚是要求低电平的,有两种方法保持sleep的低电平状态,1)x+output.2)WPD+HizRF_SPI可能会漏电到Transceiver,最好设置WPD+HizNC引脚按照WPD+Hiz的配置就可以。RFCTL:以RFCTL10为例:Function选FUNC0,sleep时由CP0开控制使用时不用上下拉,funcup设为:PIN_NULLSleep时为了保持低电平,sleeppullup设为SLP_WPD,且sleepi/o设为:PIN_NULL.2011/09/11DeviceTree简介Sensor客户化配置客户化驱动配置GPIO配置I2C配置LCD配置Keypad配置TP客户化配置首先要将要使用的PIN脚配置成GPIO功能在u-boot/board/spreadtrum/sp7731gea/pinmap.c找到要用的PIN将Function配置FUNC3,FUNC3表示GPIO功能(以CCIRRST为例)。定义GPIO号kernel/arch/arm/boot/dts/sprd-scx35_sp7731*.dtsGPIO配置.22配置GPIO的方向GPIO配置申请GPIO资源配置GPIO方向设置GPIO输出值.23设备树是一种数据结构来描述硬件。而不是硬编码的设备的每一个细节到操作系统,硬件的许多方面可以被传递给操作系统在引导时的数据结构进行说明。设备树被开放固件,和独立的扁平的设备树(FDT)形式使用基本语法与C语言相似,可以参见展讯DeviceTree相关文档参见DeviceTree官方主页简介在文件kernel/arch/arm/boot/dts/sprd-scx35_sp7731*.dts中按照如下步骤配置KeypadKeypad配置步骤1,定义行列数步骤2,定义键值Keypad配置Keycodes参考linux/input.h解析代码在sc_keypad.c中函数sci_keypad_parse_dt(…)在文件kernel/arch/arm/boot/dts/sprd-scx35_sp7731*.dts中按照如下步骤配置Shark芯片四组i2c口,确定设备使用那组i2c并添加配置,例如:I2C配置从设备名称与地址设备名,且要与后面的匹配添加新的i2cShark默认未加i2c4,添加如下:I2C配置添加i2c4到aliases中I2c从设备信息LCD配置(u-boot)1)增加驱动文件u-boot/drivers/video/sprdfb/lcd/lcd_nt35516_mipi.c2)增加编译规则./idh.code/u-boot/drivers/video/sprdfb/lcd/MakefileCOBJS-$(CONFIG_FB_LCD_NT35516_MIPI)+=lcd_nt35516_mipi.o3)配置LCD编译选项及LCD尺寸./idh.code/u-boot/include/configs/sp7731gea.h#ifdefCONFIG_LCD//#defineCONFIG_LCD_HVGA1#defineCONFIG_LCD_QHD1#defineCONFIG_FB_LCD_NT35516_MIPI#endif//CONFIG_LCDLCD配置LCD配置(u-boot)4)关联到内核在./idh.code/u-boot/drivers/video/sprdfb/sprdfb_panel.c文件中externstructpanel_speclcd_panel_nt35516_mipi_spec;staticstructpanel_cfglcd_panel[]={[0]={.lcd_id=0x63,.panel=&lcd_panel_nt35516_mipi_spec,},};LCD配置LCD配置(kernel)1)添加menuconfig配置项./idh.code/kernel/drivers/video/sprdfb/KconfigconfigFB_LCD_NT35516_MIPIbooleansupportNT35516panelmipidependsonFB_SC8825||FB_SCX35||FB_SCX15defaultn2)添加driver./idh.code/kernel/drivers/video/sprdfb/lcd/lcd_nt35516_mipi.c3)添加编译规则在./idh.code/kernel/drivers/video/sprdfb/lcd/Makefile文件中增加obj-$(CONFIG_FB_LCD_NT35516_MIPI)+=lcd_nt35516_mipi.oLCD配置LCD配置(kernel)4)配置kernel默认LCD在./idh.code/kernel/arch/arm/configs/sp7731gea-dt_defconfig中添加CONFIG_FB_LCD_NT35516_MIPI=yLCD配置Camera驱动配置SC7731默认是MIPIrawsensor.配置代码位于vendor/sprd/open-source目录按照如下步骤配置,以配置sensorov8825为例可以通过在两个文件中增加sensor的配置,实现自动匹配sensor。主要修改以下几个地方:将驱动代码文件放到vendor\sprd\open-source\libs\libcamera\sensor目
本文标题:SC7731客户配置文档
链接地址:https://www.777doc.com/doc-5327211 .html