42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
* Bluetooth Sleep Protocol driver
|
|
Bluetooth controller communicates with the Bluetooth Host using HCI Transport layer.
|
|
HCI Transport layer can be based on UART or USB serial communication protocol.
|
|
|
|
Apart from the transport layer, Bluetooth Controller also supports Low Power Mode
|
|
using various mechanisms. One of such mechanism is Out-of-Band Sleep. Also known
|
|
as 2-wire sleep mechanism.
|
|
|
|
Out-of-Band Sleep:
|
|
It requires two GPIOs to communicate the sleep protocol between Host and Controller.
|
|
One of them is called as Host Wake GPIO where as other is known as a External wake
|
|
GPIO.
|
|
Host Wake GPIO is used for awake the Host from the Sleep Mode. It is controlled by the
|
|
Controller. It should be wakeup interruptible source on the Host.
|
|
External Wake GPIO is used for awake the Controller from the Sleep Mode. It is controlled
|
|
by the Host.
|
|
|
|
Required Properties:
|
|
|
|
- compatible: Should be "qca,ar3002_bluesleep"
|
|
- host-wake-gpio: Specify GPIO for Host wake signal (Controller -> Host).
|
|
- ext-wake-gpio: Specify GPIO for Controller wake signal(Host -> Controller).
|
|
- interrupt-parent: Should be phandle for the interrupt controller
|
|
that services interrupts for this device.
|
|
- interrupts: Should contain host wake interrupt from controller.
|
|
- interrupt-names: indicates interrupts passed to driver
|
|
(via interrupts property) by name. "host_wake" is mandatory.
|
|
|
|
Optional Properties:
|
|
None
|
|
|
|
Example:
|
|
|
|
bt_sleep {
|
|
compatible = "qca,ar3002_bluesleep";
|
|
host-wake-gpio = <&msmgpio 12 0>;
|
|
ext-wake-gpio = <&msmgpio 13 0>;
|
|
interrupt-parent = <&msmgpio>;
|
|
interrupts = <12 0>;
|
|
interrupt-names = "host_wake";
|
|
};
|