Hi Ping-Ke, On Wed, May 17, 2023 at 4:06 AM Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > > Hi Martin, > > > -----Original Message----- > > From: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > > Sent: Wednesday, May 17, 2023 12:40 AM > > To: Ping-Ke Shih <pkshih@xxxxxxxxxxx>; linux-wireless@xxxxxxxxxxxxxxx > > Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>; tony0620emma@xxxxxxxxx; jernej.skrabec@xxxxxxxxx > > Subject: wifi: rtw88: questions about adding support for RTL8723DS/RTL8723BS > > > > Hello Ping-Ke, > > > > as a next step I want to add support for RTW_WCPU_11N SDIO cards to > > the rtw88 driver. > > Currently only one RTW_WCPU_11N chip is supported: RTL8723D by the > > rtw88 (PCIe and USB HCIs). > > Originally, we intended to add 8723D to rtlwifi, because it is a 802.11n chip > and very similar to 8723BE. However, its PCIe HCI is changed to use circular > ring instead of own bit, like other chips implemented in rtw88. As far as I can tell such differences are not present in the SDIO HCI > > > > My first question is very hopefully a simple one: > > It seems that RTL8723DS has two SDIO IDs: 0xd723 and 0xd724. > > Do these have the same name or is there some kind of "revision" (like > > rev 2, revision B, ...) internally? > > 0xd723 is dual antenna, and 0xd724 is single antenna. Since 8723D is a > 1x1 WiFi BT combo chip, 0xd723 can have a dedicated antenna for BT. > The main difference will be BT-coex code. Awesome, thanks for the explanation. I sent patches to add RTL8723DS support to the rtw88 driver. > > > > My second question is more abstract: > > Based on my understanding of the vendor drivers for RTL8723BS and > > RTL8723DS both seem very close in terms of registers. initialization > > sequence, ... > > So I am hoping that it's possible to add RTL8723BS support to the rtw88 driver. > > There's two main differences that I found so far: > > - rtw_dump_hw_feature() doesn't work because REG_C2HEVT has an > > incorrect value (C2H_HW_FEATURE_REPORT is expected but it still > > contains C2H_HW_FEATURE_DUMP). It seems that this is a firmware issue. > > Not an issue. At that moment of developing 8723B, applications are simple, so > we don't read feature from firmware, so just ignore this for 8723B. Jernej also suggested this as a first step. So I guess it's the way to go. [...] > > Have you considered adding RTW8723B support to the rtw88 driver? > > Do you have some initial suggestions on what would be needed to do so > > (is my list from above complete, what do do about these points, ...)? > > As my comment above, 8723BE use different PCIe design, and rtlwifi > has been supported it, so I don't have plan to support 8723BE in rtw88. > But, to add 8723BS to rtw88 seems workable. > > To add 8723B, you can make a copy from 8723D and change settings along > with vendor driver. The main things you need to review are: > 1. PCI probe when plugging wifi card > 2. hardware initialization when interface up > 3. RF calibration when starting connection (you may put this work later) > 4. connection setting after connected > 5. BT-coex you have mentioned > > > To make rtlwifi support SDIO is another way. It seems like add a HCI is > easier than an new chip, and we can have a simple support list of rtlwifi > and rtw88 eventually, like > > rtlwifi rtw88 > 8723BE o > 8723BS o? > 8723DE o > 8723DS o Per chip support matrix is: 8723BE: rtlwifi 8723BU: rtl8xxxu 8723BS: staging driver which I'd like to replace 8723DE/U/S: rtw88 HCI support matrix: rtlwifi: PCIe, USB rtl8xxxu: USB rtw88: PCIe, USB and SDIO So it seems you are right: I should consider whether adding RTL8723BS support to rtw88 is the right choice. Thank you! Martin