Thread (35 messages) 35 messages, 5 authors, 2017-03-18

Re: [PATCH 10/10] Bluetooth: add nokia driver

From: Rob Herring <hidden>
Date: 2017-03-07 16:43:12
Also in: linux-bluetooth, linux-devicetree, lkml

On Sat, Mar 4, 2017 at 5:58 AM, Sebastian Reichel [off-list ref] wrote:
This adds a driver for the Nokia H4+ protocol, which is used
at least on the Nokia N9, N900 & N950.

Signed-off-by: Sebastian Reichel <redacted>
---
 .../devicetree/bindings/net/nokia-bluetooth.txt    |  51 ++
This should be separate and before the dts files.
quoted hunk ↗ jump to hunk
 drivers/bluetooth/Kconfig                          |  12 +
 drivers/bluetooth/Makefile                         |   2 +
 drivers/bluetooth/hci_nokia.c                      | 839 +++++++++++++++++++++
 4 files changed, 904 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/nokia-bluetooth.txt
 create mode 100644 drivers/bluetooth/hci_nokia.c
diff --git a/Documentation/devicetree/bindings/net/nokia-bluetooth.txt b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt
new file mode 100644
index 000000000000..6c80a92f31e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/nokia-bluetooth.txt
@@ -0,0 +1,51 @@
+Nokia Bluetooth Chips
+---------------------
+
+Nokia phones often come with UART connected bluetooth chips from different
+vendors and modified device API. Those devices speak a protocol named H4+
+by Nokia, which is similar to the H4 protocol from the Bluetooth standard.
+In addition to the H4 protocol it specifies two more UART status lines for
+wakeup of UART transceivers to improve power management and a few new packet
+types used to negotiate uart speed.
+
+Required properties:
+
+ - compatible: should be one of the following:
+   * "nokia,brcm,bcm2048"
+   * "nokia,ti,wl1271-bluetooth"
Drop the chip vendors' prefix here. I don't really want to start a
pattern of 2 vendor prefixes.
+ - reset-gpios: GPIO specifier, used to reset the BT module
Need to state active state.
+ - bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module
+ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor
I think most BCM devices have these. These apply to the TI device too?
If not, then add brcm prefix.

Also need to specify the active state.
+ - clock-names: should be "sysclk"
+ - clocks: should contain a clock specifier for every name in clock-names
+
+Optional properties:
+
+ - None
+
+Example:
+
+/ {
+       /* controlled (enabled/disabled) directly by BT module */
+       bluetooth_clk: vctcxo {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <38400000>;
+       };
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins>;
+
+       bluetooth {
+               compatible = "nokia,ti,wl1271-bluetooth";
+
+               reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* gpio26 */
+               host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* gpio101 */
+               bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* gpio37 */
+
+               clocks = <&bluetooth_clk>;
+               clock-names = "sysclk";
+       };
+};
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help