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