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 minItems: 1 55 maxItems: 2 56 description: 1 or 2 clocks as defined in clock-names below, 57 in that order 58 59 clock-names: 60 description: Names of the 1 to 2 supplied clocks 61 oneOf: 62 - const: extclk 63 deprecated: true 64 description: Deprecated in favor of txco 65 66 - const: txco 67 description: > 68 external reference clock (not a standalone crystal) 69 70 - const: lpo 71 description: > 72 external low power 32.768 kHz clock 73 74 - items: 75 - const: txco 76 - const: lpo 77 78 vbat-supply: 79 description: phandle to regulator supply for VBAT 80 81 vddio-supply: 82 description: phandle to regulator supply for VDDIO 83 84 brcm,bt-pcm-int-params: 85 $ref: /schemas/types.yaml#/definitions/uint8-array 86 minItems: 5 87 maxItems: 5 88 description: |- 89 configure PCM parameters via a 5-byte array: 90 sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 91 pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 92 pcm-frame-type: short, long 93 pcm-sync-mode: slave, master 94 pcm-clock-mode: slave, master 95 96 brcm,requires-autobaud-mode: 97 type: boolean 98 description: 99 Set this property if autobaud mode is required. Autobaud mode is required 100 if the device's initial baud rate in normal mode is not supported by the 101 host or if the device requires autobaud mode startup before loading FW. 102 103 interrupts: 104 items: 105 - description: Handle to the line HOST_WAKE used to wake 106 up the host processor. This uses the BT_GPIO_1 pin on 107 the chip when in use. 108 109 interrupt-names: 110 items: 111 - const: host-wakeup 112 113 max-speed: true 114 current-speed: true 115 116required: 117 - compatible 118 119additionalProperties: false 120 121examples: 122 - | 123 #include <dt-bindings/gpio/gpio.h> 124 #include <dt-bindings/interrupt-controller/irq.h> 125 126 uart { 127 uart-has-rtscts; 128 129 bluetooth { 130 compatible = "brcm,bcm4330-bt"; 131 max-speed = <921600>; 132 brcm,bt-pcm-int-params = [01 02 00 01 01]; 133 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 134 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 135 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 136 interrupt-parent = <&gpio>; 137 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 138 }; 139 }; 140