首页 > 编程知识 正文

linux设备驱动程序,sp201驱动

时间:2023-05-04 19:06:23 阅读:130584 作者:3628

原文链接: http://Huaqi anlee.github.io/2016/04/27/UAV/Qualcomm-UAV-blsp-port /

笔记本:

1 .每个块的BLSP对应于6位,每个位对应于一个GPIO,并且每个位的GPIO都可以用作UART、SPI和IIC的链接线路

2 .需要在平台的数据文档中确定哪个BLSP的哪个QUP链路支持哪个GPIO、支持什么类型的总线、每个位是三大总线中的哪个

3. BAM中断和外围设备中断: BAM中断是指数据读取/写入完成的外围设备的状态和错误级别会引起外围设备的中断

应用示例:

1 .基础概念

(1)总线访问模块,总线访问模块

bamisusedtomovedatato/fromtheperipheralbuffers。

) bam低速度外围(blsp )、低速接口总线访问模块

(3) qup ) Qualcommuniversalperipheral,高吞吐量统一的外围设备

2.Msm8937 BLSP

BLSP是一种高吞吐量、低速率接口管理方法,8937平台包含两个低速率外围(BLSP )块,用于12个BLSP端口。 每个BLSP块最多包含6个qualcommuniversalperipheral (qup )和6个UART cores,其中SPI和IC2核心合并为一个qup核心并共享同一FIFO。 UART_DM是单独集成的,并且有自己的FIFO。 这三个都是

然而,此时可以同时使用仅使用两个UART引脚的UART_DM,如GPIO_4(tx )和GPIO_4(tx )。

在相关文档中检查每个外围设备是否属于BLSP。

3 .确认我们使用的I2C支持哪个BLSP和QUP

例如采用SDA---GPIO6、SCL---GPIO7,

)1)前往msm8937-pinctrl.dsti,确认支持GPIO6和GPIO7的设备树中有哪个组I2C

其实从上图可以看出是第一个BLSP的第二个QUDP,我们在设备树中找到了相关的东西

)2)在i2c_2_active中找到msm8937.dtsi下有引用

在此可知,是使用了BLSP1的QUP2,I2C核心基准地址为0x78b6000

)3) Lk部分确定与要使用的I2C相对应的BLSP和QUP

看看bootableboot loaderlkplatformMSM _ sharedincludeblsp _ qup.h的定义

从这里可以看到QUP是从QUP_ID_0开始的。 在中,您使用的GPIO6和gpio7I2C支持QUP_ID_1。 使用示例如下所示。

4. QUP基地址和IRQs

blsproutesthefollowinginterruptsfromitssubcores :

bam _ IRQindicatesthatabamoperationhascompleted

peripheral _ IRQdrivenbyuartorqup; sharedattheperipherallevelforstatusupdatesanderrorsoftheperipheral; astatusregisterintheperipheralcoreallowssoftwaretodistinguishbetweeninterruptsources

参考:

高通无人机8074 BLSP接口描述

3358 Huaqi anlee.github.io/2016/04/27/UAV/Qualcomm-UAV-blsp-port /

高通APQ8074 spi接口配置

3359 blog.csdn.net/jumper 511/article/details/25622833

-----------------

译文: 3359 blog.csdn.net/loong嵌入式/article/details/83070030

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。