1251881Speter# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2251881Speter%YAML 1.2 3251881Speter--- 4251881Speter$id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 5251881Speter$schema: http://devicetree.org/meta-schemas/core.yaml# 6251881Speter 7251881Spetertitle: Broadcom Bluetooth Chips 8251881Speter 9251881Spetermaintainers: 10251881Speter - Linus Walleij <linus.walleij@linaro.org> 11251881Speter 12251881Speterdescription: 13251881Speter This binding describes Broadcom UART-attached bluetooth chips. 14251881Speter 15251881Speterproperties: 16251881Speter compatible: 17251881Speter oneOf: 18251881Speter - items: 19251881Speter - enum: 20251881Speter - infineon,cyw43439-bt 21251881Speter - const: brcm,bcm4329-bt 22251881Speter - enum: 23251881Speter - brcm,bcm20702a1 24251881Speter - brcm,bcm4329-bt 25251881Speter - brcm,bcm4330-bt 26251881Speter - brcm,bcm4334-bt 27251881Speter - brcm,bcm43430a0-bt 28251881Speter - brcm,bcm43430a1-bt 29251881Speter - brcm,bcm43438-bt 30251881Speter - brcm,bcm4345c5 31251881Speter - brcm,bcm43540-bt 32251881Speter - brcm,bcm4335a0 33251881Speter - brcm,bcm4349-bt 34251881Speter - cypress,cyw4373a0-bt 35251881Speter - infineon,cyw55572-bt 36251881Speter 37251881Speter shutdown-gpios: 38251881Speter maxItems: 1 39251881Speter description: GPIO specifier for the line BT_REG_ON used to 40251881Speter power on the BT module 41251881Speter 42251881Speter reset-gpios: 43251881Speter maxItems: 1 44251881Speter description: GPIO specifier for the line BT_RST_N used to 45251881Speter reset the BT module. This should be marked as 46251881Speter GPIO_ACTIVE_LOW. 47251881Speter 48251881Speter device-wakeup-gpios: 49251881Speter maxItems: 1 50251881Speter description: GPIO specifier for the line BT_WAKE used to 51251881Speter wakeup the controller. This is using the BT_GPIO_0 52251881Speter pin on the chip when in use. 53251881Speter 54251881Speter host-wakeup-gpios: 55251881Speter maxItems: 1 56251881Speter deprecated: true 57251881Speter description: GPIO specifier for the line HOST_WAKE used 58251881Speter to wakeup the host processor. This is using he BT_GPIO_1 59251881Speter pin on the chip when in use. This is deprecated and replaced 60251881Speter by interrupts and "host-wakeup" interrupt-names 61251881Speter 62 clocks: 63 minItems: 1 64 maxItems: 2 65 description: 1 or 2 clocks as defined in clock-names below, 66 in that order 67 68 clock-names: 69 description: Names of the 1 to 2 supplied clocks 70 oneOf: 71 - const: extclk 72 deprecated: true 73 description: Deprecated in favor of txco 74 75 - const: txco 76 description: > 77 external reference clock (not a standalone crystal) 78 79 - const: lpo 80 description: > 81 external low power 32.768 kHz clock 82 83 - items: 84 - const: txco 85 - const: lpo 86 87 vbat-supply: 88 description: phandle to regulator supply for VBAT 89 90 vddio-supply: 91 description: phandle to regulator supply for VDDIO 92 93 brcm,bt-pcm-int-params: 94 $ref: /schemas/types.yaml#/definitions/uint8-array 95 minItems: 5 96 maxItems: 5 97 description: |- 98 configure PCM parameters via a 5-byte array: 99 sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 100 pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 101 pcm-frame-type: short, long 102 pcm-sync-mode: slave, master 103 pcm-clock-mode: slave, master 104 105 brcm,requires-autobaud-mode: 106 type: boolean 107 description: 108 Set this property if autobaud mode is required. Autobaud mode is required 109 if the device's initial baud rate in normal mode is not supported by the 110 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 wake 115 up the host processor. This uses the BT_GPIO_1 pin on 116 the chip when in use. 117 118 interrupt-names: 119 items: 120 - const: host-wakeup 121 122 max-speed: true 123 current-speed: true 124 125required: 126 - compatible 127 128dependencies: 129 brcm,requires-autobaud-mode: [ shutdown-gpios ] 130 131if: 132 not: 133 properties: 134 compatible: 135 contains: 136 enum: 137 - brcm,bcm20702a1 138 - brcm,bcm4329-bt 139 - brcm,bcm4330-bt 140then: 141 properties: 142 reset-gpios: false 143 144additionalProperties: false 145 146examples: 147 - | 148 #include <dt-bindings/gpio/gpio.h> 149 #include <dt-bindings/interrupt-controller/irq.h> 150 151 uart { 152 uart-has-rtscts; 153 154 bluetooth { 155 compatible = "brcm,bcm4330-bt"; 156 max-speed = <921600>; 157 brcm,bt-pcm-int-params = [01 02 00 01 01]; 158 shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 159 device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 160 reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 161 interrupt-parent = <&gpio>; 162 interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 163 }; 164 }; 165