12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot%YAML 1.2 32eb4d8dcSEmmanuel Vadot--- 42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62eb4d8dcSEmmanuel Vadot 72eb4d8dcSEmmanuel Vadottitle: Broadcom Bluetooth Chips 82eb4d8dcSEmmanuel Vadot 92eb4d8dcSEmmanuel Vadotmaintainers: 102eb4d8dcSEmmanuel Vadot - Linus Walleij <linus.walleij@linaro.org> 112eb4d8dcSEmmanuel Vadot 122eb4d8dcSEmmanuel Vadotdescription: 132eb4d8dcSEmmanuel Vadot This binding describes Broadcom UART-attached bluetooth chips. 142eb4d8dcSEmmanuel Vadot 152eb4d8dcSEmmanuel Vadotproperties: 162eb4d8dcSEmmanuel Vadot compatible: 17*7d0873ebSEmmanuel Vadot oneOf: 18*7d0873ebSEmmanuel Vadot - items: 19*7d0873ebSEmmanuel Vadot - enum: 20*7d0873ebSEmmanuel Vadot - infineon,cyw43439-bt 21*7d0873ebSEmmanuel Vadot - const: brcm,bcm4329-bt 22*7d0873ebSEmmanuel Vadot - enum: 232eb4d8dcSEmmanuel Vadot - brcm,bcm20702a1 242eb4d8dcSEmmanuel Vadot - brcm,bcm4329-bt 252eb4d8dcSEmmanuel Vadot - brcm,bcm4330-bt 262eb4d8dcSEmmanuel Vadot - brcm,bcm4334-bt 278bab661aSEmmanuel Vadot - brcm,bcm43430a0-bt 288bab661aSEmmanuel Vadot - brcm,bcm43430a1-bt 292eb4d8dcSEmmanuel Vadot - brcm,bcm43438-bt 302eb4d8dcSEmmanuel Vadot - brcm,bcm4345c5 312eb4d8dcSEmmanuel Vadot - brcm,bcm43540-bt 322eb4d8dcSEmmanuel Vadot - brcm,bcm4335a0 33b97ee269SEmmanuel Vadot - brcm,bcm4349-bt 348bab661aSEmmanuel Vadot - cypress,cyw4373a0-bt 35b97ee269SEmmanuel Vadot - infineon,cyw55572-bt 362eb4d8dcSEmmanuel Vadot 372eb4d8dcSEmmanuel Vadot shutdown-gpios: 382eb4d8dcSEmmanuel Vadot maxItems: 1 392eb4d8dcSEmmanuel Vadot description: GPIO specifier for the line BT_REG_ON used to 402eb4d8dcSEmmanuel Vadot power on the BT module 412eb4d8dcSEmmanuel Vadot 422eb4d8dcSEmmanuel Vadot reset-gpios: 432eb4d8dcSEmmanuel Vadot maxItems: 1 442eb4d8dcSEmmanuel Vadot description: GPIO specifier for the line BT_RST_N used to 452eb4d8dcSEmmanuel Vadot reset the BT module. This should be marked as 462eb4d8dcSEmmanuel Vadot GPIO_ACTIVE_LOW. 472eb4d8dcSEmmanuel Vadot 482eb4d8dcSEmmanuel Vadot device-wakeup-gpios: 492eb4d8dcSEmmanuel Vadot maxItems: 1 502eb4d8dcSEmmanuel Vadot description: GPIO specifier for the line BT_WAKE used to 512eb4d8dcSEmmanuel Vadot wakeup the controller. This is using the BT_GPIO_0 522eb4d8dcSEmmanuel Vadot pin on the chip when in use. 532eb4d8dcSEmmanuel Vadot 542eb4d8dcSEmmanuel Vadot host-wakeup-gpios: 552eb4d8dcSEmmanuel Vadot maxItems: 1 562eb4d8dcSEmmanuel Vadot deprecated: true 572eb4d8dcSEmmanuel Vadot description: GPIO specifier for the line HOST_WAKE used 582eb4d8dcSEmmanuel Vadot to wakeup the host processor. This is using he BT_GPIO_1 592eb4d8dcSEmmanuel Vadot pin on the chip when in use. This is deprecated and replaced 602eb4d8dcSEmmanuel Vadot by interrupts and "host-wakeup" interrupt-names 612eb4d8dcSEmmanuel Vadot 622eb4d8dcSEmmanuel Vadot clocks: 638cc087a1SEmmanuel Vadot minItems: 1 642eb4d8dcSEmmanuel Vadot maxItems: 2 652eb4d8dcSEmmanuel Vadot description: 1 or 2 clocks as defined in clock-names below, 662eb4d8dcSEmmanuel Vadot in that order 672eb4d8dcSEmmanuel Vadot 682eb4d8dcSEmmanuel Vadot clock-names: 692eb4d8dcSEmmanuel Vadot description: Names of the 1 to 2 supplied clocks 708cc087a1SEmmanuel Vadot oneOf: 718cc087a1SEmmanuel Vadot - const: extclk 728cc087a1SEmmanuel Vadot deprecated: true 738cc087a1SEmmanuel Vadot description: Deprecated in favor of txco 748cc087a1SEmmanuel Vadot 758cc087a1SEmmanuel Vadot - const: txco 768cc087a1SEmmanuel Vadot description: > 778cc087a1SEmmanuel Vadot external reference clock (not a standalone crystal) 788cc087a1SEmmanuel Vadot 798cc087a1SEmmanuel Vadot - const: lpo 808cc087a1SEmmanuel Vadot description: > 818cc087a1SEmmanuel Vadot external low power 32.768 kHz clock 828cc087a1SEmmanuel Vadot 838cc087a1SEmmanuel Vadot - items: 842eb4d8dcSEmmanuel Vadot - const: txco 852eb4d8dcSEmmanuel Vadot - const: lpo 862eb4d8dcSEmmanuel Vadot 872eb4d8dcSEmmanuel Vadot vbat-supply: 882eb4d8dcSEmmanuel Vadot description: phandle to regulator supply for VBAT 892eb4d8dcSEmmanuel Vadot 902eb4d8dcSEmmanuel Vadot vddio-supply: 912eb4d8dcSEmmanuel Vadot description: phandle to regulator supply for VDDIO 922eb4d8dcSEmmanuel Vadot 932eb4d8dcSEmmanuel Vadot brcm,bt-pcm-int-params: 942eb4d8dcSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint8-array 952eb4d8dcSEmmanuel Vadot minItems: 5 962eb4d8dcSEmmanuel Vadot maxItems: 5 972eb4d8dcSEmmanuel Vadot description: |- 982eb4d8dcSEmmanuel Vadot configure PCM parameters via a 5-byte array: 992eb4d8dcSEmmanuel Vadot sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 1002eb4d8dcSEmmanuel Vadot pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 1012eb4d8dcSEmmanuel Vadot pcm-frame-type: short, long 1022eb4d8dcSEmmanuel Vadot pcm-sync-mode: slave, master 1032eb4d8dcSEmmanuel Vadot pcm-clock-mode: slave, master 1042eb4d8dcSEmmanuel Vadot 105b97ee269SEmmanuel Vadot brcm,requires-autobaud-mode: 106b97ee269SEmmanuel Vadot type: boolean 107b97ee269SEmmanuel Vadot description: 108b97ee269SEmmanuel Vadot Set this property if autobaud mode is required. Autobaud mode is required 109b97ee269SEmmanuel Vadot if the device's initial baud rate in normal mode is not supported by the 110b97ee269SEmmanuel Vadot host or if the device requires autobaud mode startup before loading FW. 111b97ee269SEmmanuel Vadot 1122eb4d8dcSEmmanuel Vadot interrupts: 1132eb4d8dcSEmmanuel Vadot items: 1142eb4d8dcSEmmanuel Vadot - description: Handle to the line HOST_WAKE used to wake 1152eb4d8dcSEmmanuel Vadot up the host processor. This uses the BT_GPIO_1 pin on 1162eb4d8dcSEmmanuel Vadot the chip when in use. 1172eb4d8dcSEmmanuel Vadot 1182eb4d8dcSEmmanuel Vadot interrupt-names: 1192eb4d8dcSEmmanuel Vadot items: 1202eb4d8dcSEmmanuel Vadot - const: host-wakeup 1212eb4d8dcSEmmanuel Vadot 1222eb4d8dcSEmmanuel Vadot max-speed: true 1232eb4d8dcSEmmanuel Vadot current-speed: true 1242eb4d8dcSEmmanuel Vadot 1252eb4d8dcSEmmanuel Vadotrequired: 1262eb4d8dcSEmmanuel Vadot - compatible 1272eb4d8dcSEmmanuel Vadot 128b97ee269SEmmanuel Vadotdependencies: 129fac71e4eSEmmanuel Vadot brcm,requires-autobaud-mode: [ shutdown-gpios ] 130b97ee269SEmmanuel Vadot 131b97ee269SEmmanuel Vadotif: 132b97ee269SEmmanuel Vadot not: 133b97ee269SEmmanuel Vadot properties: 134b97ee269SEmmanuel Vadot compatible: 135b97ee269SEmmanuel Vadot contains: 136b97ee269SEmmanuel Vadot enum: 137b97ee269SEmmanuel Vadot - brcm,bcm20702a1 138b97ee269SEmmanuel Vadot - brcm,bcm4329-bt 139b97ee269SEmmanuel Vadot - brcm,bcm4330-bt 140b97ee269SEmmanuel Vadotthen: 141b97ee269SEmmanuel Vadot properties: 142b97ee269SEmmanuel Vadot reset-gpios: false 143b97ee269SEmmanuel Vadot 1442eb4d8dcSEmmanuel VadotadditionalProperties: false 1452eb4d8dcSEmmanuel Vadot 1462eb4d8dcSEmmanuel Vadotexamples: 1472eb4d8dcSEmmanuel Vadot - | 1482eb4d8dcSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1492eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1502eb4d8dcSEmmanuel Vadot 1512eb4d8dcSEmmanuel Vadot uart { 1522eb4d8dcSEmmanuel Vadot uart-has-rtscts; 1532eb4d8dcSEmmanuel Vadot 1542eb4d8dcSEmmanuel Vadot bluetooth { 1552eb4d8dcSEmmanuel Vadot compatible = "brcm,bcm4330-bt"; 1562eb4d8dcSEmmanuel Vadot max-speed = <921600>; 1572eb4d8dcSEmmanuel Vadot brcm,bt-pcm-int-params = [01 02 00 01 01]; 1582eb4d8dcSEmmanuel Vadot shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 1592eb4d8dcSEmmanuel Vadot device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 1602eb4d8dcSEmmanuel Vadot reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 1612eb4d8dcSEmmanuel Vadot interrupt-parent = <&gpio>; 1622eb4d8dcSEmmanuel Vadot interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 1632eb4d8dcSEmmanuel Vadot }; 1642eb4d8dcSEmmanuel Vadot }; 165