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