MSM8937-MSM8953 I2C 配置调试指南

MSM8937-MSM8953 I2C 配置调试指南 一、I2C配置(硬件描述)1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO10作为I2C_SDA,GPIO11作为I2C_SCL为例。查找GPIO10与GPIO11对应的BLSP,以及检查GPIO10与GPIO11是否可以作为I2C来使用。根据文档,GPIO10对应BLSP3_1,GPIO11对应BLSP3_0。GPIOFUNCTIONGPIO_6,GP1…


Jetbrains全系列IDE稳定放心使用

 

一、I2C配置(硬件描述)

1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO10作为I2C_SDA,GPIO11作为I2C_SCL为例。

\

查找GPIO10与GPIO11对应的BLSP,以及检查GPIO10与GPIO11是否可以作为I2C来使用。根据文档,GPIO10对应BLSP3_1,GPIO11对应BLSP3_0。

GPIOFUNCTION

GPIO_6,GP1O_7BLSP2

GPIO_10,GOIO_11BLSP3

GPIO_14,GP1O_15BLSP4

GPIO_18,GP1O_19BLSP5

GPIO_22,GP1O_23BLSP6

GPIO_87,GP1O_88BLSP7

3.查找I2C部分BLSP3_0与BLSP3_1对应内容,包括其物理地址、reg size、中断号……

对应内容如下:

\

\

二、I2C配置(软件概述)

1.进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937-pinctrl.dtsi文件

GPIO配置如下:

\

注意:1. MSM8917 的 pinctrl 文件为 msm8917-pinctrl.dtsi.

2. MSM8953 的 pinctrl 文件为 msm8953-pinctrl.dtsi

2.进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937.dtsi文件

添加一个新的设备树节点

\

\

注意:1.红色方框中的内容需根据第三步内容进行修改

2. MSM8917 对应的文件为 msm8917.dtsi.

3. MSM8953 对应的文件为 msm8953.dtsi

3.进入kernel/msm-3.18/drivers/clk/msm路径下修改clock-gcc-8952.c文件

添加时钟节点如下图所示:

\

注意:1. MSM8917 对应的文件为 clock-gcc-8952.c

2. MSM8953 对应的文件为 clock-gcc-8953.c

4.编译kernel,在顶层目录下make bootimage –j12,在out目录下生成boot.img文件

路径为 LA.UM.5.6 /out/target/product/msm8937_64/boot.img

在DOS命令下,adb reboot bootloader

fastboot flash boot d:\\xxx\boot.img

若显示okay,执行 fastboot reboot。

注意:1.MSM8917 对应的路径为 LA.UM.5.6 /out/target/product/msm8937_32/boot.img

2.MSM8953 对应的路径为 LA.UM.5.6 /out/target/product/msm8953_64/boot.img

三、I2C BUS验证

配置好I2C后,我们需保证I2C BUS被注册

验证过程如下:

adb shell //——-> Get adb shell

cd /dev/

ls i2c* //——–> to list all the i2c buses

如果显示i2c-3,则表示I2C BUS已被注册

四、I2C调试检查

1、检查I2C配置的相关内容,是否存在错误,或者漏配。

2、确保SDA和SCL所配置的GPIO没有被其他设备所配置,否则硬件配置会出问题或者GPIO设置无效。

3、若I2C配置无误后,检查相关硬件问题

使用万用表测量I2C_SDA以及I2C_SCL的供电电压,如果与原理图中所示供电电压相差无几,则表示I2C供电电压没有问题。反之,则代表供电电压存在问题。

4、添加从设备

(1)、 通过设备树来注册一个从设备

如果I2C总线正常工作,我们就可以创建一个从设备驱动程序并注册到i2c总线上

我们使用st1663i触摸屏的驱动注册作为范例,引用文件:

kernel/drivers/input/touchscreen/st1663i/sitronix_i2c_touch.c

(2)、创建一个设备树节点

文件修改:

/kernel/arch/arm/boot/dts/qcom/msm8917-pmi8937-qrd-sku5.dtsi

添加一个新的设备树节点:

\

(3)、编译完成后,利用示波器测量I2C_SDA以及I2C_SCL波形

测试流程如下

adb root

adb remount

adb push i2c_test system/bin

adb shell

cd system/bin

chmod 777 i2c_test

./i2c_test /dev/i2c-3 0xaddr(从设备物理地址) 0(读) 0xaddr(寄存器地址)

如果I2C没有问题,所示I2C_SDA波形应为以下形式

I2C start > 0xE0 (write of 0x70) > 0x1 (reg offset ) > I2C stop > delay > I2C start > 0xE1 (read of 0x70) > > 8 bytes > I2C stop

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184047.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 腾讯T4技术专家_T4正常值

    腾讯T4技术专家_T4正常值T4 级老专家:AIOps 在腾讯的探索和实践

    2022年4月20日
  • pip怎么卸载安装包_pip怎么卸载

    pip怎么卸载安装包_pip怎么卸载PythonPipcommandprovidessearch,install,update,uninstallpackages.Wecanusepipcommandtouninstallpackageseasilyeventherearesomealternativeslikeeasy_install.PythonPip命令提供搜索,安装,更新,…

    2022年10月19日
  • TD—SCDMA_移动TD

    TD—SCDMA_移动TD
    GSM
     globalsystemformobilecommunications全球移动通信系统
     第二代移动电话系统。
         GSM是GlobalSystemofMobilecommunication全球移动通讯系统的英文缩写,是当前应用最为广泛的移动电话标准。全球超过200个国家和地区超过10亿人正在使用GSM电话。所有用户可以在签署了”漫游协定”移动电话运营商之间自由漫游。GSM较之它以前的标准最大的不同是他的信令和语音信道都是数

    2022年10月4日
  • tp5 $_ENV获取不到数据

    tp5 $_ENV获取不到数据

    2021年10月13日
  • LoadRunner详细使用教程

    LoadRunner详细使用教程文章目录VirturalUserGeneratorControllerAnalysisloadrunner的使用VirturalUserGenerator:录制脚本Controller:场景测试,收集并发测试的数据(多个用户并发场景)Analysis:分析系统并发测试的数据,生成报告和图标loadrunner做性能测试的原理?性能测试主要是多用户的并发,就是多线程模拟用户的操作,什么是集合点,为什莫需要集合点?因为先初始化好的线程需要等待后面还没初始化好的线程,所以设置一个集合点

    2022年5月23日
  • 手机qq怎么看撤回的闪照_如何查看qq闪照过后的照片

    手机qq怎么看撤回的闪照_如何查看qq闪照过后的照片QQ只要接收到了图片都是有本地缓存,我们通过浏览本地文件即可找到。1、打开文件管理。找到图片中的目录。 2、按照时间降序排序。按照时间找到QQ好友发送的时间。  3、打开,以图片格式; 这样我们就很简单的看到了QQ好友撤回照片以及闪照。…

    2022年8月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号