Resguardo inicial

This commit is contained in:
lastdragon
2026-09-06 12:53:21 -06:00
parent 662efe3c2a
commit ad2088d178
94853 changed files with 43200404 additions and 0 deletions
@@ -0,0 +1,63 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2024 Amlogic, Inc. All rights reserved
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/amlogic,w155s2-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Amlogic Bluetooth chips
description:
The W155S2 is an Amlogic Bluetooth and Wi-Fi combo chip. It works on
the standard H4 protocol via a 4-wire UART interface, with baud rates
up to 4 Mbps.
maintainers:
- Yang Li <yang.li@amlogic.com>
properties:
compatible:
oneOf:
- items:
- enum:
- amlogic,w265s1-bt
- amlogic,w265p1-bt
- const: amlogic,w155s2-bt
- enum:
- amlogic,w155s2-bt
- amlogic,w265s2-bt
clocks:
maxItems: 1
description: clock provided to the controller (32.768KHz)
enable-gpios:
maxItems: 1
vddio-supply:
description: VDD_IO supply regulator handle
firmware-name:
maxItems: 1
description: specify the path of firmware bin to load
required:
- compatible
- clocks
- enable-gpios
- vddio-supply
- firmware-name
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
bluetooth {
compatible = "amlogic,w155s2-bt";
clocks = <&extclk>;
enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
vddio-supply = <&wcn_3v3>;
firmware-name = "amlogic/aml_w155s2_bt_uart.bin";
};
@@ -0,0 +1,29 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/bluetooth-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Bluetooth Controller Common Properties
maintainers:
- Marcel Holtmann <marcel@holtmann.org>
- Johan Hedberg <johan.hedberg@gmail.com>
- Luiz Augusto von Dentz <luiz.dentz@gmail.com>
properties:
$nodename:
pattern: "^bluetooth(@.*)?$"
local-bd-address:
$ref: /schemas/types.yaml#/definitions/uint8-array
maxItems: 6
description:
Specifies the BD address that was uniquely assigned to the Bluetooth
device. Formatted with least significant byte first (little-endian), e.g.
in order to assign the address 00:11:22:33:44:55 this property must have
the value [55 44 33 22 11 00].
additionalProperties: true
...
@@ -0,0 +1,82 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/brcm,bcm4377-bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom BCM4377 family PCIe Bluetooth Chips
maintainers:
- Sven Peter <sven@svenpeter.dev>
description:
This binding describes Broadcom BCM4377 family PCIe-attached bluetooth chips
usually found in Apple machines. The Wi-Fi part of the chip is described in
bindings/net/wireless/brcm,bcm4329-fmac.yaml.
allOf:
- $ref: bluetooth-controller.yaml#
properties:
compatible:
enum:
- pci14e4,5fa0 # BCM4377
- pci14e4,5f69 # BCM4378
- pci14e4,5f71 # BCM4387
- pci14e4,5f72 # BCM4388
reg:
maxItems: 1
brcm,board-type:
$ref: /schemas/types.yaml#/definitions/string
description: Board type of the Bluetooth chip. This is used to decouple
the overall system board from the Bluetooth module and used to construct
firmware and calibration data filenames.
On Apple platforms, this should be the Apple module-instance codename
prefixed by "apple,", e.g. "apple,atlantisb".
pattern: '^apple,.*'
brcm,taurus-cal-blob:
$ref: /schemas/types.yaml#/definitions/uint8-array
description: A per-device calibration blob for the Bluetooth radio. This
should be filled in by the bootloader from platform configuration
data, if necessary, and will be uploaded to the device.
This blob is used if the chip stepping of the Bluetooth module does not
support beamforming.
brcm,taurus-bf-cal-blob:
$ref: /schemas/types.yaml#/definitions/uint8-array
description: A per-device calibration blob for the Bluetooth radio. This
should be filled in by the bootloader from platform configuration
data, if necessary, and will be uploaded to the device.
This blob is used if the chip stepping of the Bluetooth module supports
beamforming.
local-bd-address: true
required:
- compatible
- reg
- local-bd-address
- brcm,board-type
additionalProperties: false
examples:
- |
pcie@a0000000 {
#address-cells = <3>;
#size-cells = <2>;
reg = <0xa0000000 0x1000000>;
device_type = "pci";
ranges = <0x43000000 0x6 0xa0000000 0xa0000000 0x0 0x20000000>;
bluetooth@0,1 {
compatible = "pci14e4,5f69";
reg = <0x100 0x0 0x0 0x0 0x0>;
brcm,board-type = "apple,honshu";
/* To be filled by the bootloader */
local-bd-address = [00 00 00 00 00 00];
};
};
@@ -0,0 +1,163 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/brcm,bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Broadcom Bluetooth Chips
maintainers:
- Linus Walleij <linusw@kernel.org>
description:
This binding describes Broadcom UART-attached bluetooth chips.
properties:
compatible:
oneOf:
- items:
- enum:
- infineon,cyw43439-bt
- const: brcm,bcm4329-bt
- enum:
- brcm,bcm20702a1
- brcm,bcm4329-bt
- brcm,bcm4330-bt
- brcm,bcm4334-bt
- brcm,bcm43430a0-bt
- brcm,bcm43430a1-bt
- brcm,bcm43438-bt
- brcm,bcm4345c5
- brcm,bcm43540-bt
- brcm,bcm4335a0
- brcm,bcm4349-bt
- cypress,cyw4373a0-bt
- infineon,cyw55572-bt
shutdown-gpios:
maxItems: 1
description: GPIO specifier for the line BT_REG_ON used to
power on the BT module
reset-gpios:
maxItems: 1
description: GPIO specifier for the line BT_RST_N used to
reset the BT module. This should be marked as
GPIO_ACTIVE_LOW.
device-wakeup-gpios:
maxItems: 1
description: GPIO specifier for the line BT_WAKE used to
wakeup the controller. This is using the BT_GPIO_0
pin on the chip when in use.
host-wakeup-gpios:
maxItems: 1
deprecated: true
description: GPIO specifier for the line HOST_WAKE used
to wakeup the host processor. This is using he BT_GPIO_1
pin on the chip when in use. This is deprecated and replaced
by interrupts and "host-wakeup" interrupt-names
clocks:
minItems: 1
maxItems: 2
description: 1 or 2 clocks as defined in clock-names below,
in that order
clock-names:
description: Names of the 1 to 2 supplied clocks
oneOf:
- const: extclk
deprecated: true
description: Deprecated in favor of txco
- const: txco
description: >
external reference clock (not a standalone crystal)
- const: lpo
description: >
external low power 32.768 kHz clock
- items:
- const: txco
- const: lpo
vbat-supply:
description: phandle to regulator supply for VBAT
vddio-supply:
description: phandle to regulator supply for VDDIO
brcm,bt-pcm-int-params:
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 5
maxItems: 5
description: |-
configure PCM parameters via a 5-byte array:
sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
pcm-frame-type: short, long
pcm-sync-mode: slave, master
pcm-clock-mode: slave, master
brcm,requires-autobaud-mode:
type: boolean
description:
Set this property if autobaud mode is required. Autobaud mode is required
if the device's initial baud rate in normal mode is not supported by the
host or if the device requires autobaud mode startup before loading FW.
interrupts:
items:
- description: Handle to the line HOST_WAKE used to wake
up the host processor. This uses the BT_GPIO_1 pin on
the chip when in use.
interrupt-names:
items:
- const: host-wakeup
required:
- compatible
dependencies:
brcm,requires-autobaud-mode: [ shutdown-gpios ]
allOf:
- $ref: /schemas/serial/serial-peripheral-props.yaml#
- if:
not:
properties:
compatible:
contains:
enum:
- brcm,bcm20702a1
- brcm,bcm4329-bt
- brcm,bcm4330-bt
then:
properties:
reset-gpios: false
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
uart {
uart-has-rtscts;
bluetooth {
compatible = "brcm,bcm4330-bt";
max-speed = <921600>;
brcm,bt-pcm-int-params = [01 02 00 01 01];
shutdown-gpios = <&gpio 30 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpio>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
};
};
@@ -0,0 +1,49 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/marvell,88w8897.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell Bluetooth chips
description: |
This documents the binding structure and common properties for serial
attached Marvell Bluetooth devices.
maintainers:
- Rob Herring <robh@kernel.org>
properties:
compatible:
enum:
- mrvl,88w8897
- mrvl,88w8997
max-speed: true
required:
- compatible
allOf:
- $ref: /schemas/serial/serial-peripheral-props.yaml#
- if:
properties:
compatible:
contains:
const: mrvl,88w8997
then:
properties:
max-speed: true
else:
properties:
max-speed: false
additionalProperties: false
examples:
- |
serial {
bluetooth {
compatible = "mrvl,88w8897";
};
};
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/marvell,sd8897-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO)
maintainers:
- Ariel D'Alessandro <ariel.dalessandro@collabora.com>
allOf:
- $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#
properties:
compatible:
enum:
- marvell,sd8897-bt
- marvell,sd8997-bt
reg:
maxItems: 1
interrupts:
maxItems: 1
marvell,cal-data:
$ref: /schemas/types.yaml#/definitions/uint8-array
description:
Calibration data downloaded to the device during initialization.
maxItems: 28
marvell,wakeup-pin:
$ref: /schemas/types.yaml#/definitions/uint16
description:
Wakeup pin number of the bluetooth chip. Used by firmware to wakeup host
system.
marvell,wakeup-gap-ms:
$ref: /schemas/types.yaml#/definitions/uint16
description:
Wakeup latency of the host platform. Required by the chip sleep feature.
required:
- compatible
- reg
- interrupts
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
mmc {
vmmc-supply = <&wlan_en_reg>;
bus-width = <4>;
cap-power-off-card;
keep-power-in-suspend;
#address-cells = <1>;
#size-cells = <0>;
bluetooth@2 {
compatible = "marvell,sd8897-bt";
reg = <2>;
interrupt-parent = <&pio>;
interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
marvell,cal-data = /bits/ 8 <
0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0xf0 0x00>;
marvell,wakeup-pin = /bits/ 16 <0x0d>;
marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
};
};
...
@@ -0,0 +1,80 @@
MediaTek UART based Bluetooth Devices
==================================
This device is a serial attached device to UART device and thus it must be a
child node of the serial node with UART.
Please refer to the following documents for generic properties:
Documentation/devicetree/bindings/serial/serial.yaml
Required properties:
- compatible: Must be
"mediatek,mt7663u-bluetooth": for MT7663U device
"mediatek,mt7668u-bluetooth": for MT7668U device
- vcc-supply: Main voltage regulator
If the pin controller on the platform can support both pinmux and GPIO
control such as the most of MediaTek platform. Please use below properties.
- pinctrl-names: Should be "default", "runtime"
- pinctrl-0: Should contain UART RXD low when the device is powered up to
enter proper bootstrap mode.
- pinctrl-1: Should contain UART mode pin ctrl
Else, the pin controller on the platform only can support pinmux control and
the GPIO control still has to rely on the dedicated GPIO controller such as
a legacy MediaTek SoC, MT7621. Please use the below properties.
- boot-gpios: GPIO same to the pin as UART RXD and used to keep LOW when
the device is powered up to enter proper bootstrap mode when
- pinctrl-names: Should be "default"
- pinctrl-0: Should contain UART mode pin ctrl
Optional properties:
- reset-gpios: GPIO used to reset the device whose initial state keeps low,
if the GPIO is missing, then board-level design should be
guaranteed.
- clocks: Should be the clock specifiers corresponding to the entry in
clock-names property. If the clock is missing, then board-level
design should be guaranteed.
- clock-names: Should contain "osc" entry for the external oscillator.
- current-speed: Current baud rate of the device whose defaults to 921600
Example:
uart1_pins_boot: uart1-default {
pins-dat {
pinmux = <MT7623_PIN_81_URXD1_FUNC_GPIO81>;
output-low;
};
};
uart1_pins_runtime: uart1-runtime {
pins-dat {
pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
<MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
};
};
uart1: serial@11003000 {
compatible = "mediatek,mt7623-uart",
"mediatek,mt6577-uart";
reg = <0 0x11003000 0 0x400>;
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
clocks = <&pericfg CLK_PERI_UART1_SEL>,
<&pericfg CLK_PERI_UART1>;
clock-names = "baud", "bus";
bluetooth {
compatible = "mediatek,mt7663u-bluetooth";
vcc-supply = <&reg_5v>;
reset-gpios = <&pio 24 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "runtime";
pinctrl-0 = <&uart1_pins_boot>;
pinctrl-1 = <&uart1_pins_runtime>;
current-speed = <921600>;
};
};
@@ -0,0 +1,51 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7622-bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MediaTek SoC built-in Bluetooth
description:
This device is a serial attached device to BTIF device and thus it must be a
child node of the serial node with BTIF. The dt-bindings details for BTIF
device can be known via Documentation/devicetree/bindings/serial/8250.yaml.
maintainers:
- Sean Wang <sean.wang@mediatek.com>
allOf:
- $ref: bluetooth-controller.yaml#
properties:
compatible:
const: mediatek,mt7622-bluetooth
clocks:
maxItems: 1
clock-names:
const: ref
power-domains:
maxItems: 1
required:
- clocks
- clock-names
- power-domains
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/power/mt7622-power.h>
serial {
bluetooth {
compatible = "mediatek,mt7622-bluetooth";
power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;
clocks = <&clk25m>;
clock-names = "ref";
};
};
@@ -0,0 +1,55 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7921s-bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MediaTek MT7921S Bluetooth
maintainers:
- Sean Wang <sean.wang@mediatek.com>
description:
MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each
function is its own SDIO function on a shared SDIO interface. The chip
has two dedicated reset lines, one for each function core.
This binding only covers the Bluetooth SDIO function, with one device
node describing only this SDIO function.
allOf:
- $ref: bluetooth-controller.yaml#
properties:
compatible:
enum:
- mediatek,mt7921s-bluetooth
reg:
const: 2
reset-gpios:
maxItems: 1
description:
An active-low reset line for the Bluetooth core; on typical M.2
key E modules this is the W_DISABLE2# pin.
required:
- compatible
- reg
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
mmc {
#address-cells = <1>;
#size-cells = <0>;
bluetooth@2 {
compatible = "mediatek,mt7921s-bluetooth";
reg = <2>;
reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
};
};
@@ -0,0 +1,51 @@
Nokia Bluetooth Chips
---------------------
Nokia phones often come with UART connected bluetooth chips from different
vendors and modified device API. Those devices speak a protocol named H4+
(also known as h4p) by Nokia, which is similar to the H4 protocol from the
Bluetooth standard. In addition to the H4 protocol it specifies two more
UART status lines for wakeup of UART transceivers to improve power management
and a few new packet types used to negotiate uart speed.
Required properties:
- compatible: should contain "nokia,h4p-bluetooth" as well as one of the following:
* "brcm,bcm2048-nokia"
* "ti,wl1271-bluetooth-nokia"
- reset-gpios: GPIO specifier, used to reset the BT module (active low)
- bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high)
- host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high)
- clock-names: should be "sysclk"
- clocks: should contain a clock specifier for every name in clock-names
Optional properties:
- None
Example:
/ {
/* controlled (enabled/disabled) directly by BT module */
bluetooth_clk: vctcxo {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <38400000>;
};
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
bluetooth {
compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth";
reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */
host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */
clocks = <&bluetooth_clk>;
clock-names = "sysclk";
};
};
@@ -0,0 +1,109 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/nxp,88w8987-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP Bluetooth chips
description:
This binding describes UART-attached NXP bluetooth chips. These chips
are dual-radio chips supporting WiFi and Bluetooth. The bluetooth
works on standard H4 protocol over 4-wire UART. The RTS and CTS lines
are used during FW download. To enable power save mode, the host
asserts break signal over UART-TX line to put the chip into power save
state. De-asserting break wakes up the BT chip.
maintainers:
- Neeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
allOf:
- $ref: bluetooth-controller.yaml#
properties:
compatible:
enum:
- nxp,88w8987-bt
- nxp,88w8997-bt
fw-init-baudrate:
$ref: /schemas/types.yaml#/definitions/uint32
default: 115200
description:
Chip baudrate after FW is downloaded and initialized.
This property depends on the module vendor's
configuration.
max-speed:
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 3000000
- 4000000
default: 3000000
firmware-name:
maxItems: 1
device-wakeup-gpios:
maxItems: 1
description:
Host-To-Chip power save mechanism is driven by this GPIO
connected to BT_WAKE_IN pin of the NXP chipset.
nxp,wakein-pin:
$ref: /schemas/types.yaml#/definitions/uint8
description:
The GPIO number of the NXP chipset used for BT_WAKE_IN.
interrupts:
maxItems: 1
description:
Host wakeup by falling edge interrupt on this pin which is
connected to BT_WAKE_OUT pin of the NXP chipset.
interrupt-names:
items:
- const: wakeup
wakeup-source: true
nxp,wakeout-pin:
$ref: /schemas/types.yaml#/definitions/uint8
description:
The GPIO number of the NXP chipset used for BT_WAKE_OUT.
vcc-supply:
description:
phandle of the regulator that provides the supply voltage.
reset-gpios:
description:
Chip powerdown/reset signal (PDn).
required:
- compatible
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
serial {
bluetooth {
compatible = "nxp,88w8987-bt";
fw-init-baudrate = <3000000>;
max-speed = <4000000>;
firmware-name = "uartuart8987_bt_v0.bin";
device-wakeup-gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
nxp,wakein-pin = /bits/ 8 <18>;
nxp,wakeout-pin = /bits/ 8 <19>;
vcc-supply = <&nxp_iw612_supply>;
reset-gpios = <&gpioctrl 2 GPIO_ACTIVE_LOW>;
local-bd-address = [66 55 44 33 22 11];
interrupt-parent = <&gpio>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
interrupt-names = "wakeup";
wakeup-source;
};
};
@@ -0,0 +1,25 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,bluetooth-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Bluetooth Common Properties
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
firmware-name:
minItems: 1
items:
- description: specify the name of nvm firmware to load
- description: specify the name of rampatch firmware to load
qcom,local-bd-address-broken:
type: boolean
description:
boot firmware is incorrectly passing the address in big-endian order
additionalProperties: true
@@ -0,0 +1,49 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,qca2066-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm QCA2006 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,qca2066-bt
- qcom,qca6174-bt
clocks:
items:
- description: External low-power 32.768 kHz clock input
enable-gpios:
maxItems: 1
required:
- compatible
- clocks
- enable-gpios
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
serial {
bluetooth {
compatible = "qcom,qca6174-bt";
clocks = <&divclk4>;
enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
firmware-name = "nvm_00440302.bin";
};
};
@@ -0,0 +1,64 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,qca6390-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm QCA6390 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,qca6390-bt
vddaon-supply:
description: VDD_AON supply regulator handle
vddbtcmx-supply:
description: VDD_BT_CMX supply regulator handle
vddrfa0p8-supply:
description: VDD_RFA_0P8 supply regulator handle
vddrfa1p2-supply:
description: VDD_RFA_1P2 supply regulator handle
vddrfa1p7-supply:
description: VDD_RFA_1P7 supply regulator handle
vddrfacmn-supply:
description: VDD_RFA_CMN supply regulator handle
required:
- compatible
- vddaon-supply
- vddbtcmx-supply
- vddrfa0p8-supply
- vddrfa1p2-supply
- vddrfa1p7-supply
- vddrfacmn-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
serial {
bluetooth {
compatible = "qcom,qca6390-bt";
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
};
};
@@ -0,0 +1,58 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,qca9377-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm QCA9377 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,qca9377-bt
clocks:
items:
- description: External low-power 32.768 kHz clock input
enable-gpios:
maxItems: 1
vddio-supply:
description: VDD_IO supply regulator handle
vddxo-supply:
description: VDD_XO supply regulator handle
required:
- compatible
- clocks
- enable-gpios
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
serial {
bluetooth {
compatible = "qcom,qca9377-bt";
clocks = <&rk809 1>;
enable-gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>;
max-speed = <2000000>;
pinctrl-names = "default";
pinctrl-0 = <&bt_enable>;
vddio-supply = <&vcc_1v8>;
vddxo-supply = <&vcc3v3_sys>;
};
};
@@ -0,0 +1,67 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,wcn3950-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCN3950/WCN3988 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,wcn3950-bt
- qcom,wcn3988-bt
enable-gpios:
maxItems: 1
swctrl-gpios:
maxItems: 1
description: gpio specifier is used to find status
of clock supply to SoC
vddch0-supply:
description: VDD_CH0 supply regulator handle
vddio-supply:
description: VDD_IO supply regulator handle
vddrf-supply:
description: VDD_RF supply regulator handle
vddxo-supply:
description: VDD_XO supply regulator handle
required:
- compatible
- vddch0-supply
- vddio-supply
- vddrf-supply
- vddxo-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
serial {
bluetooth {
compatible = "qcom,wcn3950-bt";
enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
max-speed = <3200000>;
vddch0-supply = <&pm4125_l22>;
vddio-supply = <&pm4125_l15>;
vddrf-supply = <&pm4125_l10>;
vddxo-supply = <&pm4125_l13>;
};
};
@@ -0,0 +1,66 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,wcn3990-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCN3990/WCN3991/WCN3998 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,wcn3990-bt
- qcom,wcn3991-bt
- qcom,wcn3998-bt
clocks:
items:
- description: External low-power 32.768 kHz clock input
vddch0-supply:
description: VDD_CH0 supply regulator handle
vddch1-supply:
description: VDD_CH1 supply regulator handle
vddio-supply:
description: VDD_IO supply regulator handle
vddrf-supply:
description: VDD_RF supply regulator handle
vddxo-supply:
description: VDD_XO supply regulator handle
required:
- compatible
- vddch0-supply
- vddio-supply
- vddrf-supply
- vddxo-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
serial {
bluetooth {
compatible = "qcom,wcn3990-bt";
firmware-name = "crnv21.bin";
max-speed = <3200000>;
vddio-supply = <&vreg_s4a_1p8>;
vddch0-supply = <&vreg_l25a_3p3>;
vddch1-supply = <&vreg_l23a_3p3>;
vddrf-supply = <&vreg_l17a_1p3>;
vddxo-supply = <&vreg_l7a_1p8>;
};
};
@@ -0,0 +1,91 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,wcn6750-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCN6750 Bluetooth
maintainers:
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,wcn6750-bt
enable-gpios:
maxItems: 1
deprecated: true
swctrl-gpios:
maxItems: 1
description: gpio specifier is used to find status
of clock supply to SoC
deprecated: true
vddaon-supply:
description: VDD_AON supply regulator handle
vddasd-supply:
description: VDD_ASD supply regulator handle
deprecated: true
vddbtcmx-supply:
description: VDD_BT_CMX supply regulator handle
vddbtcxmx-supply:
description: VDD_BT_CXMX supply regulator handle
deprecated: true
vddio-supply:
description: VDD_IO supply regulator handle
deprecated: true
vddrfa0p8-supply:
description: VDD_RFA_0P8 supply regulator handle
vddrfa1p2-supply:
description: VDD_RFA_1P2 supply regulator handle
vddrfa1p7-supply:
description: VDD_RFA_1P7 supply regulator handle
vddrfa2p2-supply:
description: VDD_RFA_2P2 supply regulator handle
vddrfacmn-supply:
description: VDD_RFA_CMN supply regulator handle
required:
- compatible
- vddaon-supply
- vddrfa0p8-supply
- vddrfa1p2-supply
- vddrfa1p7-supply
- vddrfacmn-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
serial {
bluetooth {
compatible = "qcom,wcn6750-bt";
firmware-name = "msnv11.bin";
max-speed = <3200000>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
};
};
@@ -0,0 +1,96 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,wcn6855-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCN6855 Bluetooth
maintainers:
- Bartosz Golaszewski <brgl@bgdev.pl>
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,wcn6855-bt
enable-gpios:
maxItems: 1
deprecated: true
swctrl-gpios:
maxItems: 1
description: gpio specifier is used to find status
of clock supply to SoC
deprecated: true
vddaon-supply:
description: VDD_AON supply regulator handle
vddbtcmx-supply:
description: VDD_BT_CMX supply regulator handle
vddbtcxmx-supply:
description: VDD_BT_CXMX supply regulator handle
deprecated: true
vddio-supply:
description: VDD_IO supply regulator handle
deprecated: true
vddrfa0p8-supply:
description: VDD_RFA_0P8 supply regulator handle
vddrfa1p2-supply:
description: VDD_RFA_1P2 supply regulator handle
vddrfa1p7-supply:
description: VDD_RFA_1P7 supply regulator handle
deprecated: true
vddrfacmn-supply:
description: VDD_RFA_CMN supply regulator handle
vddwlcx-supply:
description: VDD_WLCX supply regulator handle
vddwlmx-supply:
description: VDD_WLMX supply regulator handle
required:
- compatible
- vddaon-supply
- vddbtcmx-supply
- vddrfa0p8-supply
- vddrfa1p2-supply
- vddrfa1p7-supply
- vddrfacmn-supply
- vddwlcx-supply
- vddwlmx-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
serial {
bluetooth {
compatible = "qcom,wcn6855-bt";
max-speed = <3000000>;
vddaon-supply = <&vreg_pmu_aon_0p8>;
vddbtcmx-supply = <&vreg_pmu_btcmx_0p8>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn_0p8>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p8>;
};
};
@@ -0,0 +1,94 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/qcom,wcn7850-bt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm WCN7850 Bluetooth
maintainers:
- Bartosz Golaszewski <brgl@bgdev.pl>
- Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
- Rocky Liao <quic_rjliao@quicinc.com>
properties:
compatible:
enum:
- qcom,wcn7850-bt
enable-gpios:
maxItems: 1
deprecated: true
swctrl-gpios:
maxItems: 1
description: gpio specifier is used to find status
of clock supply to SoC
deprecated: true
vddaon-supply:
description: VDD_AON supply regulator handle
vdddig-supply:
description: VDD_DIG supply regulator handle
deprecated: true
vddio-supply:
description: VDD_IO supply regulator handle
deprecated: true
vddrfa0p8-supply:
description: VDD_RFA_0P8 supply regulator handle
vddrfa1p2-supply:
description: VDD_RFA_1P2 supply regulator handle
vddrfa1p8-supply:
description: VDD_RFA_1P8 supply regulator handle
vddrfa1p9-supply:
description: VDD_RFA_1P9 supply regulator handle
deprecated: true
vddrfacmn-supply:
description: VDD_RFA_CMN supply regulator handle
vddwlcx-supply:
description: VDD_WLCX supply regulator handle
vddwlmx-supply:
description: VDD_WLMX supply regulator handle
required:
- compatible
- vddrfacmn-supply
- vddaon-supply
- vddwlcx-supply
- vddwlmx-supply
- vddrfa0p8-supply
- vddrfa1p2-supply
- vddrfa1p8-supply
allOf:
- $ref: bluetooth-controller.yaml#
- $ref: qcom,bluetooth-common.yaml
- $ref: /schemas/serial/serial-peripheral-props.yaml#
unevaluatedProperties: false
examples:
- |
serial {
bluetooth {
compatible = "qcom,wcn7850-bt";
max-speed = <3200000>;
vddaon-supply = <&vreg_pmu_aon_0p59>;
vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
vddrfa1p8-supply = <&vreg_pmu_rfa_1p8>;
vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
};
};
@@ -0,0 +1,68 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/realtek,bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RTL8723BS/RTL8723CS/RTL8821CS/RTL8822CS Bluetooth
maintainers:
- Vasily Khoruzhick <anarsoul@gmail.com>
- Alistair Francis <alistair@alistair23.me>
description:
RTL8723BS/RTL8723CS/RTL8821CS/RTL8822CS is a WiFi + BT chip. WiFi part
is connected over SDIO, while BT is connected over serial. It speaks
H5 protocol with few extra commands to upload firmware and change
module speed.
properties:
compatible:
oneOf:
- enum:
- realtek,rtl8723bs-bt
- realtek,rtl8723cs-bt
- realtek,rtl8723ds-bt
- realtek,rtl8822cs-bt
- items:
- enum:
- realtek,rtl8821cs-bt
- const: realtek,rtl8723bs-bt
device-wake-gpios:
maxItems: 1
description: GPIO specifier, used to wakeup the BT module
enable-gpios:
maxItems: 1
description: GPIO specifier, used to enable the BT module
host-wake-gpios:
maxItems: 1
description: GPIO specifier, used to wakeup the host processor
max-speed: true
required:
- compatible
allOf:
- $ref: /schemas/serial/serial-peripheral-props.yaml#
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
uart-has-rtscts;
bluetooth {
compatible = "realtek,rtl8723bs-bt";
device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
};
};
@@ -0,0 +1,95 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/bluetooth/ti,bluetooth.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments Bluetooth Chips
maintainers:
- David Lechner <david@lechnology.com>
description: |
This documents the binding structure and common properties for serial
attached TI Bluetooth devices. The following chips are included in this
binding:
* TI CC256x Bluetooth devices
* TI WiLink 7/8 (wl12xx/wl18xx) Shared Transport BT/FM/GPS devices
TI WiLink devices have a UART interface for providing Bluetooth, FM radio,
and GPS over what's called "shared transport". The shared transport is
standard BT HCI protocol with additional channels for the other functions.
TI WiLink devices also have a separate WiFi interface as described in
wireless/ti,wlcore.yaml.
This bindings follows the UART slave device binding in ../serial/serial.yaml.
properties:
compatible:
enum:
- ti,cc2560
- ti,wl1271-st
- ti,wl1273-st
- ti,wl1281-st
- ti,wl1283-st
- ti,wl1285-st
- ti,wl1801-st
- ti,wl1805-st
- ti,wl1807-st
- ti,wl1831-st
- ti,wl1835-st
- ti,wl1837-st
enable-gpios:
maxItems: 1
vio-supply:
description: Vio input supply (1.8V)
vbat-supply:
description: Vbat input supply (2.9-4.8V)
clocks:
maxItems: 1
clock-names:
items:
- const: ext_clock
max-speed:
default: 3000000
nvmem-cells:
maxItems: 1
description:
Nvmem data cell that contains a 6 byte BD address with the most
significant byte first (big-endian).
nvmem-cell-names:
items:
- const: bd-address
required:
- compatible
allOf:
- $ref: /schemas/serial/serial-peripheral-props.yaml#
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
serial {
bluetooth {
compatible = "ti,wl1835-st";
enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
clocks = <&clk32k_wl18xx>;
clock-names = "ext_clock";
nvmem-cells = <&bd_address>;
nvmem-cell-names = "bd-address";
};
};