Convert the existing text-based DT bindings for Marvell 8897/8997
(sd8897/sd8997) bluetooth devices controller to a YAML schema.

While here, bindings for "usb1286,204e" (USB interface) are dropped from
the YAML definition as these are currently documented in file:

- Documentation/devicetree/bindings/net/btusb.txt

Signed-off-by: Ariel D'Alessandro <ariel.dalessan...@collabora.com>
---
 .../bindings/net/marvell,sd8897-bt.yaml       | 91 +++++++++++++++++++
 .../bindings/net/marvell-bt-8xxx.txt          | 83 -----------------
 2 files changed, 91 insertions(+), 83 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt

diff --git a/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml 
b/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
new file mode 100644
index 0000000000000..6539868c08b8a
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/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.dalessan...@collabora.com>
+
+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.
+    minItems: 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:
+    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>
+    #include <dt-bindings/pinctrl/rockchip.h>
+
+    sdio0 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        btmrvl: btmrvl@2 {
+            compatible = "marvell,sd8897-bt";
+            reg = <2>;
+            interrupt-parent = <&gpio4>;
+            interrupts = <RK_PD7 IRQ_TYPE_LEVEL_LOW>;
+            marvell,wakeup-pin = /bits/ 16 <13>;
+            pinctrl-names = "default";
+            pinctrl-0 = <&bt_host_wake_l>;
+        };
+    };
+
+    mmc3 {
+        vmmc-supply = <&wlan_en_reg>;
+        bus-width = <4>;
+        cap-power-off-card;
+        keep-power-in-suspend;
+
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        bluetooth: 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>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt 
b/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
deleted file mode 100644
index 957e5e5c2927c..0000000000000
--- a/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based)
-------
-The 8997 devices supports multiple interfaces. When used on SDIO interfaces,
-the btmrvl driver is used and when used on USB interface, the btusb driver is
-used.
-
-Required properties:
-
-  - compatible : should be one of the following:
-       * "marvell,sd8897-bt" (for SDIO)
-       * "marvell,sd8997-bt" (for SDIO)
-       * "usb1286,204e"      (for USB)
-
-Optional properties:
-
-  - marvell,cal-data: Calibration data downloaded to the device during
-                     initialization. This is an array of 28 values(u8).
-                     This is only applicable to SDIO devices.
-
-  - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip.
-                       firmware will use the pin to wakeup host system (u16).
-  - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
-                     platform. The value will be configured to firmware. This
-                     is needed to work chip's sleep feature as expected (u16).
-  - interrupt-names: Used only for USB based devices (See below)
-  - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
-                driver will use the first interrupt specified in the interrupt
-                array. For USB based devices, the driver will use the interrupt
-                named "wakeup" from the interrupt-names and interrupt arrays.
-                The driver will request an irq based on this interrupt number.
-                During system suspend, the irq will be enabled so that the
-                bluetooth chip can wakeup host platform under certain
-                conditions. During system resume, the irq will be disabled
-                to make sure unnecessary interrupt is not received.
-
-Example:
-
-IRQ pin 119 is used as system wakeup source interrupt.
-wakeup pin 13 and gap 100ms are configured so that firmware can wakeup host
-using this device side pin and wakeup latency.
-
-Example for SDIO device follows (calibration data is also available in
-below example).
-
-&mmc3 {
-       vmmc-supply = <&wlan_en_reg>;
-       bus-width = <4>;
-       cap-power-off-card;
-       keep-power-in-suspend;
-
-       #address-cells = <1>;
-       #size-cells = <0>;
-       btmrvl: 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>;
-       };
-};
-
-Example for USB device:
-
-&usb_host1_ohci {
-    #address-cells = <1>;
-    #size-cells = <0>;
-
-    mvl_bt1: bt@1 {
-       compatible = "usb1286,204e";
-       reg = <1>;
-       interrupt-parent = <&gpio0>;
-       interrupt-names = "wakeup";
-       interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
-       marvell,wakeup-pin = /bits/ 16 <0x0d>;
-       marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
-    };
-};
-- 
2.50.1

Reply via email to