展讯7731平台驱动调试总结-驱动配置部分

转载至:http://blog.csdn.net/bmw7bmw7/article/details/46126223

展讯7731平台驱动调试总结-驱动配置部分

1. 关键配置文件路径

1). 项目板级配置:idh.code/device/sprd/scx35_sp7731geaplus_pad_qhd/文件夹内各文件

⑴.BoardConfig.mk---板级宏配置文件。包括设置该板(项目)所使用的uboot/kerenl全局配置宏文件,摄像头接口类型、分辨率等参数,所使用的重力加速度、光线传感器,内部存储空间大小分配等。

⑵. init.board.rc---板级自定义启动服务文件(TP,传感器等设备的启动指令放置在此文件中)

⑶.system.prop---板级系统属性文件(当所使用的LCD是屏幕旋转90°或180°显示时,请配置ro.sf.hwrotation这个值,使得系统端的输出图像就已经对应正确。请尽量不要使用修改LCD IC的寄存器的方式来调转图像显示方向,因为这样极易引出切屏的问题)。

⑷.xxx.idc---tp触摸屏属性文件。当新增一个触摸驱动时,需在此处添加对应文件名的idc文件,否则会出现进入系统后界面出现小圆圈,触摸功能异常的问题。

2). Kernel模块:  kernel/arch/arm/configs/sp7731geaplus_pad_qhd-dt_defconfig(该文件由BoardConfig.mk 里的KERNEL_DEFCONFIG确定)

3). Uboot模块:idh.code/u-boot/include/configs/sp7731geaplus_pad_qhd.h(该文件由BoardConfig.mk 里的UBOOT_DEFCONFIG确定)

注意:不同项目使用不同的配置文件,用户也可以新建不同的项目工程文件以便在一套代码中支持不同的项目。

2.       FLASH配置(包括配置项目的内存RAM大小,内部存储空间大小)

RAM配置如下:

1).chipram模块: idh.code\chipram\include\configs\Sp7731geaplus_pad_qhd.h

DDR_TYPE定义所使用的DDR芯片信息

2). uboot模块:idh.code\u-boot\include\configs\Sp7731geaplus_pad_qhd.h

定义项目所使用的内存RAM大小CONFIG_RAM512M/ CONFIG_RAM1G/ CONFIG_RAM256M

3). Kernel模块:idh.code/kernel/arch/arm/boot/dts/sprd-scx35_sp7731geaplus_pad_qhd.dts

memory {

device_type = "memory";

reg = <0x80000000 0x20000000>;

};

0x20000000即为512M。

ROM配置如下:idh.code/device/sprd/scx35_sp7731geaplus_pad_qhd/ BoardConfig.mk

BOARD_SYSTEMIMAGE_PARTITION_SIZE:分配给system.img文件的空间大小

BOARD_USERDATAIMAGE_PARTITION_SIZE:分配给手机(平板)的内部存储空间大小

3.      LCD

1). Kernel模块:kernel\arch\arm\configs\ sp7731geaplus_pad_qhd-dt_defconfig中配置LCD新屏

kernel/drivers/video/sprdfb/lcd目录下添加本项目LCD驱动

kernel/drivers/video/backlight目录下修改系统LCD背光配置(若与系统默认配置不同时);

2). uboot模块:u-boot\include\configs\ sp7731geaplus_pad_qhd.h定义新增的LCD屏及其分辨率

u-boot/drivers/video/sprdfb/lcd目录下添加本项目LCD驱动

u-boot/drivers/video/sprdfb/ sprdfb_panel.c增加新增LCD的函数结构体及ID;

u-boot/drivers/video/sprdfb/ sprdfb_mainc修改新项目的背光配置(若与系统默认配置不同时);

2.      CTP触摸屏

(1)       kernel\arch\arm\configs\ sp7731geaplus_pad_qhd-dt_defconfig中配置新TP

(2)kernel/drivers/input/touchscreen内添加TP驱动;

提示:在展讯8825C等android 4.03版本上的CTP驱动可以不修改或简单修改即可在android 4.4上直接使用。

(3)       device/sprd/ scx35_sp7731geaplus_pad_qhd /内添加对应的xxx.idc文件,并在scx35_sp7731geaplus_pad_qhd_dt.mk文件中调用该xxx.idc文件(若不添加或添加错误,有可能会造成开机后系统界面上出现一个类似于鼠标似的可以移动的小圆圈)。

(4)       device/sprd/ scx35_sp7731geaplus_pad_qhd /init.board.rc中加入新TP的启动指令。

(5)       idh.code/kernel/arch/arm/boot/dts/sprd-scx35_sp7731geaplus_pad_qhd.dts中配置新的TP设备名及其I2C地址,复位及中断脚号等参数。

注意:在驱动中需要增加专门的解析函数,对设备树sprd-scx35_sp7731geaplus_pad_qhd.dts中的内容进行解析。

补充:从7731平台开始,展讯统一使用设备树来对设备进行配置。设备树是一种数据结构,用以描述设备硬件参数。

3.      Camera

(1)    根据摄像头模组厂打样时的摄像头摆放方向,配置好device\sprd\scx35\BoardConfigCommon.mk文件内的前/后摄像头方向。

若模组厂打样时摄像头拍照方向为横屏,则TARGET_BOARD_BACK_CAMERA_ROTATION及TARGET_BOARD_FRONT_CAMERA_ROTATION设置为false,否则设置为true。

(2)idh.code/device/sprd/scx35_sp7731geaplus_pad_qhd/BoardConfig.mk文件中CAMERA_SUPPORT_SIZE配置摄像头的分辨率(可比实际值大,可插值)、摄像头通讯接口等

(3)    根据电路原理图,在kernel/arch/arm/boot/dts/sprd-scx35_sp7731geaplus_pad_qhd.dts文件中sprd_sensor处配置好前后摄像头的pwdn、reset脚。

 

(4)       vendor/sprd/open-source/libs/libcamera/sensor内添加具体的摄像头驱动。

(5) vendor/sprd/open-source/libs/libcamera/sc8830/src/sensor_cfg.c内设置前后摄像头

调试摄像头时,要尤其注意VDDCAMA(2.8V)、VDDCAMIO(1.8V)、VDDCAMMOT(3.0V)这三个LDO的输出电压大小区别。客户的模组厂在打样时经常会忽视VDDCAMA、VDDCAMIO这两个LDO的供电电压输出区别,从而造成摄像头点不亮。因此在调试时,如果出现摄像头点不亮,可以尝试跳线短接VDDCAMA(2.8V)、VDDCAMIO(1.8V),确认是否是这个问题。

项目中如果有前后摄像头,在调试时如果点不亮,也可以尝试对调前后摄像头的pwdn设置脚。在实际调试中也时常出现模组厂将这连个引脚对调的问题。

4.      Sensor传感器

(1)kernel\arch\arm\configs\ sp7731geaplus_pad_qhd-dt_defconfig中添加新传感器全局配置

(2)Kernel层:kernel/drivers/input/misc/  内添加Sensor传感器底层驱动程序

(3)HAL层:vendor/sprd/open-source/libs/libsensors/ 添加hal层代码

(4)device/sprd/scx35_sp7731geaplus_pad_qhd/BoardConfig.mk文件中设置所使用的sensor传感器(用于HAL层编译控制)

(5)device/sprd/scx15_sp7715ga/init.board.rc中加入新sensor的启动指令。

(6)kernel/arch/arm/boot/dts/sprd-scx35_sp7731geaplus_pad_qhd.dts中配置新的sensor设备名及其I2C地址,中断gpio口配置。

注意:在驱动中需要增加专门的解析函数,对设备树sprd-scx35_sp7731geaplus_pad_qhd.dts中的内容进行解析。

5.      其他配置

1). Gpio pin 配置: u-boot\board\spreadtrum\sp7731geaplus_pad_qhd\Pinmap-sp8830.c

2). Keypad按键配置:kernel/arch/arm/boot/dts/sprd-scx35_sp7731geaplus_pad_qhd.dts中的[email protected]。

时间: 2024-10-12 07:19:51

展讯7731平台驱动调试总结-驱动配置部分的相关文章

展讯7731平台驱动调试总结(2)---- 驱动配置部分

1. 关键配置文件路径 1). 项目板级配置:idh.code/device/sprd/scx35_sp7731geaplus_pad_qhd/文件夹内各文件 ⑴.BoardConfig.mk---板级宏配置文件.包括设置该板(项目)所使用的uboot/kerenl全局配置宏文件,摄像头接口类型.分辨率等参数,所使用的重力加速度.光线传感器,内部存储空间大小分配等. ⑵. init.board.rc---板级自定义启动服务文件(TP,传感器等设备的启动指令放置在此文件中) ⑶.system.pr

展讯sc7731 LCD驱动简明笔记之二

此篇笔记基于sc7731 - android 5.1,对lcd的framebuffer做一个简明笔记. 一共分为两大部分:第一部分,关于LCD的硬件方面的:第二部分,关于lcd核心处理(framebuffer)部分的. 第一部分,LCD硬件相关的 一.液晶 液晶是一种高分子有机材料.当给它加上直流电场后,原本有序的分子排列被打乱,一部分液晶变得不透明,颜色加深,便因此显示出字符和图形. 液晶的光电效应:干涉.散射.衍射.旋光.吸收等. 二.LCD种类 1. 构造: 使用两块玻璃板夹着一块液晶:一

展讯sprd_battery.c 充电驱动

sprd_battery.c 是充电驱动,这个是充电功能的核心内容,电量显示策略.温度检测策略.充电保护机制等功能在这里实现,功能实现与硬件细节剥离,调用通用接口实现逻辑控制: 1 sprdbat_probe函数: static int sprdbat_probe(struct platform_device *pdev) { int ret = -ENODEV; enum usb_charger_state usb_online_state = USB_CHARGER_DEFAULT; str

展讯sc7731 LCD驱动简明笔记之三

此篇笔记基于sc7731 - android 5.1,对lcd的gralloc库做一个简明笔记. 第一部分 调用gralloc.sc8830.so所谓的Gralloc模块,它就是一个模块,一个操作kernel层framebuffer驱动的动态库模块,它属于大名鼎鼎的HAL层.用的时候就加载到内存空间,不用的时候就从内存空间中卸载掉.下面看下系统如何将该模块加载到内存空间的.在Android系统中,所有访问HAL层模块的应用,都需要通过一个叫 hw_get_module() 的方法去获得需要的HA

展讯平台 LCD(Mipi)移植步骤及问题归纳

原创文章,原文地址:http://blog.csdn.net/dearsq/article/details/51210703 欢迎转载,转载请保留地址! PortingGuide Backlight 背光的硬件设计有两种情况: 1. 内置并联背光 2. 外置串联背光 对于 1 的情况,步骤如下: 1.移植对应的 lcd 驱动. 2.设置u-boot\drivers\video\sprdfb\sprdfb_main.c中的背光为内置: void set_backlight(uint32_t val

展讯平台 LCD(Mipi) 加载流程分析

stage1 阶段的详细分析参见 uboot 详细注释讲解 我们从 uboot 的 stage2 开始分析. 加载流程分析 首先是完成硬件的初始化. 函数调用流程为: u-boot64/arch/arm/board.c: board_init_r() u-boot64/common/stdio.c: stdio_init() u-boot64/common/lcd.c: drv_lcd_init() lcd_init() u-boot/drivers/video/sprdfb/sprdfb_ma

i.mx6 lvds接口的DE模式液晶屏驱动调试

我这篇文章主要讲述i.mx6 平台下 采用DE模式的lvds液晶屏的驱动调试, 阅读该文章之前请先阅读如下两篇我转载的文章,这两篇文章是理解我这篇文章的基础知识. 1.        lcd fb参数如何计算: http://blog.csdn.net/liuhuahan/article/details/43447657 2.        camera_lcd之DE和HV模式区别 http://blog.csdn.net/liuhuahan/article/details/43489269 详

请把Camera hold住 - Android高通平台调试Camera驱动全纪录

项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器搞开发的,对Linux系统环境实在无爱,每每一到项目刚开始要搭环境了,内心总有点排斥,过程就比较纠结,看来以后还是要搞个linux真机玩玩. 2日 编写camera驱动大致框架,配置GPIO,I2C,MIPI,电压,时钟等.很少能碰到FAE只给硬件手册,没有Linux和Android驱动的.因为是c

android 电容屏(二):驱动调试之基本概念篇

关键词:android  电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 4210)  作者:xubin341719(欢迎转载,请注明作者) 参考网站:http://edsionte.com/techblog/archives/1582这部分参考别人的多一点 android 电容屏(一):电容屏基本原理篇 android 电容屏(二):驱动调试之基本概念篇