123456789101112131415161718192021222324252627282930313233343536373839404142 |
- * 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";
- };
|