17820ee1cSLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 27820ee1cSLinus Walleij%YAML 1.2 37820ee1cSLinus Walleij--- 47820ee1cSLinus Walleij$id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 57820ee1cSLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 67820ee1cSLinus Walleij 77820ee1cSLinus Walleijtitle: Broadcom Bluetooth Chips 87820ee1cSLinus Walleij 97820ee1cSLinus Walleijmaintainers: 107820ee1cSLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 117820ee1cSLinus Walleij 127820ee1cSLinus Walleijdescription: 137820ee1cSLinus Walleij This binding describes Broadcom UART-attached bluetooth chips. 147820ee1cSLinus Walleij 157820ee1cSLinus Walleijproperties: 167820ee1cSLinus Walleij compatible: 177820ee1cSLinus Walleij enum: 187820ee1cSLinus Walleij - brcm,bcm20702a1 197820ee1cSLinus Walleij - brcm,bcm4329-bt 207820ee1cSLinus Walleij - brcm,bcm4330-bt 2171793730SLinus Walleij - brcm,bcm4334-bt 22d4e9b8b8SLuca Weiss - brcm,bcm43430a0-bt 23d4e9b8b8SLuca Weiss - brcm,bcm43430a1-bt 247820ee1cSLinus Walleij - brcm,bcm43438-bt 257820ee1cSLinus Walleij - brcm,bcm4345c5 267820ee1cSLinus Walleij - brcm,bcm43540-bt 277820ee1cSLinus Walleij - brcm,bcm4335a0 2888b65887SAhmad Fatoum - brcm,bcm4349-bt 29892913f0SMarek Vasut - cypress,cyw4373a0-bt 30cba6164fSHakan Jansson - infineon,cyw55572-bt 317820ee1cSLinus Walleij 327820ee1cSLinus Walleij shutdown-gpios: 337820ee1cSLinus Walleij maxItems: 1 347820ee1cSLinus Walleij description: GPIO specifier for the line BT_REG_ON used to 357820ee1cSLinus Walleij power on the BT module 367820ee1cSLinus Walleij 377820ee1cSLinus Walleij reset-gpios: 387820ee1cSLinus Walleij maxItems: 1 397820ee1cSLinus Walleij description: GPIO specifier for the line BT_RST_N used to 407820ee1cSLinus Walleij reset the BT module. This should be marked as 417820ee1cSLinus Walleij GPIO_ACTIVE_LOW. 427820ee1cSLinus Walleij 437820ee1cSLinus Walleij device-wakeup-gpios: 447820ee1cSLinus Walleij maxItems: 1 457820ee1cSLinus Walleij description: GPIO specifier for the line BT_WAKE used to 467820ee1cSLinus Walleij wakeup the controller. This is using the BT_GPIO_0 477820ee1cSLinus Walleij pin on the chip when in use. 487820ee1cSLinus Walleij 497820ee1cSLinus Walleij host-wakeup-gpios: 507820ee1cSLinus Walleij maxItems: 1 517820ee1cSLinus Walleij deprecated: true 527820ee1cSLinus Walleij description: GPIO specifier for the line HOST_WAKE used 537820ee1cSLinus Walleij to wakeup the host processor. This is using he BT_GPIO_1 547820ee1cSLinus Walleij pin on the chip when in use. This is deprecated and replaced 557820ee1cSLinus Walleij by interrupts and "host-wakeup" interrupt-names 567820ee1cSLinus Walleij 577820ee1cSLinus Walleij clocks: 5888ffadceSMaxime Ripard minItems: 1 597820ee1cSLinus Walleij maxItems: 2 607820ee1cSLinus Walleij description: 1 or 2 clocks as defined in clock-names below, 617820ee1cSLinus Walleij in that order 627820ee1cSLinus Walleij 637820ee1cSLinus Walleij clock-names: 647820ee1cSLinus Walleij description: Names of the 1 to 2 supplied clocks 6588ffadceSMaxime Ripard oneOf: 6688ffadceSMaxime Ripard - const: extclk 6788ffadceSMaxime Ripard deprecated: true 6888ffadceSMaxime Ripard description: Deprecated in favor of txco 6988ffadceSMaxime Ripard 7088ffadceSMaxime Ripard - const: txco 7188ffadceSMaxime Ripard description: > 7288ffadceSMaxime Ripard external reference clock (not a standalone crystal) 7388ffadceSMaxime Ripard 7488ffadceSMaxime Ripard - const: lpo 7588ffadceSMaxime Ripard description: > 7688ffadceSMaxime Ripard external low power 32.768 kHz clock 7788ffadceSMaxime Ripard 7888ffadceSMaxime Ripard - items: 797820ee1cSLinus Walleij - const: txco 807820ee1cSLinus Walleij - const: lpo 817820ee1cSLinus Walleij 827820ee1cSLinus Walleij vbat-supply: 837820ee1cSLinus Walleij description: phandle to regulator supply for VBAT 847820ee1cSLinus Walleij 857820ee1cSLinus Walleij vddio-supply: 867820ee1cSLinus Walleij description: phandle to regulator supply for VDDIO 877820ee1cSLinus Walleij 887820ee1cSLinus Walleij brcm,bt-pcm-int-params: 897820ee1cSLinus Walleij $ref: /schemas/types.yaml#/definitions/uint8-array 907820ee1cSLinus Walleij minItems: 5 917820ee1cSLinus Walleij maxItems: 5 927820ee1cSLinus Walleij description: |- 937820ee1cSLinus Walleij configure PCM parameters via a 5-byte array: 947820ee1cSLinus Walleij sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 957820ee1cSLinus Walleij pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 967820ee1cSLinus Walleij pcm-frame-type: short, long 977820ee1cSLinus Walleij pcm-sync-mode: slave, master 987820ee1cSLinus Walleij pcm-clock-mode: slave, master 997820ee1cSLinus Walleij 1000b4de252SHakan Jansson brcm,requires-autobaud-mode: 1010b4de252SHakan Jansson type: boolean 1020b4de252SHakan Jansson description: 1030b4de252SHakan Jansson Set this property if autobaud mode is required. Autobaud mode is required 1040b4de252SHakan Jansson if the device's initial baud rate in normal mode is not supported by the 1050b4de252SHakan Jansson host or if the device requires autobaud mode startup before loading FW. 1060b4de252SHakan Jansson 1077820ee1cSLinus Walleij interrupts: 1087820ee1cSLinus Walleij items: 1097820ee1cSLinus Walleij - description: Handle to the line HOST_WAKE used to wake 1107820ee1cSLinus Walleij up the host processor. This uses the BT_GPIO_1 pin on 1117820ee1cSLinus Walleij the chip when in use. 1127820ee1cSLinus Walleij 1137820ee1cSLinus Walleij interrupt-names: 1147820ee1cSLinus Walleij items: 1157820ee1cSLinus Walleij - const: host-wakeup 1167820ee1cSLinus Walleij 1177820ee1cSLinus Walleij max-speed: true 1187820ee1cSLinus Walleij current-speed: true 1197820ee1cSLinus Walleij 1207820ee1cSLinus Walleijrequired: 1217820ee1cSLinus Walleij - compatible 1227820ee1cSLinus Walleij 123c8ce6490SHakan Janssondependencies: 124*3079bfdbSRob Herring brcm,requires-autobaud-mode: [ shutdown-gpios ] 125c8ce6490SHakan Jansson 126c8ce6490SHakan Janssonif: 127c8ce6490SHakan Jansson not: 128c8ce6490SHakan Jansson properties: 129c8ce6490SHakan Jansson compatible: 130c8ce6490SHakan Jansson contains: 131c8ce6490SHakan Jansson enum: 132c8ce6490SHakan Jansson - brcm,bcm20702a1 133c8ce6490SHakan Jansson - brcm,bcm4329-bt 134c8ce6490SHakan Jansson - brcm,bcm4330-bt 135c8ce6490SHakan Janssonthen: 136c8ce6490SHakan Jansson properties: 137c8ce6490SHakan Jansson reset-gpios: false 138c8ce6490SHakan Jansson 1397820ee1cSLinus WalleijadditionalProperties: false 1407820ee1cSLinus Walleij 1417820ee1cSLinus Walleijexamples: 1427820ee1cSLinus Walleij - | 1437820ee1cSLinus Walleij #include <dt-bindings/gpio/gpio.h> 1447820ee1cSLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 1457820ee1cSLinus Walleij 1467820ee1cSLinus Walleij uart { 1477820ee1cSLinus Walleij uart-has-rtscts; 1487820ee1cSLinus Walleij 1497820ee1cSLinus Walleij bluetooth { 1507820ee1cSLinus Walleij compatible = "brcm,bcm4330-bt"; 1517820ee1cSLinus Walleij max-speed = <921600>; 1527820ee1cSLinus Walleij brcm,bt-pcm-int-params = [01 02 00 01 01]; 1537820ee1cSLinus Walleij shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 1547820ee1cSLinus Walleij device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 1557820ee1cSLinus Walleij reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 1567820ee1cSLinus Walleij interrupt-parent = <&gpio>; 1577820ee1cSLinus Walleij interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 1587820ee1cSLinus Walleij }; 1597820ee1cSLinus Walleij }; 160