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 interrupts: 97 items: 98 - description: Handle to the line HOST_WAKE used to wake 99 up the host processor. This uses the BT_GPIO_1 pin on 100 the chip when in use. 101 102 interrupt-names: 103 items: 104 - const: host-wakeup 105 106 max-speed: true 107 current-speed: true 108 109required: 110 - compatible 111 112additionalProperties: false 113 114examples: 115 - | 116 #include <dt-bindings/gpio/gpio.h> 117 #include <dt-bindings/interrupt-controller/irq.h> 118 119 uart { 120 uart-has-rtscts; 121 122 bluetooth { 123 compatible = "brcm,bcm4330-bt"; 124 max-speed = <921600>; 125 brcm,bt-pcm-int-params = [01 02 00 01 01]; 126 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 127 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 128 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 129 interrupt-parent = <&gpio>; 130 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 131 }; 132 }; 133