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…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wx.login报40029

    wx.login报40029error:40029:invalidcode,rid:61c28073-488240c7-666b1fc2

    2022年5月22日
    79
  • 当前汇总(最新序列号破解)「建议收藏」

    当前汇总(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    42
  • DNS负载均衡

    DNS负载均衡1)DNS负载均衡的介绍对于负载均衡的一个典型应用就是DNS负载均衡。庞大的网络地址和网络域名绝对是负载均衡体现优势的地方。那么它的具体原理是如何的呢?本文就将为大家详细介绍一下相关内容。DNS负载均

    2022年7月1日
    17
  • ASP.NET 页面中的 ValidateRequest属性

    ASP.NET 页面中的 ValidateRequest属性ValidateRequest指示是否应发生请求验证。如果为true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。如果出现匹配情况,将引发HttpRequestValidationException异常。默认值为true。该功能在计算机配置文件(Machine.config)中启用。可以在应用程序配置文件(Web.config)中或在页上将该属性设置为false来禁用该功能。注意:该功能有助于减少对简单页或ASP.NET应用程序进行跨站点脚本攻击的

    2025年7月17日
    0
  • 广州有哪些好点的软件外包公司或者软件开发公司呀?听说广州碧软还不错,还有其他靠谱的软件外包公司?

    广州有哪些好点的软件外包公司或者软件开发公司呀?听说广州碧软还不错,还有其他靠谱的软件外包公司?广州有哪些好点的软件外包公司或者软件开发公司呀?听说广州碧软还不错,还有其他靠谱的软件外包公司?广州碧软,做软件开发与外包还不错,我们和他们一直合作了好几年,不比那些超大型软件外包公司差,因为超大的软件外包公司公司他们也仅仅是一个分公司小部门来给你做项目,店大欺客啊,碧软他们规模中等,但用心,把该交付的东西做好很重要。…

    2022年5月8日
    124
  • 一图了解群环域「建议收藏」

    一图了解群环域「建议收藏」一图了解群环域最近Nickname4th.qicp.vip暂时挂掉了,所以先在这里发一下就群环域的联系做了一个简图,并不全面但是足以应付密码学的要求。网上看了很多教程,但是讲得最清晰最有联系性的文章私以为是这篇:http://sparkandshine.net/algebraic-structure-primer-group-ring-field-vector-space/这位博主…

    2022年6月18日
    29

发表回复

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

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