mbox series

[v1,0/2] Bluetooth: btnxpuart: Add GPIO mechanism to

Message ID 20241001174021.522254-1-neeraj.sanjaykale@nxp.com
Headers show
Series Bluetooth: btnxpuart: Add GPIO mechanism to | expand

Message

Neeraj Sanjay Kale Oct. 1, 2024, 5:40 p.m. UTC
This patch series introduces a new optional device tree property
h2c-ps-gpio.

If this property is defined, the BTNXPUART driver uses this GPIO to put
the BT controller into sleep or wake it up.

The vendor command parameters HCI_NXP_WAKEUP_METHOD are configured to
use GPIO method instead of UART-break signal, to inform the chip about
this new mechanism.

Once power save feature is enabled, the driver puts the chip into power
save state by driving the GPIO high, and wakes it up by driving the GPIO
low.

Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>

Neeraj Sanjay Kale (2):
  dt-bindings: net: bluetooth: nxp: Add support for power save feature
    using GPIO
  Bluetooth: btnxpuart: Add GPIO support to power save feature

 .../net/bluetooth/nxp,88w8987-bt.yaml         |  7 ++++
 drivers/bluetooth/btnxpuart.c                 | 36 +++++++++++++++++--
 2 files changed, 41 insertions(+), 2 deletions(-)

Comments

Krzysztof Kozlowski Oct. 1, 2024, 6:03 p.m. UTC | #1
On 01/10/2024 19:40, Neeraj Sanjay Kale wrote:
> This adds a new optional device tree property called h2c-ps-gpio.
> 
> If this property is defined, the driver will use this GPIO for driving chip
> into sleep/wakeup state.

You described the desired Linux feature or behavior, not the actual
hardware. The bindings are about the latter, so instead you need to
rephrase this to match actual hardware
capabilities/features/configuration etc.

> 
> Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
> ---
>  .../devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml  | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> index 37a65badb448..e4eeee9bed68 100644
> --- a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> +++ b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> @@ -34,6 +34,11 @@ properties:
>    firmware-name:
>      maxItems: 1
>  
> +  h2c-ps-gpio:
> +    maxItems: 1
> +    description:
> +      Host-To-Chip power save mechanism is driven by this GPIO.

Which pin is it?

> +



Best regards,
Krzysztof
Rob Herring (Arm) Oct. 2, 2024, 9:05 p.m. UTC | #2
On Tue, Oct 01, 2024 at 11:10:20PM +0530, Neeraj Sanjay Kale wrote:
> This adds a new optional device tree property called h2c-ps-gpio.
> 
> If this property is defined, the driver will use this GPIO for driving chip
> into sleep/wakeup state.
> 
> Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
> ---
>  .../devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml  | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> index 37a65badb448..e4eeee9bed68 100644
> --- a/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> +++ b/Documentation/devicetree/bindings/net/bluetooth/nxp,88w8987-bt.yaml
> @@ -34,6 +34,11 @@ properties:
>    firmware-name:
>      maxItems: 1
>  
> +  h2c-ps-gpio:

'-gpio' is deprecated. Use '-gpios'.

> +    maxItems: 1
> +    description:
> +      Host-To-Chip power save mechanism is driven by this GPIO.
> +
>  required:
>    - compatible
>  
> @@ -41,10 +46,12 @@ additionalProperties: false
>  
>  examples:
>    - |
> +    #include <dt-bindings/gpio/gpio.h>
>      serial {
>          bluetooth {
>              compatible = "nxp,88w8987-bt";
>              fw-init-baudrate = <3000000>;
>              firmware-name = "uartuart8987_bt_v0.bin";
> +            h2c-ps-gpio = <&gpio 11 GPIO_ACTIVE_HIGH>;
>          };
>      };
> -- 
> 2.25.1
>