Commit 224bf0fe authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Linus Walleij
Browse files

ARM: dts: ux500: samsung-golden: Add Bluetooth



samsung-golden uses a BCM4334 WiFi+BT combo chip.
The BT part is connected via UART and supported by the hci_bcm
driver in mainline.
Add the necessary device tree changes to make it load correctly.

It requires (seemingly) device-specific firmware that can be
extracted from the stock Android system used on samsung-golden:
  - /system/bin/bcm4334.hcd -> /lib/firmware/brcm/BCM4334B0.hcd

On my device, scanning for other Bluetooth devices works just fine,
but for some reason it keeps disconnecting immediately
when attempting to connect to an other device.

Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20191219202052.19039-9-stephan@gerhold.net


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent fbb7c4a1
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -113,6 +113,19 @@ uart@80120000 {
			pinctrl-names = "default", "sleep";
			pinctrl-0 = <&u0_a_1_default>;
			pinctrl-1 = <&u0_a_1_sleep>;

			bluetooth {
				compatible = "brcm,bcm4330-bt";
				/* GPIO222 (BT_VREG_ON) */
				shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>;
				/* GPIO199 (BT_WAKE) */
				device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>;
				/* GPIO97 (BT_HOST_WAKE) */
				host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;

				pinctrl-names = "default";
				pinctrl-0 = <&bluetooth_default>;
			};
		};

		/* GPF UART */
@@ -396,6 +409,20 @@ golden_cfg1 {
		};
	};

	bluetooth {
		bluetooth_default: bluetooth_default {
			golden_cfg1 {
				pins = "GPIO199_AH23",	/* BT_WAKE */
				       "GPIO222_AJ9";	/* BT_VREG_ON */
				ste,config = <&gpio_out_lo>;
			};
			golden_cfg2 {
				pins = "GPIO97_D9";	/* BT_HOST_WAKE */
				ste,config = <&gpio_in_nopull>;
			};
		};
	};

	vibrator {
		vibrator_default: vibrator_default {
			golden_cfg1 {