1ab00f2abSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2ab00f2abSKrzysztof Kozlowski%YAML 1.2 3ab00f2abSKrzysztof Kozlowski--- 4ab00f2abSKrzysztof Kozlowski$id: http://devicetree.org/schemas/net/bluetooth/brcm,bluetooth.yaml# 5ab00f2abSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6ab00f2abSKrzysztof Kozlowski 7ab00f2abSKrzysztof Kozlowskititle: Broadcom Bluetooth Chips 8ab00f2abSKrzysztof Kozlowski 9ab00f2abSKrzysztof Kozlowskimaintainers: 10ab00f2abSKrzysztof Kozlowski - Linus Walleij <linus.walleij@linaro.org> 11ab00f2abSKrzysztof Kozlowski 12ab00f2abSKrzysztof Kozlowskidescription: 13ab00f2abSKrzysztof Kozlowski This binding describes Broadcom UART-attached bluetooth chips. 14ab00f2abSKrzysztof Kozlowski 15ab00f2abSKrzysztof Kozlowskiproperties: 16ab00f2abSKrzysztof Kozlowski compatible: 17ab00f2abSKrzysztof Kozlowski oneOf: 18ab00f2abSKrzysztof Kozlowski - items: 19ab00f2abSKrzysztof Kozlowski - enum: 20ab00f2abSKrzysztof Kozlowski - infineon,cyw43439-bt 21ab00f2abSKrzysztof Kozlowski - const: brcm,bcm4329-bt 22ab00f2abSKrzysztof Kozlowski - enum: 23ab00f2abSKrzysztof Kozlowski - brcm,bcm20702a1 24ab00f2abSKrzysztof Kozlowski - brcm,bcm4329-bt 25ab00f2abSKrzysztof Kozlowski - brcm,bcm4330-bt 26ab00f2abSKrzysztof Kozlowski - brcm,bcm4334-bt 27ab00f2abSKrzysztof Kozlowski - brcm,bcm43430a0-bt 28ab00f2abSKrzysztof Kozlowski - brcm,bcm43430a1-bt 29ab00f2abSKrzysztof Kozlowski - brcm,bcm43438-bt 30ab00f2abSKrzysztof Kozlowski - brcm,bcm4345c5 31ab00f2abSKrzysztof Kozlowski - brcm,bcm43540-bt 32ab00f2abSKrzysztof Kozlowski - brcm,bcm4335a0 33ab00f2abSKrzysztof Kozlowski - brcm,bcm4349-bt 34ab00f2abSKrzysztof Kozlowski - cypress,cyw4373a0-bt 35ab00f2abSKrzysztof Kozlowski - infineon,cyw55572-bt 36ab00f2abSKrzysztof Kozlowski 37ab00f2abSKrzysztof Kozlowski shutdown-gpios: 38ab00f2abSKrzysztof Kozlowski maxItems: 1 39ab00f2abSKrzysztof Kozlowski description: GPIO specifier for the line BT_REG_ON used to 40ab00f2abSKrzysztof Kozlowski power on the BT module 41ab00f2abSKrzysztof Kozlowski 42ab00f2abSKrzysztof Kozlowski reset-gpios: 43ab00f2abSKrzysztof Kozlowski maxItems: 1 44ab00f2abSKrzysztof Kozlowski description: GPIO specifier for the line BT_RST_N used to 45ab00f2abSKrzysztof Kozlowski reset the BT module. This should be marked as 46ab00f2abSKrzysztof Kozlowski GPIO_ACTIVE_LOW. 47ab00f2abSKrzysztof Kozlowski 48ab00f2abSKrzysztof Kozlowski device-wakeup-gpios: 49ab00f2abSKrzysztof Kozlowski maxItems: 1 50ab00f2abSKrzysztof Kozlowski description: GPIO specifier for the line BT_WAKE used to 51ab00f2abSKrzysztof Kozlowski wakeup the controller. This is using the BT_GPIO_0 52ab00f2abSKrzysztof Kozlowski pin on the chip when in use. 53ab00f2abSKrzysztof Kozlowski 54ab00f2abSKrzysztof Kozlowski host-wakeup-gpios: 55ab00f2abSKrzysztof Kozlowski maxItems: 1 56ab00f2abSKrzysztof Kozlowski deprecated: true 57ab00f2abSKrzysztof Kozlowski description: GPIO specifier for the line HOST_WAKE used 58ab00f2abSKrzysztof Kozlowski to wakeup the host processor. This is using he BT_GPIO_1 59ab00f2abSKrzysztof Kozlowski pin on the chip when in use. This is deprecated and replaced 60ab00f2abSKrzysztof Kozlowski by interrupts and "host-wakeup" interrupt-names 61ab00f2abSKrzysztof Kozlowski 62ab00f2abSKrzysztof Kozlowski clocks: 63ab00f2abSKrzysztof Kozlowski minItems: 1 64ab00f2abSKrzysztof Kozlowski maxItems: 2 65ab00f2abSKrzysztof Kozlowski description: 1 or 2 clocks as defined in clock-names below, 66ab00f2abSKrzysztof Kozlowski in that order 67ab00f2abSKrzysztof Kozlowski 68ab00f2abSKrzysztof Kozlowski clock-names: 69ab00f2abSKrzysztof Kozlowski description: Names of the 1 to 2 supplied clocks 70ab00f2abSKrzysztof Kozlowski oneOf: 71ab00f2abSKrzysztof Kozlowski - const: extclk 72ab00f2abSKrzysztof Kozlowski deprecated: true 73ab00f2abSKrzysztof Kozlowski description: Deprecated in favor of txco 74ab00f2abSKrzysztof Kozlowski 75ab00f2abSKrzysztof Kozlowski - const: txco 76ab00f2abSKrzysztof Kozlowski description: > 77ab00f2abSKrzysztof Kozlowski external reference clock (not a standalone crystal) 78ab00f2abSKrzysztof Kozlowski 79ab00f2abSKrzysztof Kozlowski - const: lpo 80ab00f2abSKrzysztof Kozlowski description: > 81ab00f2abSKrzysztof Kozlowski external low power 32.768 kHz clock 82ab00f2abSKrzysztof Kozlowski 83ab00f2abSKrzysztof Kozlowski - items: 84ab00f2abSKrzysztof Kozlowski - const: txco 85ab00f2abSKrzysztof Kozlowski - const: lpo 86ab00f2abSKrzysztof Kozlowski 87ab00f2abSKrzysztof Kozlowski vbat-supply: 88ab00f2abSKrzysztof Kozlowski description: phandle to regulator supply for VBAT 89ab00f2abSKrzysztof Kozlowski 90ab00f2abSKrzysztof Kozlowski vddio-supply: 91ab00f2abSKrzysztof Kozlowski description: phandle to regulator supply for VDDIO 92ab00f2abSKrzysztof Kozlowski 93ab00f2abSKrzysztof Kozlowski brcm,bt-pcm-int-params: 94ab00f2abSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint8-array 95ab00f2abSKrzysztof Kozlowski minItems: 5 96ab00f2abSKrzysztof Kozlowski maxItems: 5 97ab00f2abSKrzysztof Kozlowski description: |- 98ab00f2abSKrzysztof Kozlowski configure PCM parameters via a 5-byte array: 99ab00f2abSKrzysztof Kozlowski sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 100ab00f2abSKrzysztof Kozlowski pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 101ab00f2abSKrzysztof Kozlowski pcm-frame-type: short, long 102ab00f2abSKrzysztof Kozlowski pcm-sync-mode: slave, master 103ab00f2abSKrzysztof Kozlowski pcm-clock-mode: slave, master 104ab00f2abSKrzysztof Kozlowski 105ab00f2abSKrzysztof Kozlowski brcm,requires-autobaud-mode: 106ab00f2abSKrzysztof Kozlowski type: boolean 107ab00f2abSKrzysztof Kozlowski description: 108ab00f2abSKrzysztof Kozlowski Set this property if autobaud mode is required. Autobaud mode is required 109ab00f2abSKrzysztof Kozlowski if the device's initial baud rate in normal mode is not supported by the 110ab00f2abSKrzysztof Kozlowski host or if the device requires autobaud mode startup before loading FW. 111ab00f2abSKrzysztof Kozlowski 112ab00f2abSKrzysztof Kozlowski interrupts: 113ab00f2abSKrzysztof Kozlowski items: 114ab00f2abSKrzysztof Kozlowski - description: Handle to the line HOST_WAKE used to wake 115ab00f2abSKrzysztof Kozlowski up the host processor. This uses the BT_GPIO_1 pin on 116ab00f2abSKrzysztof Kozlowski the chip when in use. 117ab00f2abSKrzysztof Kozlowski 118ab00f2abSKrzysztof Kozlowski interrupt-names: 119ab00f2abSKrzysztof Kozlowski items: 120ab00f2abSKrzysztof Kozlowski - const: host-wakeup 121ab00f2abSKrzysztof Kozlowski 122ab00f2abSKrzysztof Kozlowskirequired: 123ab00f2abSKrzysztof Kozlowski - compatible 124ab00f2abSKrzysztof Kozlowski 125ab00f2abSKrzysztof Kozlowskidependencies: 126ab00f2abSKrzysztof Kozlowski brcm,requires-autobaud-mode: [ shutdown-gpios ] 127ab00f2abSKrzysztof Kozlowski 128*c0060591SKrzysztof KozlowskiallOf: 129*c0060591SKrzysztof Kozlowski - $ref: /schemas/serial/serial-peripheral-props.yaml# 130*c0060591SKrzysztof Kozlowski - if: 131ab00f2abSKrzysztof Kozlowski not: 132ab00f2abSKrzysztof Kozlowski properties: 133ab00f2abSKrzysztof Kozlowski compatible: 134ab00f2abSKrzysztof Kozlowski contains: 135ab00f2abSKrzysztof Kozlowski enum: 136ab00f2abSKrzysztof Kozlowski - brcm,bcm20702a1 137ab00f2abSKrzysztof Kozlowski - brcm,bcm4329-bt 138ab00f2abSKrzysztof Kozlowski - brcm,bcm4330-bt 139ab00f2abSKrzysztof Kozlowski then: 140ab00f2abSKrzysztof Kozlowski properties: 141ab00f2abSKrzysztof Kozlowski reset-gpios: false 142ab00f2abSKrzysztof Kozlowski 143*c0060591SKrzysztof KozlowskiunevaluatedProperties: false 144ab00f2abSKrzysztof Kozlowski 145ab00f2abSKrzysztof Kozlowskiexamples: 146ab00f2abSKrzysztof Kozlowski - | 147ab00f2abSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 148ab00f2abSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 149ab00f2abSKrzysztof Kozlowski 150ab00f2abSKrzysztof Kozlowski uart { 151ab00f2abSKrzysztof Kozlowski uart-has-rtscts; 152ab00f2abSKrzysztof Kozlowski 153ab00f2abSKrzysztof Kozlowski bluetooth { 154ab00f2abSKrzysztof Kozlowski compatible = "brcm,bcm4330-bt"; 155ab00f2abSKrzysztof Kozlowski max-speed = <921600>; 156ab00f2abSKrzysztof Kozlowski brcm,bt-pcm-int-params = [01 02 00 01 01]; 157ab00f2abSKrzysztof Kozlowski shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 158ab00f2abSKrzysztof Kozlowski device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 159ab00f2abSKrzysztof Kozlowski reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 160ab00f2abSKrzysztof Kozlowski interrupt-parent = <&gpio>; 161ab00f2abSKrzysztof Kozlowski interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 162ab00f2abSKrzysztof Kozlowski }; 163ab00f2abSKrzysztof Kozlowski }; 164