164 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/bluetooth/brcm,bluetooth.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Broadcom Bluetooth Chips8 9maintainers:10 - Linus Walleij <linus.walleij@linaro.org>11 12description:13 This binding describes Broadcom UART-attached bluetooth chips.14 15properties:16 compatible:17 oneOf:18 - items:19 - enum:20 - infineon,cyw43439-bt21 - const: brcm,bcm4329-bt22 - enum:23 - brcm,bcm20702a124 - brcm,bcm4329-bt25 - brcm,bcm4330-bt26 - brcm,bcm4334-bt27 - brcm,bcm43430a0-bt28 - brcm,bcm43430a1-bt29 - brcm,bcm43438-bt30 - brcm,bcm4345c531 - brcm,bcm43540-bt32 - brcm,bcm4335a033 - brcm,bcm4349-bt34 - cypress,cyw4373a0-bt35 - infineon,cyw55572-bt36 37 shutdown-gpios:38 maxItems: 139 description: GPIO specifier for the line BT_REG_ON used to40 power on the BT module41 42 reset-gpios:43 maxItems: 144 description: GPIO specifier for the line BT_RST_N used to45 reset the BT module. This should be marked as46 GPIO_ACTIVE_LOW.47 48 device-wakeup-gpios:49 maxItems: 150 description: GPIO specifier for the line BT_WAKE used to51 wakeup the controller. This is using the BT_GPIO_052 pin on the chip when in use.53 54 host-wakeup-gpios:55 maxItems: 156 deprecated: true57 description: GPIO specifier for the line HOST_WAKE used58 to wakeup the host processor. This is using he BT_GPIO_159 pin on the chip when in use. This is deprecated and replaced60 by interrupts and "host-wakeup" interrupt-names61 62 clocks:63 minItems: 164 maxItems: 265 description: 1 or 2 clocks as defined in clock-names below,66 in that order67 68 clock-names:69 description: Names of the 1 to 2 supplied clocks70 oneOf:71 - const: extclk72 deprecated: true73 description: Deprecated in favor of txco74 75 - const: txco76 description: >77 external reference clock (not a standalone crystal)78 79 - const: lpo80 description: >81 external low power 32.768 kHz clock82 83 - items:84 - const: txco85 - const: lpo86 87 vbat-supply:88 description: phandle to regulator supply for VBAT89 90 vddio-supply:91 description: phandle to regulator supply for VDDIO92 93 brcm,bt-pcm-int-params:94 $ref: /schemas/types.yaml#/definitions/uint8-array95 minItems: 596 maxItems: 597 description: |-98 configure PCM parameters via a 5-byte array:99 sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S100 pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps101 pcm-frame-type: short, long102 pcm-sync-mode: slave, master103 pcm-clock-mode: slave, master104 105 brcm,requires-autobaud-mode:106 type: boolean107 description:108 Set this property if autobaud mode is required. Autobaud mode is required109 if the device's initial baud rate in normal mode is not supported by the110 host or if the device requires autobaud mode startup before loading FW.111 112 interrupts:113 items:114 - description: Handle to the line HOST_WAKE used to wake115 up the host processor. This uses the BT_GPIO_1 pin on116 the chip when in use.117 118 interrupt-names:119 items:120 - const: host-wakeup121 122required:123 - compatible124 125dependencies:126 brcm,requires-autobaud-mode: [ shutdown-gpios ]127 128allOf:129 - $ref: /schemas/serial/serial-peripheral-props.yaml#130 - if:131 not:132 properties:133 compatible:134 contains:135 enum:136 - brcm,bcm20702a1137 - brcm,bcm4329-bt138 - brcm,bcm4330-bt139 then:140 properties:141 reset-gpios: false142 143unevaluatedProperties: false144 145examples:146 - |147 #include <dt-bindings/gpio/gpio.h>148 #include <dt-bindings/interrupt-controller/irq.h>149 150 uart {151 uart-has-rtscts;152 153 bluetooth {154 compatible = "brcm,bcm4330-bt";155 max-speed = <921600>;156 brcm,bt-pcm-int-params = [01 02 00 01 01];157 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>;158 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;159 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;160 interrupt-parent = <&gpio>;161 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;162 };163 };164