Merge tag 'nfs-for-5.3-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / net / mediatek-bluetooth.txt
1 MediaTek SoC built-in Bluetooth Devices
2 ==================================
3
4 This device is a serial attached device to BTIF device and thus it must be a
5 child node of the serial node with BTIF. The dt-bindings details for BTIF
6 device can be known via Documentation/devicetree/bindings/serial/8250.txt.
7
8 Required properties:
9
10 - compatible:   Must be
11                   "mediatek,mt7622-bluetooth": for MT7622 SoC
12 - clocks:       Should be the clock specifiers corresponding to the entry in
13                 clock-names property.
14 - clock-names:  Should contain "ref" entries.
15 - power-domains: Phandle to the power domain that the device is part of
16
17 Example:
18
19         btif: serial@1100c000 {
20                 compatible = "mediatek,mt7622-btif",
21                              "mediatek,mtk-btif";
22                 reg = <0 0x1100c000 0 0x1000>;
23                 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>;
24                 clocks = <&pericfg CLK_PERI_BTIF_PD>;
25                 clock-names = "main";
26                 reg-shift = <2>;
27                 reg-io-width = <4>;
28
29                 bluetooth {
30                         compatible = "mediatek,mt7622-bluetooth";
31                         power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;
32                         clocks = <&clk25m>;
33                         clock-names = "ref";
34                 };
35         };
36
37 MediaTek UART based Bluetooth Devices
38 ==================================
39
40 This device is a serial attached device to UART device and thus it must be a
41 child node of the serial node with UART.
42
43 Please refer to the following documents for generic properties:
44
45         Documentation/devicetree/bindings/serial/slave-device.txt
46
47 Required properties:
48
49 - compatible:   Must be
50                   "mediatek,mt7663u-bluetooth": for MT7663U device
51                   "mediatek,mt7668u-bluetooth": for MT7668U device
52 - vcc-supply:   Main voltage regulator
53
54 If the pin controller on the platform can support both pinmux and GPIO
55 control such as the most of MediaTek platform. Please use below properties.
56
57 - pinctrl-names: Should be "default", "runtime"
58 - pinctrl-0: Should contain UART RXD low when the device is powered up to
59              enter proper bootstrap mode.
60 - pinctrl-1: Should contain UART mode pin ctrl
61
62 Else, the pin controller on the platform only can support pinmux control and
63 the GPIO control still has to rely on the dedicated GPIO controller such as
64 a legacy MediaTek SoC, MT7621. Please use the below properties.
65
66 - boot-gpios:   GPIO same to the pin as UART RXD and used to keep LOW when
67                 the device is powered up to enter proper bootstrap mode when
68 - pinctrl-names: Should be "default"
69 - pinctrl-0: Should contain UART mode pin ctrl
70
71 Optional properties:
72
73 - reset-gpios:  GPIO used to reset the device whose initial state keeps low,
74                 if the GPIO is missing, then board-level design should be
75                 guaranteed.
76 - clocks:       Should be the clock specifiers corresponding to the entry in
77                 clock-names property. If the clock is missing, then board-level
78                 design should be guaranteed.
79 - clock-names:  Should contain "osc" entry for the external oscillator.
80 - current-speed:  Current baud rate of the device whose defaults to 921600
81
82 Example:
83
84         uart1_pins_boot: uart1-default {
85                 pins-dat {
86                         pinmux = <MT7623_PIN_81_URXD1_FUNC_GPIO81>;
87                         output-low;
88                 };
89         };
90
91         uart1_pins_runtime: uart1-runtime {
92                 pins-dat {
93                         pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
94                                  <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
95                 };
96         };
97
98         uart1: serial@11003000 {
99                 compatible = "mediatek,mt7623-uart",
100                              "mediatek,mt6577-uart";
101                 reg = <0 0x11003000 0 0x400>;
102                 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
103                 clocks = <&pericfg CLK_PERI_UART1_SEL>,
104                          <&pericfg CLK_PERI_UART1>;
105                 clock-names = "baud", "bus";
106
107                 bluetooth {
108                         compatible = "mediatek,mt7663u-bluetooth";
109                         vcc-supply = <&reg_5v>;
110                         reset-gpios = <&pio 24 GPIO_ACTIVE_LOW>;
111                         pinctrl-names = "default", "runtime";
112                         pinctrl-0 = <&uart1_pins_boot>;
113                         pinctrl-1 = <&uart1_pins_runtime>;
114                         current-speed = <921600>;
115                 };
116         };