How to setup pskey to csr-bc4 chip

 

1.

设置bcsp的baud rate,网上查了一下需要 bccmd

只能重新cross compile bluez-4.18,增加--enable-bccmd选项
./configure --host=arm-xscale-linux-gnu --prefix=/usr/arm-xscale-linux-gnu --disable-audio --enable-test --enable-debug --enable-bccmd

生成bccmd命令

 

2.新建blue_core4.psr

编辑并拷贝到板子上
// PSKEY_ANA_FTRIM
&01f6 = 0025
// PSKEY_ANA_FREQ
&01fe = 0004

// PSKEY_HOST_INTERFACE
&01f9 = 0001
//CSR_PSKEY_HOSTIO_MAP_SCO_PCM
&01AB = 0001
// PSKEY_UART_BAUDRATE
&01BE = 0EBF    //将baud 率设置成921600
// CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN
&0012 = 00F0
// CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE
&01AE = 003C
// CSR_PSKEY_LOCAL_SUPPORTED_FEATURES
&00EF = FE3F 7E8F 1998 8000
// PSKEY_UART_CONFIG
&0205 = 0006

 

3.在板子上运行

#reset_bt_signal
#insmod bluetooth.ko
#insmod hci_uart.ko
#insmod l2cap.ko
#insmod rfcomm.ko

#./bccmd -t bcsp -d /dev/ttyS1 psload blue_core4.psr
Initialization timed out

出错

 

4.

查代码csr_bcsp.c
line 87
//cfsetospeed(&ti, B38400);
默认baud rate改成
cfsetospeed(&ti, B115200);

 

5.

再运行

#./bccmd -t bcsp -d /dev/ttyS1 psload blue_core4.psr
这次成功了
#./hciattach -s 921600 ttyS1 bcsp 921600
BCSP initialization timed out

 

#./bccmd  -t bcsp -d /dev/ttyS1 psread
发现pskey的值根本没有设置进去

加log 到csr_bcsp.c 中将每一次读写操作都打印出来
发现pskey设置后没有进行 warm reset

加上-r 选项使pskey load成功后,csr 芯片自动warmreset 使设置有效.

#./bccmd  -t bcsp -d /dev/ttyS1 psload -r blue_core4.psr
# ./hciattach -s 921600 ttyS1 bcsp 921600
BCSP initialization timed out
还是不行

 

查blue-core4 手册发现PSKEY_ANA_FTRIM 和 PSKEY_ANA_FREQ 频率值已经变了,

修改blue_core.psr后如下
// PSKEY_ANA_FTRIM
&01f6 = 001d
// PSKEY_ANA_FREQ
&01fe = 6590
// PSKEY_HOST_INTERFACE
&01f9 = 0001
//CSR_PSKEY_HOSTIO_MAP_SCO_PCM
&01AB = 0001
// PSKEY_UART_BAUDRATE
&01BE = 0EBF
// CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN
&0011 = 0180
// CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN
&0012 = 00F0
// CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE
&01AE = 003C
// CSR_PSKEY_LOCAL_SUPPORTED_FEATURES
&00EF = FE3F 7E8F 1998 8000
// PSKEY_UART_CONFIG
&0205 = 0006

 

#./bccmd -t bcsp -d /dev/ttyS1 psload -r ./blue_core4.psr
# ./hciattach -s 921600 ttyS1 bcsp 921600

这下终于OK了

#./hciconfig hci0 reset
#./hciconfig -a

现在blue-core4 运行在了 921600 baud rate  上了.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值