• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
7title: Broadcom Bluetooth Chips
8
9maintainers:
10  - Linus Walleij <linus.walleij@linaro.org>
11
12description:
13  This binding describes Broadcom UART-attached bluetooth chips.
14
15properties:
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
96required:
97  - compatible
98
99additionalProperties: false
100
101examples:
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    };
120