Hi, On Fri, Oct 25, 2019 at 2:55 PM Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> wrote: > > This enables the Broadcom uart bluetooth driver on uart0 and gives it > ownership of its gpios. In order to use this, you must enable the > following kconfig options: > - CONFIG_BT_HCIUART_BCM > - CONFIG_SERIAL_DEV > > Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> > --- > > arch/arm/boot/dts/rk3288-veyron.dtsi | 31 +++++++--------------------- > 1 file changed, 7 insertions(+), 24 deletions(-) > > diff --git a/arch/arm/boot/dts/rk3288-veyron.dtsi b/arch/arm/boot/dts/rk3288-veyron.dtsi > index 7525e3dd1fc1..8c9f91ba6f57 100644 > --- a/arch/arm/boot/dts/rk3288-veyron.dtsi > +++ b/arch/arm/boot/dts/rk3288-veyron.dtsi You are changing this for _all_ veryon, not just those veyron devices using Broadcom. I don't think you want to change the marvell-based boards. ...presumably you'll want to make you change only affect minnie, speedy, and mickey. > @@ -23,30 +23,6 @@ > reg = <0x0 0x0 0x0 0x80000000>; > }; > > - bt_activity: bt-activity { > - compatible = "gpio-keys"; > - pinctrl-names = "default"; > - pinctrl-0 = <&bt_host_wake>; > - > - /* > - * HACK: until we have an LPM driver, we'll use an > - * ugly GPIO key to allow Bluetooth to wake from S3. > - * This is expected to only be used by BT modules that > - * use UART for comms. For BT modules that talk over > - * SDIO we should use a wakeup mechanism related to SDIO. > - * > - * Use KEY_RESERVED here since that will work as a wakeup but > - * doesn't get reported to higher levels (so doesn't confuse > - * Chrome). > - */ > - bt-wake { > - label = "BT Wakeup"; > - gpios = <&gpio4 RK_PD7 GPIO_ACTIVE_HIGH>; > - linux,code = <KEY_RESERVED>; > - wakeup-source; > - }; > - > - }; > > power_button: power-button { > compatible = "gpio-keys"; > @@ -434,6 +410,13 @@ > /* Pins don't include flow control by default; add that in */ > pinctrl-names = "default"; > pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; > + > + bluetooth { > + compatible = "brcm,bcm43540-bt"; You probably need some pinctrl entries here to make sure that things are properly configured, like: pinctrl-names = "default"; pinctrl-0 = <&bt_host_wake>, <&bt_dev_wake>, <&bt_enable>; This would require defining bt_dev_wake and bt_enable and removing the hacky output-only versions they have now. > + host-wakeup-gpios = <&gpio4 RK_PD7 GPIO_ACTIVE_HIGH>; > + shutdown-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_LOW>; Right now gpio4 RK_PD5 is controlled by the "sdio_pwrseq". Should you remove it from there? Looks like it was a no-op for marvell which makes it a little easier. > + device-wakeup-gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; You probably need to stop driving this in the pinctrl hogs for Broadcom boards... -Doug