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