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