高通msm8937的BLSP学习

高通msm8937的BLSP学习1.基础概念(1)  BusAccessModule(BAM),总线访问模块BAMisusedtomovedatato/fromtheperipheralbuffers.(2)  BAMLow-SpeedPeripheral(BLSP),低速接口的总线访问模块(3)  QUP:QualcommUniversalPeripheral,高通统一的…


Jetbrains全系列IDE稳定放心使用

1.基础概念

(1)   Bus Access Module (BAM),总线访问模块

BAM is used to move data to/from the peripheral buffers.

(2)   BAM Low-Speed Peripheral (BLSP),低速接口的总线访问模块

(3)   QUP:Qualcomm Universal Peripheral,高通统一的外设

 

2.Msm8937 BLSP

高通msm8937的BLSP学习

高通msm8937的BLSP学习

BLSP是高通对于低速接口的一种管理方式,8937 平台含有两个BLSP(BAM Low-Speed Peripheral) 块,对应于12个BLSP端口。 每一个BLSP块含有最多六个Qualcomm Universal Peripheral (QUP)和六个UART cores、其中SPI和IC2核心集成到一个名字为QUP核心,并且共享同一个FIFO,而UART_DM单独集成并有自己的FIFO,所有的这3个core共享同一个总线接口,也就是对外共用相同的I/O接口,比如:

高通msm8937的BLSP学习

但是对于只使用两个UART引脚的UART_DM,比如只用到GPIO_4(TX)和GPIO_5(RX),也是使用两个引脚的I2C接口这时也可以同时使用:

高通msm8937的BLSP学习

通过相关手册查询到每个外设属于BLSP多少。

 

3. 确认我们使用的I2C对应哪个BLSP和QUP

比如我们采用SDA—GPIO6,SCL—GPIO7,

(1)   到msm8937-pinctrl.dsti确认GPIO6和GPIO7对应设备树中是哪组I2C

其实从上图可知道是第1个BLSP的第2个QUDP,但我们从设备树上找到相关的

高通msm8937的BLSP学习

(2)   通过i2c_2_active找到msm8937.dtsi下有引用

高通msm8937的BLSP学习

这里可知是采用BLSP1的QUP2,I2C核基准地址是0x78b6000

(3)   Lk部分确定所用的I2C对应的BLSP和QUP

来看bootable\bootloader\lk\platform\msm_shared\include\blsp_qup.h下的定义

高通msm8937的BLSP学习

从这里可以看出QUP是从QUP_ID_0开始,那么我们的使用的GPIO6和GPIO7的I2C对应QUP_ID_1,使用示例如下:

高通msm8937的BLSP学习

4. QUP基地址和IRQs

高通msm8937的BLSP学习

BLSP routes the following interrupts from its subcores:

BAM_IRQ – Indicates that a BAM operation has completed

PERIPHERAL_IRQ – Driven by UART or QUP; shared at the peripheral level for status updates and errors of the peripheral; a status register in the peripheral core allows software to distinguish between interrupt sources

 

参考:

高通无人机8074 BLSP接口说明

http://huaqianlee.github.io/2016/04/27/Uav/Qualcomm-uav-blsp-port/

高通APQ8074 spi 接口配置

https://blog.csdn.net/jumper511/article/details/25622833

 

 

 

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

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

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

相关推荐

  • Linux服务器磁盘挂载

    Linux服务器磁盘挂载linux服务器磁盘挂载操作具体操作是:先对磁盘进行格式化,格式化后挂载到需要的挂载点,最后添加分区启动表,以便下次系统启动随机自动挂载。1、首先查看系统中磁盘信息,命令为:fdisk-l;2、找到未使用的磁盘,对其进行格式化。(操作数据盘符前,请自行确认磁盘是否有使用过,如有重要数据请谨慎操作,以免导致数据丢失,带来不必要的麻烦)。格式化命令为:mkfs.exte/dev/vdb;3、对格式化完成的磁盘进行挂载挂载前,先在服务器上创建一个需要挂载的挂载点,例如可

    2022年6月20日
  • 怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法

    怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法卸载SEP(symantecendpointprotection),需要密码怎么办2011年12月08日下午1:50默认密码是symantec,或者Symantec1.点击“开始”->运行(或直接:Window徽标键+R)2.输入smc-stop终止SEP。如果跳出输入密码提示,则打开注册表(Window徽标键+R;输入regedit;敲回车),然后找到HKEY_LOCAL_MAC…

    2022年5月9日
  • 那么蒙特卡洛树搜索(Monte Calro Tree Search, MCTS)究竟是啥

    那么蒙特卡洛树搜索(Monte Calro Tree Search, MCTS)究竟是啥同时发布于:http://www.longgaming.com/archives/214Intro最近阿法狗和李师师的人机大战着实火了一把,还顺带捧红了柯杰,古力等一干九段。虽然我从小学的是象棋,对围棋也只是略知一二,但是棋魂还是对我影响颇深的启蒙漫画,于是还是凑热闹看了几盘大战。其中蒙特卡洛树搜索(MonteCalroTreeSearch,MCTS)就多次被各路砖家提及。想必各位选过AI课

    2022年6月24日
  • windows下怎么安装laravel框架

    windows下怎么安装laravel框架windows下怎么安装laravel框架

    2022年4月24日
  • vue中使用EasyPlayer.js教程[通俗易懂]

    vue中使用EasyPlayer.js教程[通俗易懂]0前言github:EasyPlayer.js一定要是legacy分支哦,master分支是EasyWasmPlayer.js,有些功能不支持的1教程首先npm安装EasyPlayer、copy-webpack-pluginps:copy-webpack-plugin版本不能大于6.0,否则会出很多很多问题npminstall@easydarwin/easyplayer–savenpminstallcopy-webpack-plugin@5.1.2–save

    2022年6月17日
  • SCM CVS

    SCM CVS

    2021年8月15日

发表回复

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

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