1*7820ee1cSLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*7820ee1cSLinus Walleij%YAML 1.2 3*7820ee1cSLinus Walleij--- 4*7820ee1cSLinus Walleij$id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 5*7820ee1cSLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7820ee1cSLinus Walleij 7*7820ee1cSLinus Walleijtitle: Broadcom Bluetooth Chips 8*7820ee1cSLinus Walleij 9*7820ee1cSLinus Walleijmaintainers: 10*7820ee1cSLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 11*7820ee1cSLinus Walleij 12*7820ee1cSLinus Walleijdescription: 13*7820ee1cSLinus Walleij This binding describes Broadcom UART-attached bluetooth chips. 14*7820ee1cSLinus Walleij 15*7820ee1cSLinus Walleijproperties: 16*7820ee1cSLinus Walleij compatible: 17*7820ee1cSLinus Walleij enum: 18*7820ee1cSLinus Walleij - brcm,bcm20702a1 19*7820ee1cSLinus Walleij - brcm,bcm4329-bt 20*7820ee1cSLinus Walleij - brcm,bcm4330-bt 21*7820ee1cSLinus Walleij - brcm,bcm43438-bt 22*7820ee1cSLinus Walleij - brcm,bcm4345c5 23*7820ee1cSLinus Walleij - brcm,bcm43540-bt 24*7820ee1cSLinus Walleij - brcm,bcm4335a0 25*7820ee1cSLinus Walleij 26*7820ee1cSLinus Walleij shutdown-gpios: 27*7820ee1cSLinus Walleij maxItems: 1 28*7820ee1cSLinus Walleij description: GPIO specifier for the line BT_REG_ON used to 29*7820ee1cSLinus Walleij power on the BT module 30*7820ee1cSLinus Walleij 31*7820ee1cSLinus Walleij reset-gpios: 32*7820ee1cSLinus Walleij maxItems: 1 33*7820ee1cSLinus Walleij description: GPIO specifier for the line BT_RST_N used to 34*7820ee1cSLinus Walleij reset the BT module. This should be marked as 35*7820ee1cSLinus Walleij GPIO_ACTIVE_LOW. 36*7820ee1cSLinus Walleij 37*7820ee1cSLinus Walleij device-wakeup-gpios: 38*7820ee1cSLinus Walleij maxItems: 1 39*7820ee1cSLinus Walleij description: GPIO specifier for the line BT_WAKE used to 40*7820ee1cSLinus Walleij wakeup the controller. This is using the BT_GPIO_0 41*7820ee1cSLinus Walleij pin on the chip when in use. 42*7820ee1cSLinus Walleij 43*7820ee1cSLinus Walleij host-wakeup-gpios: 44*7820ee1cSLinus Walleij maxItems: 1 45*7820ee1cSLinus Walleij deprecated: true 46*7820ee1cSLinus Walleij description: GPIO specifier for the line HOST_WAKE used 47*7820ee1cSLinus Walleij to wakeup the host processor. This is using he BT_GPIO_1 48*7820ee1cSLinus Walleij pin on the chip when in use. This is deprecated and replaced 49*7820ee1cSLinus Walleij by interrupts and "host-wakeup" interrupt-names 50*7820ee1cSLinus Walleij 51*7820ee1cSLinus Walleij clocks: 52*7820ee1cSLinus Walleij maxItems: 2 53*7820ee1cSLinus Walleij description: 1 or 2 clocks as defined in clock-names below, 54*7820ee1cSLinus Walleij in that order 55*7820ee1cSLinus Walleij 56*7820ee1cSLinus Walleij clock-names: 57*7820ee1cSLinus Walleij description: Names of the 1 to 2 supplied clocks 58*7820ee1cSLinus Walleij items: 59*7820ee1cSLinus Walleij - const: txco 60*7820ee1cSLinus Walleij - const: lpo 61*7820ee1cSLinus Walleij - const: extclk 62*7820ee1cSLinus Walleij 63*7820ee1cSLinus Walleij vbat-supply: 64*7820ee1cSLinus Walleij description: phandle to regulator supply for VBAT 65*7820ee1cSLinus Walleij 66*7820ee1cSLinus Walleij vddio-supply: 67*7820ee1cSLinus Walleij description: phandle to regulator supply for VDDIO 68*7820ee1cSLinus Walleij 69*7820ee1cSLinus Walleij brcm,bt-pcm-int-params: 70*7820ee1cSLinus Walleij $ref: /schemas/types.yaml#/definitions/uint8-array 71*7820ee1cSLinus Walleij minItems: 5 72*7820ee1cSLinus Walleij maxItems: 5 73*7820ee1cSLinus Walleij description: |- 74*7820ee1cSLinus Walleij configure PCM parameters via a 5-byte array: 75*7820ee1cSLinus Walleij sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S 76*7820ee1cSLinus Walleij pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps 77*7820ee1cSLinus Walleij pcm-frame-type: short, long 78*7820ee1cSLinus Walleij pcm-sync-mode: slave, master 79*7820ee1cSLinus Walleij pcm-clock-mode: slave, master 80*7820ee1cSLinus Walleij 81*7820ee1cSLinus Walleij interrupts: 82*7820ee1cSLinus Walleij items: 83*7820ee1cSLinus Walleij - description: Handle to the line HOST_WAKE used to wake 84*7820ee1cSLinus Walleij up the host processor. This uses the BT_GPIO_1 pin on 85*7820ee1cSLinus Walleij the chip when in use. 86*7820ee1cSLinus Walleij 87*7820ee1cSLinus Walleij interrupt-names: 88*7820ee1cSLinus Walleij items: 89*7820ee1cSLinus Walleij - const: host-wakeup 90*7820ee1cSLinus Walleij 91*7820ee1cSLinus Walleij max-speed: true 92*7820ee1cSLinus Walleij current-speed: true 93*7820ee1cSLinus Walleij 94*7820ee1cSLinus Walleijrequired: 95*7820ee1cSLinus Walleij - compatible 96*7820ee1cSLinus Walleij 97*7820ee1cSLinus WalleijadditionalProperties: false 98*7820ee1cSLinus Walleij 99*7820ee1cSLinus Walleijexamples: 100*7820ee1cSLinus Walleij - | 101*7820ee1cSLinus Walleij #include <dt-bindings/gpio/gpio.h> 102*7820ee1cSLinus Walleij #include <dt-bindings/interrupt-controller/irq.h> 103*7820ee1cSLinus Walleij 104*7820ee1cSLinus Walleij uart { 105*7820ee1cSLinus Walleij uart-has-rtscts; 106*7820ee1cSLinus Walleij 107*7820ee1cSLinus Walleij bluetooth { 108*7820ee1cSLinus Walleij compatible = "brcm,bcm4330-bt"; 109*7820ee1cSLinus Walleij max-speed = <921600>; 110*7820ee1cSLinus Walleij brcm,bt-pcm-int-params = [01 02 00 01 01]; 111*7820ee1cSLinus Walleij shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>; 112*7820ee1cSLinus Walleij device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; 113*7820ee1cSLinus Walleij reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>; 114*7820ee1cSLinus Walleij interrupt-parent = <&gpio>; 115*7820ee1cSLinus Walleij interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 116*7820ee1cSLinus Walleij }; 117*7820ee1cSLinus Walleij }; 118