|
@@ -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+
|
|
|
|
+(also known as h4p) 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 contain "nokia,h4p-bluetooth" as well as one of the following:
|
|
|
|
+ * "brcm,bcm2048-nokia"
|
|
|
|
+ * "ti,wl1271-bluetooth-nokia"
|
|
|
|
+ - reset-gpios: GPIO specifier, used to reset the BT module (active low)
|
|
|
|
+ - bluetooth-wakeup-gpios: GPIO specifier, used to wakeup the BT module (active high)
|
|
|
|
+ - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor (active high)
|
|
|
|
+ - 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 = "ti,wl1271-bluetooth-nokia", "nokia,h4p-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";
|
|
|
|
+ };
|
|
|
|
+};
|