GNU Linux-libre 5.15.137-gnu
[releases.git] / Documentation / devicetree / bindings / net / broadcom-bluetooth.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom Bluetooth Chips
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description:
13   This binding describes Broadcom UART-attached bluetooth chips.
14
15 properties:
16   compatible:
17     enum:
18       - brcm,bcm20702a1
19       - brcm,bcm4329-bt
20       - brcm,bcm4330-bt
21       - brcm,bcm4334-bt
22       - brcm,bcm43438-bt
23       - brcm,bcm4345c5
24       - brcm,bcm43540-bt
25       - brcm,bcm4335a0
26       - brcm,bcm4349-bt
27
28   shutdown-gpios:
29     maxItems: 1
30     description: GPIO specifier for the line BT_REG_ON used to
31       power on the BT module
32
33   reset-gpios:
34     maxItems: 1
35     description: GPIO specifier for the line BT_RST_N used to
36       reset the BT module. This should be marked as
37       GPIO_ACTIVE_LOW.
38
39   device-wakeup-gpios:
40     maxItems: 1
41     description: GPIO specifier for the line BT_WAKE used to
42       wakeup the controller. This is using the BT_GPIO_0
43       pin on the chip when in use.
44
45   host-wakeup-gpios:
46     maxItems: 1
47     deprecated: true
48     description: GPIO specifier for the line HOST_WAKE used
49       to wakeup the host processor. This is using he BT_GPIO_1
50       pin on the chip when in use. This is deprecated and replaced
51       by interrupts and "host-wakeup" interrupt-names
52
53   clocks:
54     maxItems: 2
55     description: 1 or 2 clocks as defined in clock-names below,
56       in that order
57
58   clock-names:
59     description: Names of the 1 to 2 supplied clocks
60     items:
61       - const: txco
62       - const: lpo
63       - const: extclk
64
65   vbat-supply:
66     description: phandle to regulator supply for VBAT
67
68   vddio-supply:
69     description: phandle to regulator supply for VDDIO
70
71   brcm,bt-pcm-int-params:
72     $ref: /schemas/types.yaml#/definitions/uint8-array
73     minItems: 5
74     maxItems: 5
75     description: |-
76       configure PCM parameters via a 5-byte array:
77        sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
78        pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
79        pcm-frame-type: short, long
80        pcm-sync-mode: slave, master
81        pcm-clock-mode: slave, master
82
83   interrupts:
84     items:
85       - description: Handle to the line HOST_WAKE used to wake
86           up the host processor. This uses the BT_GPIO_1 pin on
87           the chip when in use.
88
89   interrupt-names:
90     items:
91       - const: host-wakeup
92
93   max-speed: true
94   current-speed: true
95
96 required:
97   - compatible
98
99 additionalProperties: false
100
101 examples:
102   - |
103     #include <dt-bindings/gpio/gpio.h>
104     #include <dt-bindings/interrupt-controller/irq.h>
105
106     uart {
107         uart-has-rtscts;
108
109         bluetooth {
110             compatible = "brcm,bcm4330-bt";
111             max-speed = <921600>;
112             brcm,bt-pcm-int-params = [01 02 00 01 01];
113             shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>;
114             device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
115             reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
116             interrupt-parent = <&gpio>;
117             interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
118         };
119     };