The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/net/broadcom-bluetooth.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.