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