xref: /freebsd/sys/contrib/device-tree/Bindings/net/nokia-bluetooth.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotNokia Bluetooth Chips
2*c66ec88fSEmmanuel Vadot---------------------
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotNokia phones often come with UART connected bluetooth chips from different
5*c66ec88fSEmmanuel Vadotvendors and modified device API. Those devices speak a protocol named H4+
6*c66ec88fSEmmanuel Vadot(also known as h4p) by Nokia, which is similar to the H4 protocol from the
7*c66ec88fSEmmanuel VadotBluetooth standard. In addition to the H4 protocol it specifies two more
8*c66ec88fSEmmanuel VadotUART status lines for wakeup of UART transceivers to improve power management
9*c66ec88fSEmmanuel Vadotand a few new packet types used to negotiate uart speed.
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotRequired properties:
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel Vadot - compatible: should contain "nokia,h4p-bluetooth" as well as one of the following:
14*c66ec88fSEmmanuel Vadot   * "brcm,bcm2048-nokia"
15*c66ec88fSEmmanuel Vadot   * "ti,wl1271-bluetooth-nokia"
16*c66ec88fSEmmanuel Vadot - reset-gpios: GPIO specifier, used to reset the BT module (active low)
17*c66ec88fSEmmanuel Vadot - bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high)
18*c66ec88fSEmmanuel Vadot - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high)
19*c66ec88fSEmmanuel Vadot - clock-names: should be "sysclk"
20*c66ec88fSEmmanuel Vadot - clocks: should contain a clock specifier for every name in clock-names
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel VadotOptional properties:
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot - None
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel VadotExample:
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot/ {
29*c66ec88fSEmmanuel Vadot       /* controlled (enabled/disabled) directly by BT module */
30*c66ec88fSEmmanuel Vadot       bluetooth_clk: vctcxo {
31*c66ec88fSEmmanuel Vadot               compatible = "fixed-clock";
32*c66ec88fSEmmanuel Vadot               #clock-cells = <0>;
33*c66ec88fSEmmanuel Vadot               clock-frequency = <38400000>;
34*c66ec88fSEmmanuel Vadot       };
35*c66ec88fSEmmanuel Vadot};
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot&uart2 {
38*c66ec88fSEmmanuel Vadot       pinctrl-names = "default";
39*c66ec88fSEmmanuel Vadot       pinctrl-0 = <&uart2_pins>;
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot       bluetooth {
42*c66ec88fSEmmanuel Vadot               compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth";
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot               reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */
45*c66ec88fSEmmanuel Vadot               host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
46*c66ec88fSEmmanuel Vadot               bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot               clocks = <&bluetooth_clk>;
49*c66ec88fSEmmanuel Vadot               clock-names = "sysclk";
50*c66ec88fSEmmanuel Vadot       };
51*c66ec88fSEmmanuel Vadot};
52