原文链接: 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