Broadcom Bluetooth Chips
---------------------

This documents the binding structure and common properties for serial
attached Broadcom devices.

Serial attached Broadcom devices shall be a child node of the host UART
device the slave device is attached to.

Required properties:

 - compatible: should contain one of the following:
   * "brcm,bcm20702a1"
   * "brcm,bcm4329-bt"
   * "brcm,bcm4330-bt"
   * "brcm,bcm43438-bt"
   * "brcm,bcm4345c5"
   * "brcm,bcm43540-bt"
   * "brcm,bcm4335a0"

Optional properties:

 - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
 - shutdown-gpios: GPIO specifier, used to enable the BT module
 - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
 - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor.
                      deprecated, replaced by interrupts and
                      "host-wakeup" interrupt-names
 - clocks: 1 or 2 clocks as defined in clock-names below, in that order
 - clock-names: names for clock inputs, matching the clocks given
   - "extclk": deprecated, replaced by "txco"
   - "txco": external reference clock (not a standalone crystal)
   - "lpo": external low power 32.768 kHz clock
 - vbat-supply: phandle to regulator supply for VBAT
 - vddio-supply: phandle to regulator supply for VDDIO
 - brcm,bt-pcm-int-params: configure PCM parameters via a 5-byte array
    - sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
    - pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
    - pcm-frame-type: short, long
    - pcm-sync-mode: slave, master
    - pcm-clock-mode: slave, master
 - interrupts: must be one, used to wakeup the host processor
 - interrupt-names: must be "host-wakeup"

Example:

&uart2 {
       pinctrl-names = "default";
       pinctrl-0 = <&uart2_pins>;

       bluetooth {
               compatible = "brcm,bcm43438-bt";
               max-speed = <921600>;
               brcm,bt-pcm-int-params = [01 02 00 01 01];
       };
};
