6sp拆机教程,SBI接口

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

概要

BLSP是一种高吞吐量、低速率接口管理方法,8074平台包含两个BLSP(bamlow-speedperipheral,直通外围)块,支持12个BLSP端口。 每个BLSP块最多包含6个qualcommuniversalperipheral (qup )或6个Uart cores,您可以在相关文档中确定每个外围设备是否属于BLSP。 配置框图如下:

业务访问管理器(bam ) isusedtomovedatato/fromtheperipheralbuffers; 2 .每个BLSP外围设备静态连接到一对BAM管道,BLSP支持BAM和非bam-based数据传输。 每个QUP可以配置为I2C、SPI、UART、UIM接口等,如下所示:

自定义BLSP端口,并将TZ配置为在aDSP和APP应用程序处理器之间共享这些端口。 要独立使用BLSP端口,请在信任区域(tz )中定义BLSP端口分配。 如果没有权限的子系统访问BLSP端口,系统将崩溃。 缺省情况下,已经配置了高通。 DspAL提供了一组映射到硬件的设备文件路径,用于无人机的相关端口由TZ组成,如下所示:

1234 SPI :/dev/SPI-[ 1至12 ]是blsp [ 1至12 ]上的SPI设备I2C: /dev/iic-[1-12]是blsp [ 1至12 ]上的I2C设备uaa

要定制新端口,必须按如下方式进行配置:

计算应用程序blsp值

从倒数第二列(对应于BAM pipe )计算的结果如下。

appsblsp 1:0 x 00 c 3000 c [格式:0 x 00 (appsblsp1qup ) (Apps BLSP1 UART ) ]

appsblsp 2:0 x 00 f 30 f 33 [格式:0 x 00 (appsblsp2qup (appsblsp2UART ) ]

如果APS列支持y,则表示BLSPx被分配给了Uart或QUP,下同。

计算ADSP BLSP值

-align:justify’>
ADSP BLSP1 = 0x0003FF00 [ Format : 0x00 (Adsp BLSP1 QUP) ( Adsp BLSP1 UART) ]
ADSP BLSP2 = 0x00FC00CC [ Format : 0x00 (Adsp BLSP2 QUP) ( Adsp BLSP2 UART) ]

通过计算的值在TZ中配置

路径:trustzone_images\core\hwengines\bam\8974\bamtgtcfgdata_tz.h

BLSP1:

12345678910111213141516171819 Replace the highlighted values with ADSP BLSP1 and APPS BLSP1 bam_sec_config_type bam_tgt_blsp1_secconfig ={ {#ifdef FEATURE_DRONE_CUSTOMIZATION_1 #ifdef BAM_TZ_DISABLE_SPI {0x00C3000C , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT}, // APPS BLSP1 {0x0003FF00 , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}, // ADSP BLSP1 {0x00000000, TZBSP_VMID_MSS, 0x0, TZBSP_VMID_MSS_BIT},#else {0x00C3000C , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT}, // APPS BLSP1 {0x0003FF00 , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}, // ADSP BLSP1 {0x00000000, TZBSP_VMID_MSS, 0x0, TZBSP_VMID_MSS_BIT}, {0x00300000, TZBSP_VMID_TZ, 0x0, TZBSP_VMID_TZ_BIT} #endif /*BAM_TZ_DISABLE_SPI*/…}

BLSP2:

123456789101112 bam_sec_config_type bam_tgt_blsp2_secconfig ={ {#ifdef FEATURE_DRONE_CUSTOMIZATION_1 {0x00F30F33 , TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT}, // APPS BLSP2 {0x00FC00CC , TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT} // ADSP BLSP2#else {0x003C0FFF, TZBSP_VMID_AP, 0x0, TZBSP_VMID_AP_BIT}, {0x00C3F000, TZBSP_VMID_LPASS, 0x0, TZBSP_VMID_LPASS_BIT}#endif…}

怎么工作

在启动期间,aDSP将加载BLSP配置文件初始化串口设备。为了是能运行时配置,可在/usr/share/data/adsp/blsp.config中定义串口设备和BAM端口的映射,bam对应于BLSP。如:

1234 tty-1 bam-9tty-2 bam-6tty-3 bam-8tty-4 bam-2

如果串口设备只用TX和RX,需要在最后一行加入 “[2-wire]”作为标示,否则默认为四线:TX,RX,CTS和RTS。

串口根据需要配置,不一定所有都配置;2. 如果运行时指定路径文件不存在或者加载失败,如上所示的默认配置将被使用;3. /usr/share/data/adsp/blsp.config最好设置为只读模式。 Reference

80-NA157-24 Low-Speed Peripherals Overview.pdf
80-NB849-1 Rev. J APQ8074A PQ8074AB Device Specification.pdf
80-H9580-1-J_QUALCOMM SNAPDRAGON FLIGHT DEVELOPER GUIDE.pdf
80-NU767-1 G Linux BAM Low-Speed Peripherals Configuration and Debug Guide .pdf

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

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