ARM: dts: s5pv210: Correct BCM4329 bluetooth node
authorJonathan Bakker <xc-racer2@live.ca>
Sat, 13 Jun 2020 18:44:27 +0000 (11:44 -0700)
committerKrzysztof Kozlowski <krzk@kernel.org>
Mon, 15 Jun 2020 07:00:41 +0000 (09:00 +0200)
There are several issues with the bluetooth node - the wrong
compatible was used (because the bcm4329 compatible didn't exist
when the node was added), the max rate was incorrect (due to
limitations in the samsung TTY driver which have now been fixed),
the clocks were not assigned properly so some rates didn't work,
and the some pinctrl settings weren't explicitly set.  Fix all
of the above issues.

While we're at it, update from the deprecated host-wakeup-gpios
property to the host-wake interrupt.

Signed-off-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/boot/dts/s5pv210-aries.dtsi

index 92ec0e133b25e0534de18544cad40b9f461ebdb5..822207f63ee0a994f1cf168baa9820381f0e2291 100644 (file)
 };
 
 &pinctrl0 {
+       bt_reset: bt-reset {
+               samsung,pins = "gpb-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
+       };
+
        wlan_bt_en: wlan-bt-en {
                samsung,pins = "gpb-5";
                samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
                samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
        };
 
+       bt_wake: bt-wake {
+               samsung,pins = "gpg3-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
+       };
+
        gp2a_irq: gp2a-irq {
                samsung,pins = "gph0-2";
                samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
 };
 
 &uart0 {
+       assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>;
+       assigned-clock-rates = <0>, <111166667>;
+       assigned-clock-parents = <&clocks MOUT_MPLL>;
+
        status = "okay";
 
        bluetooth {
-               compatible = "brcm,bcm43438-bt";
-               max-speed = <115200>;
+               compatible = "brcm,bcm4329-bt";
+               max-speed = <3000000>;
                pinctrl-names = "default";
-               pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake>;
+               pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake
+                            &bt_reset &bt_wake>;
                shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>;
                device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>;
-               host-wakeup-gpios = <&gph2 5 GPIO_ACTIVE_HIGH>;
+               interrupt-parent = <&gph2>;
+               interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "host-wake";
        };
 };