From ab00f2abe68614438fbc3c213ddba5b8e27f3a52 Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Sun, 11 Aug 2024 20:17:06 +0200 Subject: dt-bindings: bluetooth: move Bluetooth bindings to dedicated directory Some Bluetooth devices bindings are in net/ and some are in net/bluetooth/, so bring some consistency by putting everything in net/bluetooth. Rename few bindings to match preferred naming style: "vendor,device". Signed-off-by: Krzysztof Kozlowski Reviewed-by: Conor Dooley Link: https://lore.kernel.org/r/20240811-dt-bindings-serial-peripheral-props-v1-3-1dba258b7492@linaro.org Signed-off-by: Rob Herring (Arm) --- .../bindings/net/bluetooth/brcm,bluetooth.yaml | 164 +++++++++++++++++++++ .../bindings/net/bluetooth/marvell,88w8897.yaml | 49 ++++++ .../bindings/net/bluetooth/mediatek,bluetooth.txt | 80 ++++++++++ .../bindings/net/bluetooth/nokia,h4p-bluetooth.txt | 51 +++++++ .../bindings/net/bluetooth/realtek,bluetooth.yaml | 65 ++++++++ .../bindings/net/bluetooth/ti,bluetooth.yaml | 92 ++++++++++++ .../bindings/net/broadcom-bluetooth.yaml | 164 --------------------- .../devicetree/bindings/net/marvell-bluetooth.yaml | 49 ------ .../devicetree/bindings/net/mediatek-bluetooth.txt | 80 ---------- .../devicetree/bindings/net/nokia-bluetooth.txt | 51 ------- .../devicetree/bindings/net/realtek-bluetooth.yaml | 65 -------- .../devicetree/bindings/net/ti,bluetooth.yaml | 92 ------------ MAINTAINERS | 2 +- 13 files changed, 502 insertions(+), 502 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml create mode 100644 Documentation/devicetree/bindings/net/bluetooth/marvell,88w8897.yaml create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt create mode 100644 Documentation/devicetree/bindings/net/bluetooth/nokia,h4p-bluetooth.txt create mode 100644 Documentation/devicetree/bindings/net/bluetooth/realtek,bluetooth.yaml create mode 100644 Documentation/devicetree/bindings/net/bluetooth/ti,bluetooth.yaml delete mode 100644 Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml delete mode 100644 Documentation/devicetree/bindings/net/marvell-bluetooth.yaml delete mode 100644 Documentation/devicetree/bindings/net/mediatek-bluetooth.txt delete mode 100644 Documentation/devicetree/bindings/net/nokia-bluetooth.txt delete mode 100644 Documentation/devicetree/bindings/net/realtek-bluetooth.yaml delete mode 100644 Documentation/devicetree/bindings/net/ti,bluetooth.yaml diff --git a/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml new file mode 100644 index 000000000000..e49e4146736f --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml @@ -0,0 +1,164 @@ +# 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 + +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 + + max-speed: true + current-speed: true + +required: + - compatible + +dependencies: + brcm,requires-autobaud-mode: [ shutdown-gpios ] + +if: + not: + properties: + compatible: + contains: + enum: + - brcm,bcm20702a1 + - brcm,bcm4329-bt + - brcm,bcm4330-bt +then: + properties: + reset-gpios: false + +additionalProperties: false + +examples: + - | + #include + #include + + 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>; + }; + }; diff --git a/Documentation/devicetree/bindings/net/bluetooth/marvell,88w8897.yaml b/Documentation/devicetree/bindings/net/bluetooth/marvell,88w8897.yaml new file mode 100644 index 000000000000..60b90cd62013 --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/marvell,88w8897.yaml @@ -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 + +properties: + compatible: + enum: + - mrvl,88w8897 + - mrvl,88w8997 + + max-speed: + description: see Documentation/devicetree/bindings/serial/serial.yaml + +required: + - compatible + +allOf: + - 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"; + }; + }; diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt b/Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt new file mode 100644 index 000000000000..988c72685cbf --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt @@ -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 = ; + output-low; + }; + }; + + uart1_pins_runtime: uart1-runtime { + pins-dat { + pinmux = , + ; + }; + }; + + uart1: serial@11003000 { + compatible = "mediatek,mt7623-uart", + "mediatek,mt6577-uart"; + reg = <0 0x11003000 0 0x400>; + interrupts = ; + clocks = <&pericfg CLK_PERI_UART1_SEL>, + <&pericfg CLK_PERI_UART1>; + clock-names = "baud", "bus"; + + bluetooth { + compatible = "mediatek,mt7663u-bluetooth"; + vcc-supply = <®_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>; + }; + }; diff --git a/Documentation/devicetree/bindings/net/bluetooth/nokia,h4p-bluetooth.txt b/Documentation/devicetree/bindings/net/bluetooth/nokia,h4p-bluetooth.txt new file mode 100644 index 000000000000..42be7dc9a70b --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/nokia,h4p-bluetooth.txt @@ -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"; + }; +}; diff --git a/Documentation/devicetree/bindings/net/bluetooth/realtek,bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/realtek,bluetooth.yaml new file mode 100644 index 000000000000..993c607eaa49 --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/realtek,bluetooth.yaml @@ -0,0 +1,65 @@ +# 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 + - Alistair Francis + +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 + +additionalProperties: false + +examples: + - | + #include + + 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 */ + }; + }; diff --git a/Documentation/devicetree/bindings/net/bluetooth/ti,bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/ti,bluetooth.yaml new file mode 100644 index 000000000000..1f507ddccc3c --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/ti,bluetooth.yaml @@ -0,0 +1,92 @@ +# 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 + +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 + +additionalProperties: false + +examples: + - | + #include + + 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"; + }; + }; diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml deleted file mode 100644 index 4a1bfc2b3584..000000000000 --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml +++ /dev/null @@ -1,164 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Broadcom Bluetooth Chips - -maintainers: - - Linus Walleij - -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 - - max-speed: true - current-speed: true - -required: - - compatible - -dependencies: - brcm,requires-autobaud-mode: [ shutdown-gpios ] - -if: - not: - properties: - compatible: - contains: - enum: - - brcm,bcm20702a1 - - brcm,bcm4329-bt - - brcm,bcm4330-bt -then: - properties: - reset-gpios: false - -additionalProperties: false - -examples: - - | - #include - #include - - 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>; - }; - }; diff --git a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml b/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml deleted file mode 100644 index 188a42ca6ceb..000000000000 --- a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml +++ /dev/null @@ -1,49 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/net/marvell-bluetooth.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 - -properties: - compatible: - enum: - - mrvl,88w8897 - - mrvl,88w8997 - - max-speed: - description: see Documentation/devicetree/bindings/serial/serial.yaml - -required: - - compatible - -allOf: - - 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"; - }; - }; diff --git a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt b/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt deleted file mode 100644 index 988c72685cbf..000000000000 --- a/Documentation/devicetree/bindings/net/mediatek-bluetooth.txt +++ /dev/null @@ -1,80 +0,0 @@ -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 = ; - output-low; - }; - }; - - uart1_pins_runtime: uart1-runtime { - pins-dat { - pinmux = , - ; - }; - }; - - uart1: serial@11003000 { - compatible = "mediatek,mt7623-uart", - "mediatek,mt6577-uart"; - reg = <0 0x11003000 0 0x400>; - interrupts = ; - clocks = <&pericfg CLK_PERI_UART1_SEL>, - <&pericfg CLK_PERI_UART1>; - clock-names = "baud", "bus"; - - bluetooth { - compatible = "mediatek,mt7663u-bluetooth"; - vcc-supply = <®_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>; - }; - }; diff --git a/Documentation/devicetree/bindings/net/nokia-bluetooth.txt b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt deleted file mode 100644 index 42be7dc9a70b..000000000000 --- a/Documentation/devicetree/bindings/net/nokia-bluetooth.txt +++ /dev/null @@ -1,51 +0,0 @@ -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"; - }; -}; diff --git a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml deleted file mode 100644 index 043e118c605c..000000000000 --- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml +++ /dev/null @@ -1,65 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/net/realtek-bluetooth.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: RTL8723BS/RTL8723CS/RTL8821CS/RTL8822CS Bluetooth - -maintainers: - - Vasily Khoruzhick - - Alistair Francis - -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 - -additionalProperties: false - -examples: - - | - #include - - 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 */ - }; - }; diff --git a/Documentation/devicetree/bindings/net/ti,bluetooth.yaml b/Documentation/devicetree/bindings/net/ti,bluetooth.yaml deleted file mode 100644 index 81616f9fb493..000000000000 --- a/Documentation/devicetree/bindings/net/ti,bluetooth.yaml +++ /dev/null @@ -1,92 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/net/ti,bluetooth.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Texas Instruments Bluetooth Chips - -maintainers: - - David Lechner - -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 - -additionalProperties: false - -examples: - - | - #include - - 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"; - }; - }; diff --git a/MAINTAINERS b/MAINTAINERS index 42decde38320..ca9e12cf81b1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14210,8 +14210,8 @@ M: Sean Wang L: linux-bluetooth@vger.kernel.org L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml -F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt F: drivers/bluetooth/btmtkuart.c MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS -- cgit