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 - infineon,cyw55572-bt
28
29 shutdown-gpios:
30 maxItems: 1
31 description: GPIO specifier for the line BT_REG_ON used to
32 power on the BT module
33
34 reset-gpios:
35 maxItems: 1
36 description: GPIO specifier for the line BT_RST_N used to
37 reset the BT module. This should be marked as
38 GPIO_ACTIVE_LOW.
39
40 device-wakeup-gpios:
41 maxItems: 1
42 description: GPIO specifier for the line BT_WAKE used to
43 wakeup the controller. This is using the BT_GPIO_0
44 pin on the chip when in use.
45
46 host-wakeup-gpios:
47 maxItems: 1
48 deprecated: true
49 description: GPIO specifier for the line HOST_WAKE used
50 to wakeup the host processor. This is using he BT_GPIO_1
51 pin on the chip when in use. This is deprecated and replaced
52 by interrupts and "host-wakeup" interrupt-names
53
54 clocks:
55 minItems: 1
56 maxItems: 2
57 description: 1 or 2 clocks as defined in clock-names below,
58 in that order
59
60 clock-names:
61 description: Names of the 1 to 2 supplied clocks
62 oneOf:
63 - const: extclk
64 deprecated: true
65 description: Deprecated in favor of txco
66
67 - const: txco
68 description: >
69 external reference clock (not a standalone crystal)
70
71 - const: lpo
72 description: >
73 external low power 32.768 kHz clock
74
75 - items:
76 - const: txco
77 - const: lpo
78
79 vbat-supply:
80 description: phandle to regulator supply for VBAT
81
82 vddio-supply:
83 description: phandle to regulator supply for VDDIO
84
85 brcm,bt-pcm-int-params:
86 $ref: /schemas/types.yaml#/definitions/uint8-array
87 minItems: 5
88 maxItems: 5
89 description: |-
90 configure PCM parameters via a 5-byte array:
91 sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
92 pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
93 pcm-frame-type: short, long
94 pcm-sync-mode: slave, master
95 pcm-clock-mode: slave, master
96
97 brcm,requires-autobaud-mode:
98 type: boolean
99 description:
100 Set this property if autobaud mode is required. Autobaud mode is required
101 if the device's initial baud rate in normal mode is not supported by the
102 host or if the device requires autobaud mode startup before loading FW.
103
104 interrupts:
105 items:
106 - description: Handle to the line HOST_WAKE used to wake
107 up the host processor. This uses the BT_GPIO_1 pin on
108 the chip when in use.
109
110 interrupt-names:
111 items:
112 - const: host-wakeup
113
114 max-speed: true
115 current-speed: true
116
117 required:
118 - compatible
119
120 dependencies:
121 brcm,requires-autobaud-mode: [ 'shutdown-gpios' ]
122
123 if:
124 not:
125 properties:
126 compatible:
127 contains:
128 enum:
129 - brcm,bcm20702a1
130 - brcm,bcm4329-bt
131 - brcm,bcm4330-bt
132 then:
133 properties:
134 reset-gpios: false
135
136 additionalProperties: false
137
138 examples:
139 - |
140 #include <dt-bindings/gpio/gpio.h>
141 #include <dt-bindings/interrupt-controller/irq.h>
142
143 uart {
144 uart-has-rtscts;
145
146 bluetooth {
147 compatible = "brcm,bcm4330-bt";
148 max-speed = <921600>;
149 brcm,bt-pcm-int-params = [01 02 00 01 01];
150 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>;
151 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
152 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
153 interrupt-parent = <&gpio>;
154 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
155 };
156 };
Cache object: 7323dd5219f0cb8f6618783cd2c23468
|