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.cdiff --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