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