How to setup pskey to csr-bc4 chip

来源:互联网 发布:java三个发展方向 编辑:程序博客网 时间:2024/05/19 06:46

 

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  上了.

 

原创粉丝点击