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