瀏覽代碼

Bluetooth: hci_uart: Add diag and address support for Intel/AG6xx

The AG6xx devices behave similar to Wilkens Peak and Stone Peak and with
that it is needed to check for Intel default address. In addition it is
possible to enable vendor events and diag support.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Marcel Holtmann 9 年之前
父節點
當前提交
34bf1912bf
共有 1 個文件被更改,包括 12 次插入1 次删除
  1. 12 1
      drivers/bluetooth/hci_ag6xx.c

+ 12 - 1
drivers/bluetooth/hci_ag6xx.c

@@ -174,6 +174,9 @@ static int ag6xx_setup(struct hci_uart *hu)
 	bool patched = false;
 	int err;
 
+	hu->hdev->set_diag = btintel_set_diag;
+	hu->hdev->set_bdaddr = btintel_set_bdaddr;
+
 	err = btintel_enter_mfg(hdev);
 	if (err)
 		return err;
@@ -298,8 +301,16 @@ patch:
 complete:
 	/* Exit manufacturing mode and reset */
 	err = btintel_exit_mfg(hdev, true, patched);
+	if (err)
+		return err;
 
-	return err;
+	/* Set the event mask for Intel specific vendor events. This enables
+	 * a few extra events that are useful during general operation.
+	 */
+	btintel_set_event_mask_mfg(hdev, false);
+
+	btintel_check_bdaddr(hdev);
+	return 0;
 }
 
 static const struct hci_uart_proto ag6xx_proto = {