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 27 shutdown-gpios: 28 maxItems: 1 29 description: GPIO specifier for the line BT_REG_ON used to 30 power on the BT module 31 32 reset-gpios: 33 maxItems: 1 34 description: GPIO specifier for the line BT_RST_N used to 35 reset the BT module. This should be marked as 36 GPIO_ACTIVE_LOW. 37 38 device-wakeup-gpios: 39 maxItems: 1 40 description: GPIO specifier for the line BT_WAKE used to 41 wakeup the controller. This is using the BT_GPIO_0 42 pin on the chip when in use. 43 44 host-wakeup-gpios: 45 maxItems: 1 46 deprecated: true 47 description: GPIO specifier for the line HOST_WAKE used 48 to wakeup the host processor. This is using he BT_GPIO_1 49 pin on the chip when in use. This is deprecated and replaced 50 by interrupts and "host-wakeup" interrupt-names 51 52 clocks: 53 minItems: 1 54 maxItems: 2 55 description: 1 or 2 clocks as defined in clock-names below, 56 in that order 57 58 clock-names: 59 description: Names of the 1 to 2 supplied clocks 60 oneOf: 61 - const: extclk 62 deprecated: true 63 description: Deprecated in favor of txco 64 65 - const: txco 66 description: > 67 external reference clock (not a standalone crystal) 68 69 - const: lpo 70 description: > 71 external low power 32.768 kHz clock 72 73 - items: 74 - const: txco 75 - const: lpo 76 77 vbat-supply: 78 description: phandle to regulator supply for VBAT 79 80 vddio-supply: 81 description: phandle to regulator supply for VDDIO 82 83 brcm,bt-pcm-int-params: 84 $ref: /schemas/types.yaml#/definitions/uint8-array 85 minItems: 5 86 maxItems: 5 87 description: |- 88 configure PCM parameters via a 5-byte array: 89 sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 90 pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 91 pcm-frame-type: short, long 92 pcm-sync-mode: slave, master 93 pcm-clock-mode: slave, master 94 95 interrupts: 96 items: 97 - description: Handle to the line HOST_WAKE used to wake 98 up the host processor. This uses the BT_GPIO_1 pin on 99 the chip when in use. 100 101 interrupt-names: 102 items: 103 - const: host-wakeup 104 105 max-speed: true 106 current-speed: true 107 108required: 109 - compatible 110 111additionalProperties: false 112 113examples: 114 - | 115 #include <dt-bindings/gpio/gpio.h> 116 #include <dt-bindings/interrupt-controller/irq.h> 117 118 uart { 119 uart-has-rtscts; 120 121 bluetooth { 122 compatible = "brcm,bcm4330-bt"; 123 max-speed = <921600>; 124 brcm,bt-pcm-int-params = [01 02 00 01 01]; 125 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 126 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 127 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 128 interrupt-parent = <&gpio>; 129 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 130 }; 131 }; 132