Bluedroid_pm what is it for

Hi, I saw a module bluedroid_pm with lsmod, anyone knows what is this for ? can I turn it off permanently (blacklist) without breaking the board ?

Hi wenbin.leong,

May I ask why you want to disable it?

for some reason the m2.key socket for Ampak wifi module is not compatible, where WL_REG_ON(pin 23) and BT_REG_ON(42) is missing from Xavier so we need to hack it.

bluedroid_pm stands for “Bluetooth Bluedroid power management Driver.”
If this driver affects your case in other bluetooth device, then please disable it.

Hi @WayneWWW

I am designing my own carrier for Xavier, I also want to disable bluedroid_pm. I have commented out the bluedroid_pm node in device-tree. But how should I set the (GPIO) PIN states for reset, host-wake, and ext-wake in pinmux table?

  1. reset-gpio connects to W_DISABLE2# (pin 54) of M.2 E. I think it is for enabling BT function of wireless chip on that M.2 E, correct? So, I should set pinmux in GPIO output “drive 1” state, correct?
  2. ext-wake connects to VENDOR_DEFINED (pin 38) of M.2 E. Is it for Xavier to wake the wireless chip? Should I set pinmux in GPIO output “drive 1” state? Note that the current Xavier devkit pinmux table already sets it to output “drive 1” state.
  3. host-wake connects to UART_WAKE# (pin 20) of M.2 E. Is it for wireless chip to wake Xavier from deep sleep mode? Should I set pinmux in GPIO input with Pull-up state?
  4. Are most of M.2 E wireless chips compatible with this pin setting on M.2 E? Especially, for ext-wake where it is connected to VENDOR_DEFINED pin on M.2 E, which seems has high chance of vendor dependency.
  5. I briefly went thru kernel/nvidia/drivers/misc/bluedroid_pm.c driver. Is it in standard upstream linux kernel? Or it is something specific in L4T kernel? I couldn’t find the bluedroid_pm driver in upstream kernel. I even couldn’t find the device-tree binding.


Please file a new topic for your issue.

Hi @WayneWWW

Thanks for pointing it out.
I have create a new topic here: