From patchwork Wed Jan 18 12:28:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 13106371 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B2EFFC46467 for ; Wed, 18 Jan 2023 13:07:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231204AbjARNHV (ORCPT ); Wed, 18 Jan 2023 08:07:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231200AbjARNG6 (ORCPT ); Wed, 18 Jan 2023 08:06:58 -0500 Received: from smtp-out-01.comm2000.it (smtp-out-01.comm2000.it [212.97.32.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D0487A2963; Wed, 18 Jan 2023 04:29:00 -0800 (PST) Received: from francesco-nb.toradex.int (31-10-206-125.static.upc.ch [31.10.206.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: francesco@dolcini.it) by smtp-out-01.comm2000.it (Postfix) with ESMTPSA id B6F05842D2D; Wed, 18 Jan 2023 13:28:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailserver.it; s=mailsrv; t=1674044927; bh=ydMytKybg4Bf1BHsNiOQ5zccoMmX2G8pKIP49hBn8DY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=dvN2yIaASALK3+hYpiG6M6OwYHlXwprVEFYQKv3T4XHoL7FpdWF6q57VRpqCsqNjY ymnaeWg1QAtWtw3+jT/BMcClEhcMPj+atc0HScAg01x5bBvCRdJSP54hIL7VrsL9oa /g4aqTGfcK7ng6sDddf9e6Ooe/yssia9o3JJjCXyZmd0PqED3pnyWH62X+nsVLsfAz loVEdZbu1rDhZg9bDq1ZkZcireiavw06cZ9FD2Oz+IeSMB1dRPmiTidbn0uAjHaec7 Deg3ce8F1P4aE8SS7hedIAbwYnVgbycvHZ7zfik607nhJs1RdDU95/cd1qHWEFTEn8 qSbq2Q/fAlpug== From: Francesco Dolcini To: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz Cc: Stefan Eichenberger , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Johan Hedberg , Sascha Hauer , Francesco Dolcini Subject: [PATCH v1 1/4] dt-bindings: bluetooth: marvell: add 88W8997 DT binding Date: Wed, 18 Jan 2023 13:28:14 +0100 Message-Id: <20230118122817.42466-2-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230118122817.42466-1-francesco@dolcini.it> References: <20230118122817.42466-1-francesco@dolcini.it> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Stefan Eichenberger Update the documentation with the device tree binding for the Marvell 88W8997 bluetooth device. Signed-off-by: Stefan Eichenberger Signed-off-by: Francesco Dolcini Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/net/marvell-bluetooth.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml b/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml index 309ef21a1e37..83b64ed730f5 100644 --- a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml @@ -15,7 +15,9 @@ maintainers: properties: compatible: - const: mrvl,88w8897 + enum: + - mrvl,88w8897 + - mrvl,88w8997 required: - compatible From patchwork Wed Jan 18 12:28:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 13106373 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 227EEC38147 for ; Wed, 18 Jan 2023 13:07:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231320AbjARNHe (ORCPT ); Wed, 18 Jan 2023 08:07:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39608 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230035AbjARNHB (ORCPT ); Wed, 18 Jan 2023 08:07:01 -0500 Received: from smtp-out-01.comm2000.it (smtp-out-01.comm2000.it [212.97.32.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4106559D3; Wed, 18 Jan 2023 04:29:08 -0800 (PST) Received: from francesco-nb.toradex.int (31-10-206-125.static.upc.ch [31.10.206.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: francesco@dolcini.it) by smtp-out-01.comm2000.it (Postfix) with ESMTPSA id 6EDB8843650; Wed, 18 Jan 2023 13:28:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailserver.it; s=mailsrv; t=1674044946; bh=bjC01oSWRrukRi0FK/TP4lp7hs5che5aWaE7C4SjpZQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=gtaXP8+mXEp6XCT+KrIjjks/aYQnMYzgSITxTjoJuyrOpWAKbuwIHCkqe/2apjSn6 jdHsZnJYBLgrFmoqBNBpkhwBu0WEXUlXKfeD1e1mH1Uzm/Bm6G5/H/brVdj8PKNOGf WK4EBlvkNmhmjcLIyPZb1iMSq8pZJnt+lWLNqfGGKh3VZPVycGsrTLesyMaoOBPwqQ h9bmnSCsVfNBsbl5p4juZnQrTnTv2sdj04QHlFNA1Esz+MXhDsDx29VcT0I+XB5+wm s2574muvScFk92dSatCN/jdnbLmUsyX91M39FEmZbY88V9n9s1G3D9c8h2XRDkJ+wQ +vsxAl1hoUY+A== From: Francesco Dolcini To: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz Cc: Stefan Eichenberger , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Johan Hedberg , Sascha Hauer , Francesco Dolcini Subject: [PATCH v1 2/4] dt-bindings: bluetooth: marvell: add max-speed property Date: Wed, 18 Jan 2023 13:28:15 +0100 Message-Id: <20230118122817.42466-3-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230118122817.42466-1-francesco@dolcini.it> References: <20230118122817.42466-1-francesco@dolcini.it> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Stefan Eichenberger The 88W8997 bluetooth module supports setting the max-speed property. Signed-off-by: Stefan Eichenberger Signed-off-by: Francesco Dolcini --- .../bindings/net/marvell-bluetooth.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml b/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml index 83b64ed730f5..2fccea30c58d 100644 --- a/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/marvell-bluetooth.yaml @@ -19,9 +19,25 @@ properties: - mrvl,88w8897 - mrvl,88w8997 + max-speed: + description: see Documentation/devicetree/bindings/serial/serial.yaml + required: - compatible +allOf: + - if: + properties: + compatible: + contains: + const: mrvl,88w8997 + then: + properties: + max-speed: true + else: + properties: + max-speed: false + additionalProperties: false examples: From patchwork Wed Jan 18 12:28:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 13106374 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1DAD3C32793 for ; Wed, 18 Jan 2023 13:07:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230054AbjARNHw (ORCPT ); Wed, 18 Jan 2023 08:07:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229960AbjARNHC (ORCPT ); Wed, 18 Jan 2023 08:07:02 -0500 Received: from smtp-out-01.comm2000.it (smtp-out-01.comm2000.it [212.97.32.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0636059D0; Wed, 18 Jan 2023 04:29:11 -0800 (PST) Received: from francesco-nb.toradex.int (31-10-206-125.static.upc.ch [31.10.206.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: francesco@dolcini.it) by smtp-out-01.comm2000.it (Postfix) with ESMTPSA id B243E843668; Wed, 18 Jan 2023 13:29:06 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailserver.it; s=mailsrv; t=1674044947; bh=lFI62O4/YaxDuSl/4LVxPamR7TzR5iTlbicCyccwPQI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=i3W5HMpzPkeeqxWO1gphqRUZfSeVFpqOyDQrewGCSKstW+9TUgu+zfA3uZ6gOpMaM NezHepUbzeCTgMcMzYIW3bAuDR3vRz8Skgok3ocVe+48ZZ4csePyTA+c1A2Me0Wq1F qUGwYmHEnjHfL6ZXm9tCiAVZQgliz/0Jm2C1veCKSS7g4ze2hNJSShc1BwnUiMhaMg 74iQrJ1uYiuHqmcf+JA15dlo4z4jlH6WOPhlvcLbTzBTr2sMMzMLNUsl3Vx0djUWQU nBCIExqXSQCC7QPVk0UeLWE+ieRxiOECovxTQe/ZD62OQFoUCSAAMBhCJBI02xjL74 R2bixg8FCHafQ== From: Francesco Dolcini To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz Cc: Stefan Eichenberger , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Johan Hedberg , Sascha Hauer , Francesco Dolcini Subject: [PATCH v1 3/4] Bluetooth: hci_mrvl: Add serdev support for 88W8997 Date: Wed, 18 Jan 2023 13:28:16 +0100 Message-Id: <20230118122817.42466-4-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230118122817.42466-1-francesco@dolcini.it> References: <20230118122817.42466-1-francesco@dolcini.it> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Stefan Eichenberger Add serdev support for the 88W8997 from NXP (previously Marvell). It includes support for changing the baud rate. The command to change the baud rate is taken from the user manual UM11483 Rev. 9 in section 7 (Bring-up of Bluetooth interfaces) from NXP. Signed-off-by: Stefan Eichenberger Signed-off-by: Francesco Dolcini --- drivers/bluetooth/hci_mrvl.c | 88 +++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 7 deletions(-) diff --git a/drivers/bluetooth/hci_mrvl.c b/drivers/bluetooth/hci_mrvl.c index fbc3f7c3a5c7..86f548998a18 100644 --- a/drivers/bluetooth/hci_mrvl.c +++ b/drivers/bluetooth/hci_mrvl.c @@ -27,10 +27,12 @@ #define MRVL_ACK 0x5A #define MRVL_NAK 0xBF #define MRVL_RAW_DATA 0x1F +#define MRVL_SET_BAUDRATE 0xFC09 enum { STATE_CHIP_VER_PENDING, STATE_FW_REQ_PENDING, + STATE_FW_LOADED, }; struct mrvl_data { @@ -254,6 +256,14 @@ static int mrvl_recv(struct hci_uart *hu, const void *data, int count) if (!test_bit(HCI_UART_REGISTERED, &hu->flags)) return -EUNATCH; + /* We might receive some noise when there is no firmware loaded. Therefore, + * we drop data if the firmware is not loaded yet and if there is no fw load + * request pending. + */ + if (!test_bit(STATE_FW_REQ_PENDING, &mrvl->flags) && + !test_bit(STATE_FW_LOADED, &mrvl->flags)) + return count; + mrvl->rx_skb = h4_recv_buf(hu->hdev, mrvl->rx_skb, data, count, mrvl_recv_pkts, ARRAY_SIZE(mrvl_recv_pkts)); @@ -354,6 +364,7 @@ static int mrvl_load_firmware(struct hci_dev *hdev, const char *name) static int mrvl_setup(struct hci_uart *hu) { int err; + struct mrvl_data *mrvl = hu->priv; hci_uart_set_flow_control(hu, true); @@ -367,9 +378,9 @@ static int mrvl_setup(struct hci_uart *hu) hci_uart_wait_until_sent(hu); if (hu->serdev) - serdev_device_set_baudrate(hu->serdev, 3000000); + serdev_device_set_baudrate(hu->serdev, hu->oper_speed); else - hci_uart_set_baudrate(hu, 3000000); + hci_uart_set_baudrate(hu, hu->oper_speed); hci_uart_set_flow_control(hu, false); @@ -377,13 +388,56 @@ static int mrvl_setup(struct hci_uart *hu) if (err) return err; + set_bit(STATE_FW_LOADED, &mrvl->flags); + + return 0; +} + +static int mrvl_set_baudrate(struct hci_uart *hu, unsigned int speed) +{ + int err; + struct sk_buff *skb; + struct mrvl_data *mrvl = hu->priv; + __le32 speed_le = cpu_to_le32(speed); + + /* The firmware might be loaded by the Wifi driver over SDIO. We wait + * up to 10s for the CTS to go up. Afterward, we know that the firmware + * is ready. + */ + err = serdev_device_wait_for_cts(hu->serdev, true, 10000); + if (err) { + bt_dev_err(hu->hdev, "Wait for CTS failed with %d\n", err); + return err; + } + + set_bit(STATE_FW_LOADED, &mrvl->flags); + + skb = __hci_cmd_sync(hu->hdev, MRVL_SET_BAUDRATE, + sizeof(speed_le), &speed_le, + HCI_INIT_TIMEOUT); + if (IS_ERR(skb)) { + bt_dev_err(hu->hdev, "send command failed: %ld", PTR_ERR(skb)); + return PTR_ERR(skb); + } + kfree_skb(skb); + + serdev_device_set_baudrate(hu->serdev, speed); + + /* We forcefully have to send a command to the bluetooth module so that + * the driver detects it after a baudrate change. This is foreseen by + * hci_serdev by setting HCI_UART_VND_DETECT which then causes a dummy + * local version read. + */ + set_bit(HCI_UART_VND_DETECT, &hu->hdev_flags); + return 0; } -static const struct hci_uart_proto mrvl_proto = { +static const struct hci_uart_proto mrvl_proto_8897 = { .id = HCI_UART_MRVL, .name = "Marvell", .init_speed = 115200, + .oper_speed = 3000000, .open = mrvl_open, .close = mrvl_close, .flush = mrvl_flush, @@ -393,18 +447,37 @@ static const struct hci_uart_proto mrvl_proto = { .dequeue = mrvl_dequeue, }; +static const struct hci_uart_proto mrvl_proto_8997 = { + .id = HCI_UART_MRVL, + .name = "Marvell 8997", + .init_speed = 115200, + .oper_speed = 3000000, + .open = mrvl_open, + .close = mrvl_close, + .flush = mrvl_flush, + .set_baudrate = mrvl_set_baudrate, + .recv = mrvl_recv, + .enqueue = mrvl_enqueue, + .dequeue = mrvl_dequeue, +}; + static int mrvl_serdev_probe(struct serdev_device *serdev) { struct mrvl_serdev *mrvldev; + const struct hci_uart_proto *mrvl_proto = device_get_match_data(&serdev->dev); mrvldev = devm_kzalloc(&serdev->dev, sizeof(*mrvldev), GFP_KERNEL); if (!mrvldev) return -ENOMEM; + mrvldev->hu.oper_speed = mrvl_proto->oper_speed; + if (mrvl_proto->set_baudrate) + of_property_read_u32(serdev->dev.of_node, "max-speed", &mrvldev->hu.oper_speed); + mrvldev->hu.serdev = serdev; serdev_device_set_drvdata(serdev, mrvldev); - return hci_uart_register_device(&mrvldev->hu, &mrvl_proto); + return hci_uart_register_device(&mrvldev->hu, mrvl_proto); } static void mrvl_serdev_remove(struct serdev_device *serdev) @@ -416,7 +489,8 @@ static void mrvl_serdev_remove(struct serdev_device *serdev) #ifdef CONFIG_OF static const struct of_device_id mrvl_bluetooth_of_match[] = { - { .compatible = "mrvl,88w8897" }, + { .compatible = "mrvl,88w8897", .data = &mrvl_proto_8897}, + { .compatible = "mrvl,88w8997", .data = &mrvl_proto_8997}, { }, }; MODULE_DEVICE_TABLE(of, mrvl_bluetooth_of_match); @@ -435,12 +509,12 @@ int __init mrvl_init(void) { serdev_device_driver_register(&mrvl_serdev_driver); - return hci_uart_register_proto(&mrvl_proto); + return hci_uart_register_proto(&mrvl_proto_8897); } int __exit mrvl_deinit(void) { serdev_device_driver_unregister(&mrvl_serdev_driver); - return hci_uart_unregister_proto(&mrvl_proto); + return hci_uart_unregister_proto(&mrvl_proto_8897); } From patchwork Wed Jan 18 12:28:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Francesco Dolcini X-Patchwork-Id: 13106375 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33677C32793 for ; Wed, 18 Jan 2023 13:07:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231347AbjARNHz (ORCPT ); Wed, 18 Jan 2023 08:07:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231241AbjARNHG (ORCPT ); Wed, 18 Jan 2023 08:07:06 -0500 Received: from smtp-out-01.comm2000.it (smtp-out-01.comm2000.it [212.97.32.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1D4EA3173; Wed, 18 Jan 2023 04:29:16 -0800 (PST) Received: from francesco-nb.toradex.int (31-10-206-125.static.upc.ch [31.10.206.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: francesco@dolcini.it) by smtp-out-01.comm2000.it (Postfix) with ESMTPSA id 6194C843669; Wed, 18 Jan 2023 13:29:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=mailserver.it; s=mailsrv; t=1674044948; bh=0bOuDHRgv4yI1qxuwgollvpptxyoZ4aEkCRt52XmrRk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=nKFJ7CKstccVEJ/iPEqM3Y0bYu7k1rqaAq/vT4By6H0ZP7vT+uAh5quLoWbDIzuCe EOzB64Soex1PV6TvwqtHxI7Z97tMXsTIE+hSwMbdL3hCGin6sK11B8pBF92HhfPVzV 0AGX26R2UxlWH+GqlLNSdhMuU22+73bHR05w/sGHWPpmZ7QWCx+dmy9hvdju5bGl7S gr76SElPl0O6nFzCU39+BZy0LOaXpZMYjl/doRxCXkmPga/hALn7+Z43awTKDMcSZx yrKIEUpdvexqmqu0jyfE8QZmoNFpJ1XnUk+EMS7vOJ8WpYme5gjP7d/D20lx0Heq05 /ULIBRxG4dUvA== From: Francesco Dolcini To: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, Marcel Holtmann , Luiz Augusto von Dentz , linux-arm-kernel@lists.infradead.org, Shawn Guo Cc: Stefan Eichenberger , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Johan Hedberg , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Francesco Dolcini Subject: [PATCH v1 4/4] arm64: dts: imx8mp-verdin: add 88W8997 serdev to uart4 Date: Wed, 18 Jan 2023 13:28:17 +0100 Message-Id: <20230118122817.42466-5-francesco@dolcini.it> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230118122817.42466-1-francesco@dolcini.it> References: <20230118122817.42466-1-francesco@dolcini.it> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org From: Stefan Eichenberger Use the serdev feature to load the driver for the 88W8997 bluetooth driver. Signed-off-by: Stefan Eichenberger Signed-off-by: Francesco Dolcini --- arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi index 36289c175e6e..ef94f9a57e20 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi.dtsi @@ -65,6 +65,11 @@ &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_bt_uart>; status = "okay"; + + bluetooth { + compatible = "mrvl,88w8997"; + max-speed = <921600>; + }; }; /* On-module Wi-Fi */