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

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_ROTATIONTARGET_BOARD_FRONT_CAMERA_ROTATION设置为false,否则设置为true

 

2idh.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中的keypad@f5208000

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
展讯平台是一种以展讯公司开发的芯片为核心的平台,该平台广泛应用于移动通信设备中。在使用展讯平台的设备时,需要通过USB接口与计算机进行连接,并安装相应的USB驱动程序。 USB驱动程序是一种用于操作系统与硬件之间进行通信的软件。展讯平台的USB驱动程序主要有以下几个作用: 1. 设备识别与通信:USB驱动程序能够让操作系统正确识别展讯平台设备,并建立起与设备之间的通信通道。通过该通道,计算机可以向设备发送指令,并接收设备返回的数据。 2. 数据传输控制:USB驱动程序还负责控制数据在计算机和展讯平台设备之间的传输。它确保数据的正确传输,并处理可能出现的错误或中断。同时,USB驱动程序还能够管理数据的缓冲区,以提高传输效率。 3. 设备配置与升级:USB驱动程序支持设备的配置和升级功能。通过USB接口,可以对展讯平台设备进行参数设置和固件更新,以满足不同的需求和修复潜在的问题。 4. 兼容性支持:USB驱动程序提供了对不同操作系统的支持,例如Windows、Linux和Mac OS等。它通过与操作系统的适配,使得展讯平台设备在不同环境下都能够正常工作。 总之,展讯平台USB驱动程序是一种重要的软件组件,它能够确保计算机与展讯平台设备之间的正常通信和数据传输。通过USB驱动程序的安装和配置,用户可以方便地使用和管理展讯平台设备,满足不同的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值