Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: s5pv210: Correct BCM4329 bluetooth node

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>

authored by

Jonathan Bakker and committed by
Krzysztof Kozlowski
1c65b618 c713a4e3

+24 -4
+24 -4
arch/arm/boot/dts/s5pv210-aries.dtsi
··· 629 629 }; 630 630 631 631 &pinctrl0 { 632 + bt_reset: bt-reset { 633 + samsung,pins = "gpb-3"; 634 + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 635 + samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; 636 + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 637 + }; 638 + 632 639 wlan_bt_en: wlan-bt-en { 633 640 samsung,pins = "gpb-5"; 634 641 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; ··· 657 650 658 651 wlan_gpio_rst: wlan-gpio-rst { 659 652 samsung,pins = "gpg1-2"; 653 + samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 654 + samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; 655 + }; 656 + 657 + bt_wake: bt-wake { 658 + samsung,pins = "gpg3-4"; 660 659 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 661 660 samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; 662 661 }; ··· 858 845 }; 859 846 860 847 &uart0 { 848 + assigned-clocks = <&clocks MOUT_UART0>, <&clocks SCLK_UART0>; 849 + assigned-clock-rates = <0>, <111166667>; 850 + assigned-clock-parents = <&clocks MOUT_MPLL>; 851 + 861 852 status = "okay"; 862 853 863 854 bluetooth { 864 - compatible = "brcm,bcm43438-bt"; 865 - max-speed = <115200>; 855 + compatible = "brcm,bcm4329-bt"; 856 + max-speed = <3000000>; 866 857 pinctrl-names = "default"; 867 - pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake>; 858 + pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake 859 + &bt_reset &bt_wake>; 868 860 shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>; 869 861 device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>; 870 - host-wakeup-gpios = <&gph2 5 GPIO_ACTIVE_HIGH>; 862 + interrupt-parent = <&gph2>; 863 + interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 864 + interrupt-names = "host-wake"; 871 865 }; 872 866 }; 873 867