xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/broadcom-bluetooth.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotBroadcom Bluetooth Chips
2*c66ec88fSEmmanuel Vadot---------------------
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotThis documents the binding structure and common properties for serial
5*c66ec88fSEmmanuel Vadotattached Broadcom devices.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotSerial attached Broadcom devices shall be a child node of the host UART
8*c66ec88fSEmmanuel Vadotdevice the slave device is attached to.
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel VadotRequired properties:
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadot - compatible: should contain one of the following:
13*c66ec88fSEmmanuel Vadot   * "brcm,bcm20702a1"
14*c66ec88fSEmmanuel Vadot   * "brcm,bcm4329-bt"
15*c66ec88fSEmmanuel Vadot   * "brcm,bcm4330-bt"
16*c66ec88fSEmmanuel Vadot   * "brcm,bcm43438-bt"
17*c66ec88fSEmmanuel Vadot   * "brcm,bcm4345c5"
18*c66ec88fSEmmanuel Vadot   * "brcm,bcm43540-bt"
19*c66ec88fSEmmanuel Vadot   * "brcm,bcm4335a0"
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel VadotOptional properties:
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
24*c66ec88fSEmmanuel Vadot - shutdown-gpios: GPIO specifier, used to enable the BT module
25*c66ec88fSEmmanuel Vadot - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
26*c66ec88fSEmmanuel Vadot - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor.
27*c66ec88fSEmmanuel Vadot                      deprecated, replaced by interrupts and
28*c66ec88fSEmmanuel Vadot                      "host-wakeup" interrupt-names
29*c66ec88fSEmmanuel Vadot - clocks: 1 or 2 clocks as defined in clock-names below, in that order
30*c66ec88fSEmmanuel Vadot - clock-names: names for clock inputs, matching the clocks given
31*c66ec88fSEmmanuel Vadot   - "extclk": deprecated, replaced by "txco"
32*c66ec88fSEmmanuel Vadot   - "txco": external reference clock (not a standalone crystal)
33*c66ec88fSEmmanuel Vadot   - "lpo": external low power 32.768 kHz clock
34*c66ec88fSEmmanuel Vadot - vbat-supply: phandle to regulator supply for VBAT
35*c66ec88fSEmmanuel Vadot - vddio-supply: phandle to regulator supply for VDDIO
36*c66ec88fSEmmanuel Vadot - brcm,bt-pcm-int-params: configure PCM parameters via a 5-byte array
37*c66ec88fSEmmanuel Vadot    - sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
38*c66ec88fSEmmanuel Vadot    - pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
39*c66ec88fSEmmanuel Vadot    - pcm-frame-type: short, long
40*c66ec88fSEmmanuel Vadot    - pcm-sync-mode: slave, master
41*c66ec88fSEmmanuel Vadot    - pcm-clock-mode: slave, master
42*c66ec88fSEmmanuel Vadot - interrupts: must be one, used to wakeup the host processor
43*c66ec88fSEmmanuel Vadot - interrupt-names: must be "host-wakeup"
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel VadotExample:
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot&uart2 {
48*c66ec88fSEmmanuel Vadot       pinctrl-names = "default";
49*c66ec88fSEmmanuel Vadot       pinctrl-0 = <&uart2_pins>;
50*c66ec88fSEmmanuel Vadot
51*c66ec88fSEmmanuel Vadot       bluetooth {
52*c66ec88fSEmmanuel Vadot               compatible = "brcm,bcm43438-bt";
53*c66ec88fSEmmanuel Vadot               max-speed = <921600>;
54*c66ec88fSEmmanuel Vadot               brcm,bt-pcm-int-params = [01 02 00 01 01];
55*c66ec88fSEmmanuel Vadot       };
56*c66ec88fSEmmanuel Vadot};
57