Bluetooth cannot be pulled up and used properly based on BCM4362A2 adaptation

We are currently debugging the Bluetooth function of BCM4362A2 based on the customer’s customized motherboard, but it has not been able to be pulled up properly. The Bluetooth of this module uses the UART interface. I see that there is a tool called brcm_patcheram_plus on the platform, which indicates that it is compatible with Bluetooth on some Broadcom platforms.

Now I am using the Bluetooth manufacturer’s pull command and it is not working properly. The chip manufacturer has reported that the RTS is not working properly, and the NVIDIA platform defaults to a low pull state.

Can you help me check the waveform of RTS and related logs. Now the debugging is stuck here, thank you

echo 419 >/sys/class/gpio/export
echo out >/sys/class/gpio/PN.01/direction
echo 0 >/sys/class/gpio/PN.01/value
echo 1 >/sys/class/gpio/PN.01/value

echo 438 >/sys/class/gpio/export
echo out >/sys/class/gpio/PQ.03/direction
echo 0 >/sys/class/gpio/PQ.03/value
echo 1 >/sys/class/gpio/PQ.03/value

echo 317 >/sys/class/gpio/export
echo out >/sys/class/gpio/PCC.00/direction
echo 0 >/sys/class/gpio/PCC.00/value
echo 1 >/sys/class/gpio/PCC.00/value

#insmod /system/lib/modules/hci_uart_rtk.ko

#brcm_patchram_plus1 -d --enable_hci --no2bytes --tosleep 200000 --baudrate 1500000 --patchram /vendor/etc/firmware/BCM4362A2.hcd /dev/ttyTHS1 &

hciconfig hci0 up
rm /dev/rfkill
root@fq-laptop:/etc# rfkill list
0: bt_default: Bluetooth
Soft blocked: no
Hard blocked: no

You should check if the RTS waveform fullfil your bluetooth device spec. What can we check?

BT manufacturers believe it is a problem with RTS. When our module initializes RTS on other platforms, it is at a high level, and then it is pulled down when data transmission occurs. The default RTS of NVIDIA is always at a low level. Although the RTS has a waveform during burning, indicating that it is working, it is still different from other platforms. It is uncertain whether this will affect the normal loading of the BT.

Sorry to ask this as I totally don’t know what this thing is doing.

Who is controlling RTS here? Jetson? Which pin is doing this work?

Now, based on the orin nx adaptation of WiFi/BT modules, the UART interface is used for BT. After powering on the BT, using the brcm_patcheram_plus command to burn the Bluetooth firmware, hciconfig did not have the hci0 node and Bluetooth startup failed. Bluetooth manufacturers have reported that there is an issue with the RTS signal on the platform. We compared the initialization of RTS on the NXP platform when burning firmware to a high level, while NVIDIA defaults to a low level. We did not find any other differences

The problem now is that it seems that the NVIDIA platform has adapted some Bluetooth functions on the Broadcom module, but it cannot be pulled up normally now
How to make RTS default to high level? Or rather, can you see if Bluetooth cannot start properly? any suggestions?

To put it another way, we have found that the NVIDIA platform has been adapted to the UART interface of the Broadcom module, and now Bluetooth cannot work.
any suggestions?

This is part of vendor device so I would like to know.

Did vendor provide you any driver? Basically their driver shall have some codes (e.g. device tree) to combine with Jetson UART pin and control.

All I see so far seems doing a work without the help of a driver but just manual running some commands.

說實話我不太確定你從這張圖看出了什麼東西… 也不知道你從哪裡得來這個結論

Are you using the following UART interface?

How did you configure the initial state for UART0_RTS?

I think the default state of RTS is high on Jetson device.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.