Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp2671316rdb; Tue, 26 Dec 2023 00:39:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IFSWDEGivjvn/66RZoTZG210Ak3Nu0LUCkBzNyvBuu7Idoz6Eu166xNNqGMxG451Ty5kD67 X-Received: by 2002:a05:6e02:152a:b0:360:f2c:cdf9 with SMTP id i10-20020a056e02152a00b003600f2ccdf9mr573085ilu.20.1703579974450; Tue, 26 Dec 2023 00:39:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1703579974; cv=none; d=google.com; s=arc-20160816; b=DS79azyOUNN5OBShZ7BuBnlW4d/3qLsBZ/fl3+rbx5LATjBxHzJY13xVPwHP1W+iLT E5S0Ucs43cmNh8IkYlxI45xin/HPb6jKW7mTtSyfA9MkSabK/DgNjwBrbc4u8SzUmOTU FN7tg3JRqFrw/54uYih0GHrTRjhnAjIpiRfWi849yGr2OUXuVWkONXpqntshYO4QeQ68 qxe3rjSUNTN7lnn7tSXNSD2Pf/2Fbbe17T6fGDubAlJQh5nTtOgy4w2Co6oMx1JeCKUy XQEZkvV6FnmkDG3hNYeOVpzefTG28VlMEoXDR2YF7CM0OwqzKOTbmbAFR2ZxMpmrgjLo 5CvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=6dn0kCVaQYp/681CAzdSX4AhJmkVzjzS9tP/zLyLX8k=; fh=cGAcI/PbOoPE3OX2vijOatgZq54Pa1XycM28UJco/mg=; b=oFKU82uvuQLUIw4R2MU0OsOzP8V1bMrBpbUT4ALYyGk8BJ2T93l19HYONHC26sFizX EiQH1SJtZg5wW00JmsvgADyYR0MKa10I+gk5ZJNa35O+aUm0oZtSVVevx/luFb6Feutl znBDLrrNecQdhx11qyhG4TDNajDEHiNoQl+7eQnSQHuEYQq0gcLisshZLgXU4h1h/ys/ suUKNRlvqX229I4JvldHk9lZNDVWgZO4BjHfZ14wLUyJXiafg6HXVFzrjBxZ2IB9ME08 vs1315Ciy9yhpC1JEfPZ/uPrkYN9DDnqEsiawEReQke28ZxuaVPzUegC7kEwZve0xBgH ngBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth+bounces-753-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-753-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id x71-20020a63864a000000b005cdf9c8e926si6456819pgd.325.2023.12.26.00.39.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Dec 2023 00:39:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth+bounces-753-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth+bounces-753-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-753-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1824D282EB0 for ; Tue, 26 Dec 2023 08:39:34 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C36154CB58; Tue, 26 Dec 2023 08:39:26 +0000 (UTC) X-Original-To: linux-bluetooth@vger.kernel.org Received: from mx3.molgen.mpg.de (mx3.molgen.mpg.de [141.14.17.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4388925778; Tue, 26 Dec 2023 08:39:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=molgen.mpg.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=molgen.mpg.de Received: from [192.168.0.6] (ip5f5af7f4.dynamic.kabel-deutschland.de [95.90.247.244]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: pmenzel) by mx.molgen.mpg.de (Postfix) with ESMTPSA id F2B0461E5FE01; Tue, 26 Dec 2023 09:38:53 +0100 (CET) Message-ID: Date: Tue, 26 Dec 2023 09:38:53 +0100 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Bluetooth: btrtl: Add the support for RTL8852BT/RTL8852BE-VT To: Max Chou Cc: marcel@holtmann.org, johan.hedberg@gmail.com, luiz.dentz@gmail.com, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, alex_lu@realsil.com.cn, hildawu@realtek.com, karenhsu@realtek.com References: <20231226015713.13673-1-max.chou@realtek.com> Content-Language: en-US From: Paul Menzel In-Reply-To: <20231226015713.13673-1-max.chou@realtek.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Dear Max, Thank you for your patch. Am 26.12.23 um 02:57 schrieb max.chou@realtek.com: > From: Max Chou > > Add the support for RTL8852BT/RTL8852BE-VT BT controller on USB interface. It’d be great if you stated, how it differs from the existing devices. Judging from your diff, only the ids need to be added. > The necessary firmware will be submitted to linux-firmware project. > > The device info from /sys/kernel/debug/usb/devices as below. > > T: Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 8 Spd=12 MxCh= 0 > D: Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=0bda ProdID=8520 Rev= 0.00 > S: Manufacturer=Realtek > S: Product=Bluetooth Radio > S: SerialNumber=00e04c000001 > C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA > I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms > E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms > E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms > I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms > I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms > I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms > I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms > I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms > I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms > E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms > > Signed-off-by: Max Chou > --- > drivers/bluetooth/btrtl.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c > index 277d039ecbb4..cc50de69e8dc 100644 > --- a/drivers/bluetooth/btrtl.c > +++ b/drivers/bluetooth/btrtl.c > @@ -69,6 +69,7 @@ enum btrtl_chip_id { > CHIP_ID_8852B = 20, > CHIP_ID_8852C = 25, > CHIP_ID_8851B = 36, > + CHIP_ID_8852BT = 47, > }; > > struct id_table { > @@ -307,6 +308,15 @@ static const struct id_table ic_id_table[] = { > .fw_name = "rtl_bt/rtl8851bu_fw", > .cfg_name = "rtl_bt/rtl8851bu_config", > .hw_info = "rtl8851bu" }, > + > + /* 8852BT/8852BE-VT */ > + { IC_INFO(RTL_ROM_LMP_8852A, 0x87, 0xc, HCI_USB), > + .config_needed = false, > + .has_rom_version = true, > + .has_msft_ext = true, > + .fw_name = "rtl_bt/rtl8852btu_fw", > + .cfg_name = "rtl_bt/rtl8852btu_config", > + .hw_info = "rtl8852btu" }, > }; > > static const struct id_table *btrtl_match_ic(u16 lmp_subver, u16 hci_rev, > @@ -645,6 +655,7 @@ static int rtlbt_parse_firmware(struct hci_dev *hdev, > { RTL_ROM_LMP_8852A, 20 }, /* 8852B */ > { RTL_ROM_LMP_8852A, 25 }, /* 8852C */ > { RTL_ROM_LMP_8851B, 36 }, /* 8851B */ > + { RTL_ROM_LMP_8852A, 47 }, /* 8852BT */ > }; > > if (btrtl_dev->fw_len <= 8) > @@ -1275,6 +1286,7 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev) > case CHIP_ID_8852B: > case CHIP_ID_8852C: > case CHIP_ID_8851B: > + case CHIP_ID_8852BT: > set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); > set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); > > @@ -1505,6 +1517,8 @@ MODULE_FIRMWARE("rtl_bt/rtl8852bs_fw.bin"); > MODULE_FIRMWARE("rtl_bt/rtl8852bs_config.bin"); > MODULE_FIRMWARE("rtl_bt/rtl8852bu_fw.bin"); > MODULE_FIRMWARE("rtl_bt/rtl8852bu_config.bin"); > +MODULE_FIRMWARE("rtl_bt/rtl8852btu_fw.bin"); > +MODULE_FIRMWARE("rtl_bt/rtl8852btu_config.bin"); Should btu be ordered before bu? > MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw.bin"); > MODULE_FIRMWARE("rtl_bt/rtl8852cu_fw_v2.bin"); > MODULE_FIRMWARE("rtl_bt/rtl8852cu_config.bin"); Kind regards, Paul