# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/marvell,sd8897-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO)

maintainers:
  - Ariel D'Alessandro <ariel.dalessandro@collabora.com>

allOf:
  - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#

properties:
  compatible:
    enum:
      - marvell,sd8897-bt
      - marvell,sd8997-bt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  marvell,cal-data:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description:
      Calibration data downloaded to the device during initialization.
    maxItems: 28

  marvell,wakeup-pin:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Wakeup pin number of the bluetooth chip. Used by firmware to wakeup host
      system.

  marvell,wakeup-gap-ms:
    $ref: /schemas/types.yaml#/definitions/uint16
    description:
      Wakeup latency of the host platform. Required by the chip sleep feature.

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    mmc {
        vmmc-supply = <&wlan_en_reg>;
        bus-width = <4>;
        cap-power-off-card;
        keep-power-in-suspend;

        #address-cells = <1>;
        #size-cells = <0>;

        bluetooth@2 {
            compatible = "marvell,sd8897-bt";
            reg = <2>;
            interrupt-parent = <&pio>;
            interrupts = <119 IRQ_TYPE_LEVEL_LOW>;

            marvell,cal-data = /bits/ 8 <
                0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
                0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
                0x00 0x00 0xf0 0x00>;
            marvell,wakeup-pin = /bits/ 16 <0x0d>;
            marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
        };
    };

...
