1*bb171271SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*bb171271SGeert Uytterhoeven%YAML 1.2
3*bb171271SGeert Uytterhoeven---
4*bb171271SGeert Uytterhoeven$id: http://devicetree.org/schemas/net/ti,bluetooth.yaml#
5*bb171271SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*bb171271SGeert Uytterhoeven
7*bb171271SGeert Uytterhoeventitle: Texas Instruments Bluetooth Chips
8*bb171271SGeert Uytterhoeven
9*bb171271SGeert Uytterhoevenmaintainers:
10*bb171271SGeert Uytterhoeven  - David Lechner <david@lechnology.com>
11*bb171271SGeert Uytterhoeven
12*bb171271SGeert Uytterhoevendescription: |
13*bb171271SGeert Uytterhoeven  This documents the binding structure and common properties for serial
14*bb171271SGeert Uytterhoeven  attached TI Bluetooth devices. The following chips are included in this
15*bb171271SGeert Uytterhoeven  binding:
16*bb171271SGeert Uytterhoeven
17*bb171271SGeert Uytterhoeven  * TI CC256x Bluetooth devices
18*bb171271SGeert Uytterhoeven  * TI WiLink 7/8 (wl12xx/wl18xx) Shared Transport BT/FM/GPS devices
19*bb171271SGeert Uytterhoeven
20*bb171271SGeert Uytterhoeven  TI WiLink devices have a UART interface for providing Bluetooth, FM radio,
21*bb171271SGeert Uytterhoeven  and GPS over what's called "shared transport". The shared transport is
22*bb171271SGeert Uytterhoeven  standard BT HCI protocol with additional channels for the other functions.
23*bb171271SGeert Uytterhoeven
24*bb171271SGeert Uytterhoeven  TI WiLink devices also have a separate WiFi interface as described in
25*bb171271SGeert Uytterhoeven  wireless/ti,wlcore.yaml.
26*bb171271SGeert Uytterhoeven
27*bb171271SGeert Uytterhoeven  This bindings follows the UART slave device binding in ../serial/serial.yaml.
28*bb171271SGeert Uytterhoeven
29*bb171271SGeert Uytterhoevenproperties:
30*bb171271SGeert Uytterhoeven  compatible:
31*bb171271SGeert Uytterhoeven    enum:
32*bb171271SGeert Uytterhoeven      - ti,cc2560
33*bb171271SGeert Uytterhoeven      - ti,wl1271-st
34*bb171271SGeert Uytterhoeven      - ti,wl1273-st
35*bb171271SGeert Uytterhoeven      - ti,wl1281-st
36*bb171271SGeert Uytterhoeven      - ti,wl1283-st
37*bb171271SGeert Uytterhoeven      - ti,wl1285-st
38*bb171271SGeert Uytterhoeven      - ti,wl1801-st
39*bb171271SGeert Uytterhoeven      - ti,wl1805-st
40*bb171271SGeert Uytterhoeven      - ti,wl1807-st
41*bb171271SGeert Uytterhoeven      - ti,wl1831-st
42*bb171271SGeert Uytterhoeven      - ti,wl1835-st
43*bb171271SGeert Uytterhoeven      - ti,wl1837-st
44*bb171271SGeert Uytterhoeven
45*bb171271SGeert Uytterhoeven  enable-gpios:
46*bb171271SGeert Uytterhoeven    maxItems: 1
47*bb171271SGeert Uytterhoeven
48*bb171271SGeert Uytterhoeven  vio-supply:
49*bb171271SGeert Uytterhoeven    description: Vio input supply (1.8V)
50*bb171271SGeert Uytterhoeven
51*bb171271SGeert Uytterhoeven  vbat-supply:
52*bb171271SGeert Uytterhoeven    description: Vbat input supply (2.9-4.8V)
53*bb171271SGeert Uytterhoeven
54*bb171271SGeert Uytterhoeven  clocks:
55*bb171271SGeert Uytterhoeven    maxItems: 1
56*bb171271SGeert Uytterhoeven
57*bb171271SGeert Uytterhoeven  clock-names:
58*bb171271SGeert Uytterhoeven    items:
59*bb171271SGeert Uytterhoeven      - const: ext_clock
60*bb171271SGeert Uytterhoeven
61*bb171271SGeert Uytterhoeven  max-speed: true
62*bb171271SGeert Uytterhoeven
63*bb171271SGeert Uytterhoeven  nvmem-cells:
64*bb171271SGeert Uytterhoeven    maxItems: 1
65*bb171271SGeert Uytterhoeven    description:
66*bb171271SGeert Uytterhoeven      Nvmem data cell that contains a 6 byte BD address with the most
67*bb171271SGeert Uytterhoeven      significant byte first (big-endian).
68*bb171271SGeert Uytterhoeven
69*bb171271SGeert Uytterhoeven  nvmem-cell-names:
70*bb171271SGeert Uytterhoeven    items:
71*bb171271SGeert Uytterhoeven      - const: bd-address
72*bb171271SGeert Uytterhoeven
73*bb171271SGeert Uytterhoevenrequired:
74*bb171271SGeert Uytterhoeven  - compatible
75*bb171271SGeert Uytterhoeven
76*bb171271SGeert UytterhoevenadditionalProperties: false
77*bb171271SGeert Uytterhoeven
78*bb171271SGeert Uytterhoevenexamples:
79*bb171271SGeert Uytterhoeven  - |
80*bb171271SGeert Uytterhoeven    #include <dt-bindings/gpio/gpio.h>
81*bb171271SGeert Uytterhoeven
82*bb171271SGeert Uytterhoeven    serial {
83*bb171271SGeert Uytterhoeven            bluetooth {
84*bb171271SGeert Uytterhoeven                    compatible = "ti,wl1835-st";
85*bb171271SGeert Uytterhoeven                    enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
86*bb171271SGeert Uytterhoeven                    clocks = <&clk32k_wl18xx>;
87*bb171271SGeert Uytterhoeven                    clock-names = "ext_clock";
88*bb171271SGeert Uytterhoeven                    nvmem-cells = <&bd_address>;
89*bb171271SGeert Uytterhoeven                    nvmem-cell-names = "bd-address";
90*bb171271SGeert Uytterhoeven            };
91*bb171271SGeert Uytterhoeven    };
92