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 brcm,requires-autobaud-mode: 96 type: boolean 97 description: 98 Set this property if autobaud mode is required. Autobaud mode is required 99 if the device's initial baud rate in normal mode is not supported by the 100 host or if the device requires autobaud mode startup before loading FW. 101 102 interrupts: 103 items: 104 - description: Handle to the line HOST_WAKE used to wake 105 up the host processor. This uses the BT_GPIO_1 pin on 106 the chip when in use. 107 108 interrupt-names: 109 items: 110 - const: host-wakeup 111 112 max-speed: true 113 current-speed: true 114 115required: 116 - compatible 117 118additionalProperties: false 119 120examples: 121 - | 122 #include <dt-bindings/gpio/gpio.h> 123 #include <dt-bindings/interrupt-controller/irq.h> 124 125 uart { 126 uart-has-rtscts; 127 128 bluetooth { 129 compatible = "brcm,bcm4330-bt"; 130 max-speed = <921600>; 131 brcm,bt-pcm-int-params = [01 02 00 01 01]; 132 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 133 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 134 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 135 interrupt-parent = <&gpio>; 136 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 137 }; 138 }; 139