[PATCH v5 3/4] dt-bindings: net: broadcom-bluetooth: Add pcm config

From: Abhishek Pandit-Subedi
Date: Thu Nov 14 2019 - 21:10:31 EST


Add documentation for pcm parameters.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx>
---

Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None

.../bindings/net/broadcom-bluetooth.txt | 20 +++++++++++-
include/dt-bindings/bluetooth/brcm.h | 32 +++++++++++++++++++
2 files changed, 51 insertions(+), 1 deletion(-)
create mode 100644 include/dt-bindings/bluetooth/brcm.h

diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
index c749dc297624..a92da31daa79 100644
--- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.txt
@@ -29,10 +29,22 @@ Optional properties:
- "lpo": external low power 32.768 kHz clock
- vbat-supply: phandle to regulator supply for VBAT
- vddio-supply: phandle to regulator supply for VDDIO
-
+ - brcm,bt-sco-routing: PCM, Transport, Codec, I2S
+ This value must be set in order for the latter
+ properties to take effect.
+ - brcm,bt-pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
+ - brcm,bt-pcm-frame-type: short, long
+ - brcm,bt-pcm-sync-mode: slave, master
+ - brcm,bt-pcm-clock-mode: slave, master
+
+See include/dt-bindings/bluetooth/brcm.h for SCO/PCM parameters. The default
+value for all these values are 0 (except for brcm,bt-sco-routing which requires
+a value) if you choose to leave it out.

Example:

+#include <dt-bindings/bluetooth/brcm.h>
+
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
@@ -40,5 +52,11 @@ Example:
bluetooth {
compatible = "brcm,bcm43438-bt";
max-speed = <921600>;
+
+ brcm,bt-sco-routing = <BRCM_SCO_ROUTING_TRANSPORT>;
+ brcm,bt-pcm-interface-rate = <BRCM_PCM_IF_RATE_512KBPS>;
+ brcm,bt-pcm-frame-type = <BRCM_PCM_FRAME_TYPE_SHORT>;
+ brcm,bt-pcm-sync-mode = <BRCM_PCM_SYNC_MODE_MASTER>;
+ brcm,bt-pcm-clock-mode = <BRCM_PCM_CLOCK_MODE_MASTER>;
};
};
diff --git a/include/dt-bindings/bluetooth/brcm.h b/include/dt-bindings/bluetooth/brcm.h
new file mode 100644
index 000000000000..8b86f90d7dd2
--- /dev/null
+++ b/include/dt-bindings/bluetooth/brcm.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/*
+ * This header provides constants for Broadcom bluetooth dt-bindings.
+ */
+#ifndef _DT_BINDINGS_BLUETOOTH_BRCM_H
+#define _DT_BINDINGS_BLUETOOTH_BRCM_H
+
+#define BRCM_BT_SCO_ROUTING_PCM 0
+#define BRCM_BT_SCO_ROUTING_TRANSPORT 1
+#define BRCM_BT_SCO_ROUTING_CODEC 2
+#define BRCM_BT_SCO_ROUTING_I2S 3
+
+/* Default is 128KBPs */
+#define BRCM_BT_PCM_INTERFACE_RATE_128KBPS 0
+#define BRCM_BT_PCM_INTERFACE_RATE_256KBPS 1
+#define BRCM_BT_PCM_INTERFACE_RATE_512KBPS 2
+#define BRCM_BT_PCM_INTERFACE_RATE_1024KBPS 3
+#define BRCM_BT_PCM_INTERFACE_RATE_2048KBPS 4
+
+/* Default should be short */
+#define BRCM_BT_PCM_FRAME_TYPE_SHORT 0
+#define BRCM_BT_PCM_FRAME_TYPE_LONG 1
+
+/* Default should be master */
+#define BRCM_BT_PCM_SYNC_MODE_SLAVE 0
+#define BRCM_BT_PCM_SYNC_MODE_MASTER 1
+
+/* Default should be master */
+#define BRCM_BT_PCM_CLOCK_MODE_SLAVE 0
+#define BRCM_BT_PCM_CLOCK_MODE_MASTER 1
+
+#endif /* _DT_BINDINGS_BLUETOOTH_BRCM_H */
--
2.24.0.432.g9d3f5f5b63-goog