pinctrl-0 = <&bl_en>;
                pwm-delay-us = <10000>;
        };
+
+       gpio_keys: gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&bt_host_wake_l>;
+
+               wake_on_bt: wake-on-bt {
+                       label = "Wake-on-Bluetooth";
+                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_WAKEUP>;
+                       wakeup-source;
+               };
+       };
 };
 
 &ppvar_bigcpu {
 
                pinctrl-0 = <&dmic_en>;
                wakeup-delay-ms = <250>;
        };
+
+       gpio_keys: gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pen_eject_odl>;
+
+               pen-insert {
+                       label = "Pen Insert";
+                       /* Insert = low, eject = high */
+                       gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
+                       linux,code = <SW_PEN_INSERTED>;
+                       linux,input-type = <EV_SW>;
+                       wakeup-source;
+               };
+       };
 };
 
 /* pp900_s0 aliases */
                <400000000>;
 };
 
-&gpio_keys {
-       pinctrl-names = "default";
-       pinctrl-0 = <&bt_host_wake_l>, <&pen_eject_odl>;
-
-       pen-insert {
-               label = "Pen Insert";
-               /* Insert = low, eject = high */
-               gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
-               linux,code = <SW_PEN_INSERTED>;
-               linux,input-type = <EV_SW>;
-               wakeup-source;
-       };
-};
-
 &i2c_tunnel {
        google,remote-bus = <0>;
 };
        status = "okay";
 };
 
-&wake_on_bt {
-       gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+&usb_host0_ohci {
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       qca_bt: bluetooth@1 {
+               compatible = "usbcf3,e300", "usb4ca,301a";
+               reg = <1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&bt_host_wake_l>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "wakeup";
+       };
 };
 
 /* PINCTRL OVERRIDES */
 };
 
 &bt_host_wake_l {
-       rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_up>;
+       rockchip,pins = <1 2 RK_FUNC_GPIO &pcfg_pull_none>;
 };
 
 &ec_ap_int_l {
 
                #clock-cells = <0>;
        };
 
-       gpio_keys: gpio-keys {
-               compatible = "gpio-keys";
-               pinctrl-names = "default";
-               pinctrl-0 = <&bt_host_wake_l>;
-
-               wake_on_bt: wake-on-bt {
-                       label = "Wake-on-Bluetooth";
-                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_WAKEUP>;
-                       wakeup-source;
-               };
-       };
-
        max98357a: max98357a {
                compatible = "maxim,max98357a";
                pinctrl-names = "default";