* [PATCH RFC 0/2] Bluetooth: Add support for RTL8821CS @ 2023-01-26 16:55 Chris Morgan 2023-01-26 16:55 ` [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS Chris Morgan 2023-01-26 16:55 ` [PATCH RFC 2/2] Bluetooth: hci_h5: btrtl: Add support for RTL8821CS Chris Morgan 0 siblings, 2 replies; 8+ messages in thread From: Chris Morgan @ 2023-01-26 16:55 UTC (permalink / raw) To: linux-bluetooth Cc: devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> This patch series is to add support for the RTL8821CS Bluetooth controller found on the RTL8821CS WiFi/Bluetooth combo chip. This has been tested with firmware version 0xaa9a4e68. I am submitting as an RFC to hopefully get guidance from Realtek on submission of this firmware (or a later version) to the linux-firmware repository. Chris Morgan (2): dt-bindings: net: realtek-bluetooth: Add RTL8821CS Bluetooth: hci_h5: btrtl: Add support for RTL8821CS .../devicetree/bindings/net/realtek-bluetooth.yaml | 1 + drivers/bluetooth/btrtl.c | 8 ++++++++ drivers/bluetooth/hci_h5.c | 2 ++ 3 files changed, 11 insertions(+) -- 2.34.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-26 16:55 [PATCH RFC 0/2] Bluetooth: Add support for RTL8821CS Chris Morgan @ 2023-01-26 16:55 ` Chris Morgan 2023-01-27 10:24 ` Krzysztof Kozlowski 2023-01-26 16:55 ` [PATCH RFC 2/2] Bluetooth: hci_h5: btrtl: Add support for RTL8821CS Chris Morgan 1 sibling, 1 reply; 8+ messages in thread From: Chris Morgan @ 2023-01-26 16:55 UTC (permalink / raw) To: linux-bluetooth Cc: devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> Add compatible string for RTL8821CS for existing Realtek Bluetooth driver. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml index 143b5667abad..5af4731338c0 100644 --- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml @@ -21,6 +21,7 @@ properties: - realtek,rtl8723bs-bt - realtek,rtl8723cs-bt - realtek,rtl8723ds-bt + - realtek,rtl8821cs-bt - realtek,rtl8822cs-bt device-wake-gpios: -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-26 16:55 ` [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS Chris Morgan @ 2023-01-27 10:24 ` Krzysztof Kozlowski 2023-01-27 16:46 ` Chris Morgan 0 siblings, 1 reply; 8+ messages in thread From: Krzysztof Kozlowski @ 2023-01-27 10:24 UTC (permalink / raw) To: Chris Morgan, linux-bluetooth Cc: devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan On 26/01/2023 17:55, Chris Morgan wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add compatible string for RTL8821CS for existing Realtek Bluetooth > driver. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > --- > Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + > 1 file changed, 1 insertion(+) > Based on your driver it is compatible with rtl8822cs, so you can indicate it in the binding and use just one of_device_id entry. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-27 10:24 ` Krzysztof Kozlowski @ 2023-01-27 16:46 ` Chris Morgan 2023-01-27 16:53 ` Krzysztof Kozlowski 0 siblings, 1 reply; 8+ messages in thread From: Chris Morgan @ 2023-01-27 16:46 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: linux-bluetooth, devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan On Fri, Jan 27, 2023 at 11:24:03AM +0100, Krzysztof Kozlowski wrote: > On 26/01/2023 17:55, Chris Morgan wrote: > > From: Chris Morgan <macromorgan@hotmail.com> > > > > Add compatible string for RTL8821CS for existing Realtek Bluetooth > > driver. > > > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > > --- > > Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + > > 1 file changed, 1 insertion(+) > > > > Based on your driver it is compatible with rtl8822cs, so you can > indicate it in the binding and use just one of_device_id entry. It's very similar, and uses some of the same constants, but has a different firmware. I assumed the firmware difference is enough to require it to be differentiated, but I wasn't sure. You are saying it does not? I just want to be clear. As always, thank you. > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-27 16:46 ` Chris Morgan @ 2023-01-27 16:53 ` Krzysztof Kozlowski 2023-01-27 17:00 ` Chris Morgan 0 siblings, 1 reply; 8+ messages in thread From: Krzysztof Kozlowski @ 2023-01-27 16:53 UTC (permalink / raw) To: Chris Morgan Cc: linux-bluetooth, devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan On 27/01/2023 17:46, Chris Morgan wrote: > On Fri, Jan 27, 2023 at 11:24:03AM +0100, Krzysztof Kozlowski wrote: >> On 26/01/2023 17:55, Chris Morgan wrote: >>> From: Chris Morgan <macromorgan@hotmail.com> >>> >>> Add compatible string for RTL8821CS for existing Realtek Bluetooth >>> driver. >>> >>> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> >>> --- >>> Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + >>> 1 file changed, 1 insertion(+) >>> >> >> Based on your driver it is compatible with rtl8822cs, so you can >> indicate it in the binding and use just one of_device_id entry. > > It's very similar, and uses some of the same constants, but has a > different firmware. I assumed the firmware difference is enough to > require it to be differentiated, but I wasn't sure. You are saying > it does not? I just want to be clear. If by "differentiated" you mean "incompatible", then depends: 1. You have firmware-name property to indicate the firmware to load and then you can use one compatible to bind and just load different firmware, 2. If device variant is autodectable, it's compatible. realtek,rtl8723ds-bt also was added to the driver uselessly... Best regards, Krzysztof ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-27 16:53 ` Krzysztof Kozlowski @ 2023-01-27 17:00 ` Chris Morgan 2023-01-27 17:02 ` Krzysztof Kozlowski 0 siblings, 1 reply; 8+ messages in thread From: Chris Morgan @ 2023-01-27 17:00 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: linux-bluetooth, devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan On Fri, Jan 27, 2023 at 05:53:49PM +0100, Krzysztof Kozlowski wrote: > On 27/01/2023 17:46, Chris Morgan wrote: > > On Fri, Jan 27, 2023 at 11:24:03AM +0100, Krzysztof Kozlowski wrote: > >> On 26/01/2023 17:55, Chris Morgan wrote: > >>> From: Chris Morgan <macromorgan@hotmail.com> > >>> > >>> Add compatible string for RTL8821CS for existing Realtek Bluetooth > >>> driver. > >>> > >>> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > >>> --- > >>> Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + > >>> 1 file changed, 1 insertion(+) > >>> > >> > >> Based on your driver it is compatible with rtl8822cs, so you can > >> indicate it in the binding and use just one of_device_id entry. > > > > It's very similar, and uses some of the same constants, but has a > > different firmware. I assumed the firmware difference is enough to > > require it to be differentiated, but I wasn't sure. You are saying > > it does not? I just want to be clear. > > If by "differentiated" you mean "incompatible", then depends: > 1. You have firmware-name property to indicate the firmware to load and > then you can use one compatible to bind and just load different firmware, > 2. If device variant is autodectable, it's compatible. > > realtek,rtl8723ds-bt also was added to the driver uselessly... Gotcha. They are incompatible, but the driver should be able to autodetect each device as best I can tell. In fact all of the devices listed in the bindings should be autodetectable by the driver (again, as best I can tell). Honestly though that's assuming I'm using the correct firmware, which is why I have this tagged as an RFC. I'm really hoping to get Realtek's attention for them to chime in to confirm I'm using the most recent firmware and under what license/terms the firmware can be redistributed so that the firmware may be added to linux-firmware. Assuming everything is good though, I can resubmit V2 and instead of adding a new compatible just noting that the 8822CS and 8821CS use the same bindings. Thank you. > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS 2023-01-27 17:00 ` Chris Morgan @ 2023-01-27 17:02 ` Krzysztof Kozlowski 0 siblings, 0 replies; 8+ messages in thread From: Krzysztof Kozlowski @ 2023-01-27 17:02 UTC (permalink / raw) To: Chris Morgan Cc: linux-bluetooth, devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan On 27/01/2023 18:00, Chris Morgan wrote: > On Fri, Jan 27, 2023 at 05:53:49PM +0100, Krzysztof Kozlowski wrote: >> On 27/01/2023 17:46, Chris Morgan wrote: >>> On Fri, Jan 27, 2023 at 11:24:03AM +0100, Krzysztof Kozlowski wrote: >>>> On 26/01/2023 17:55, Chris Morgan wrote: >>>>> From: Chris Morgan <macromorgan@hotmail.com> >>>>> >>>>> Add compatible string for RTL8821CS for existing Realtek Bluetooth >>>>> driver. >>>>> >>>>> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> >>>>> --- >>>>> Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>> >>>> Based on your driver it is compatible with rtl8822cs, so you can >>>> indicate it in the binding and use just one of_device_id entry. >>> >>> It's very similar, and uses some of the same constants, but has a >>> different firmware. I assumed the firmware difference is enough to >>> require it to be differentiated, but I wasn't sure. You are saying >>> it does not? I just want to be clear. >> >> If by "differentiated" you mean "incompatible", then depends: >> 1. You have firmware-name property to indicate the firmware to load and >> then you can use one compatible to bind and just load different firmware, >> 2. If device variant is autodectable, it's compatible. >> >> realtek,rtl8723ds-bt also was added to the driver uselessly... > > Gotcha. > > They are incompatible, but the driver should be able to autodetect each > device as best I can tell. In fact all of the devices listed in the > bindings should be autodetectable by the driver (again, as best I can > tell). Honestly though that's assuming I'm using the correct firmware, > which is why I have this tagged as an RFC. I'm really hoping to get > Realtek's attention for them to chime in to confirm I'm using the > most recent firmware and under what license/terms the firmware can > be redistributed so that the firmware may be added to linux-firmware. > > Assuming everything is good though, I can resubmit V2 and instead of > adding a new compatible just noting that the 8822CS and 8821CS use > the same bindings. They cannot use the same bindings. You always need specific compatible and this was not discussed here. What's discussed is to drop the driver change in of_device_id. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH RFC 2/2] Bluetooth: hci_h5: btrtl: Add support for RTL8821CS 2023-01-26 16:55 [PATCH RFC 0/2] Bluetooth: Add support for RTL8821CS Chris Morgan 2023-01-26 16:55 ` [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS Chris Morgan @ 2023-01-26 16:55 ` Chris Morgan 1 sibling, 0 replies; 8+ messages in thread From: Chris Morgan @ 2023-01-26 16:55 UTC (permalink / raw) To: linux-bluetooth Cc: devicetree, alistair, anarsoul, krzysztof.kozlowski+dt, robh+dt, marcel, johan.hedberg, luiz.dentz, max.chou, hildawu, Chris Morgan From: Chris Morgan <macromorgan@hotmail.com> RTL8821CS is a WiFi + Bluetooth combo chip from Realtek that provides WiFi A/B/G/N/AC over an SDIO interface and Bluetooth 4.2 over a UART interface. Note that the firmware this was tested with was firmware version 0xaa9a4e68 as reported by the driver. Attempts at using other firmware were unsucessful. Signed-off-by: Chris Morgan <macromorgan@hotmail.com> --- drivers/bluetooth/btrtl.c | 8 ++++++++ drivers/bluetooth/hci_h5.c | 2 ++ 2 files changed, 10 insertions(+) diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c index 69c3fe649ca7..c95e55d8d696 100644 --- a/drivers/bluetooth/btrtl.c +++ b/drivers/bluetooth/btrtl.c @@ -128,6 +128,14 @@ static const struct id_table ic_id_table[] = { .fw_name = "rtl_bt/rtl8821c_fw.bin", .cfg_name = "rtl_bt/rtl8821c_config" }, + /* 8821CS */ + { IC_INFO(RTL_ROM_LMP_8821A, 0xc, 0x8, HCI_UART), + .config_needed = true, + .has_rom_version = true, + .has_msft_ext = true, + .fw_name = "rtl_bt/rtl8821cs_fw.bin", + .cfg_name = "rtl_bt/rtl8821cs_config" }, + /* 8761A */ { IC_INFO(RTL_ROM_LMP_8761A, 0xa, 0x6, HCI_USB), .config_needed = false, diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c index 6455bc4fb5bb..9531f092a71a 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -1096,6 +1096,8 @@ static const struct dev_pm_ops h5_serdev_pm_ops = { static const struct of_device_id rtl_bluetooth_of_match[] = { #ifdef CONFIG_BT_HCIUART_RTL + { .compatible = "realtek,rtl8821cs-bt", + .data = (const void *)&h5_data_rtl8822cs }, { .compatible = "realtek,rtl8822cs-bt", .data = (const void *)&h5_data_rtl8822cs }, { .compatible = "realtek,rtl8723bs-bt", -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-01-27 17:02 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-26 16:55 [PATCH RFC 0/2] Bluetooth: Add support for RTL8821CS Chris Morgan 2023-01-26 16:55 ` [PATCH RFC 1/2] dt-bindings: net: realtek-bluetooth: Add RTL8821CS Chris Morgan 2023-01-27 10:24 ` Krzysztof Kozlowski 2023-01-27 16:46 ` Chris Morgan 2023-01-27 16:53 ` Krzysztof Kozlowski 2023-01-27 17:00 ` Chris Morgan 2023-01-27 17:02 ` Krzysztof Kozlowski 2023-01-26 16:55 ` [PATCH RFC 2/2] Bluetooth: hci_h5: btrtl: Add support for RTL8821CS Chris Morgan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).