1

I was browsing for AOSP bluetooth code to know more about HIDL.

As per my understanding, HIDL provides an interface between System services and HAL layer.

But as per official android doc here , It seems that HIDL is interface between bluetooth stack(/system/bt) and bluetooth firmware implementation.

enter image description here

Shouldn't HIDL be present between Bluetooth process services and bluetooth stack? Am I missing something here?

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Vivek Mangal
  • 532
  • 1
  • 8
  • 24

2 Answers2

1

The question you have to ask is which parts of the whole Bluetooth stack can be provided by Android and which parts have to be provided by the hardware/device manufacturer.

Google probably decided that all they need from a hardware/device manufacturer is what is described in the Bluetooth HIDL interfaces and that they provide the rest of the stack in the Android framework.

Simpl
  • 1,938
  • 1
  • 10
  • 21
0

I guess your understanding is based on 2 and 3 in the diagram, but the diagram you posted here is based on 4, which you don't need the HAL layer. Vendor can just implement the HIDL interface.

enter image description here

N. berouain
  • 1,181
  • 13
  • 17
  • As per Android doc : The default Bluetooth stack is provided in AOSP and is located in system/bt. The stack implements the generic Bluetooth HAL. That means Bluetooth stack is implementation of HAL. – Vivek Mangal Jan 11 '20 at 19:50
  • My question is if Bluetooth stack is HAL implementation then why HIDL is present between stack and controller implementation? – Vivek Mangal Jan 12 '20 at 08:38