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