Skip to content

add rtw88/rtw89 drivers #6881

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 5, 2025
Merged

add rtw88/rtw89 drivers #6881

merged 1 commit into from
Jun 5, 2025

Conversation

macmpi
Copy link
Contributor

@macmpi macmpi commented Jun 4, 2025

as per #6874

@pelwell
Copy link
Contributor

pelwell commented Jun 4, 2025

What about the 64-bit defconfigs?

@macmpi
Copy link
Contributor Author

macmpi commented Jun 4, 2025

What about the 64-bit defconfigs?

oops, missed 2712 (in fact did 2711 instead): any other to add?

@pelwell
Copy link
Contributor

pelwell commented Jun 4, 2025

I'm only seeing the 32-bit ARCH=arm bcm2711_defconfig. The full list for...

Yes, like that.

@pelwell
Copy link
Contributor

pelwell commented Jun 5, 2025

Hmmm - this isn't correct. Firstly, these are not true defconfig files, created with make ... savedefconfig. A defconfig file should only contain non-default, non-implied settings. Secondly, it seems that only the PCI-capable platforms actually gained anything - it's as if the USB devices were already enabled.

Running savedefconfig for each of those proposed changes has one of two results. On the four PCI-capable kernels, the changes look like this:

@@ -624,10 +624,21 @@ CONFIG_RTL8187=m
 CONFIG_RTL8192CU=m
 CONFIG_RTL8XXXU=m
 CONFIG_RTW88=m
+CONFIG_RTW88_8822BE=m
 CONFIG_RTW88_8822BU=m
+CONFIG_RTW88_8822CE=m
 CONFIG_RTW88_8822CU=m
+CONFIG_RTW88_8723DE=m
 CONFIG_RTW88_8723DU=m
+CONFIG_RTW88_8821CE=m
 CONFIG_RTW88_8821CU=m
+CONFIG_RTW89=m
+CONFIG_RTW89_8851BE=m
+CONFIG_RTW89_8852AE=m
+CONFIG_RTW89_8852BE=m
+CONFIG_RTW89_8852BTE=m
+CONFIG_RTW89_8852CE=m
+CONFIG_RTW89_8922AE=m
 CONFIG_ZD1211RW=m
 CONFIG_MAC80211_HWSIM=m
 CONFIG_IEEE802154_AT86RF230=m

i.e. the same 11 additions.

On the non-PCI kernels, the "changes" evaporate - those settings are already implied by the defconfig. For example, compare your bcmrpi_defconfig patch:

@@ -596,10 +596,38 @@ CONFIG_RTL8187=m
 CONFIG_RTL8192CU=m
 CONFIG_RTL8XXXU=m
 CONFIG_RTW88=m
+CONFIG_RTW88_CORE=m
+# CONFIG_RTW88_PCI is not set
+# CONFIG_RTW88_SDIO is not set
+CONFIG_RTW88_USB=m
+CONFIG_RTW88_8822B=m
+CONFIG_RTW88_8822C=m
+CONFIG_RTW88_8723X=m
+# CONFIG_RTW88_8703B is not set
+CONFIG_RTW88_8723D=m
+CONFIG_RTW88_8821C=m
+CONFIG_RTW88_8821A=m
+CONFIG_RTW88_8812A=m
+CONFIG_RTW88_8814A=m
+# CONFIG_RTW88_8822BE is not set
+# CONFIG_RTW88_8822BS is not set
 CONFIG_RTW88_8822BU=m
+# CONFIG_RTW88_8822CE is not set
+# CONFIG_RTW88_8822CS is not set
 CONFIG_RTW88_8822CU=m
+# CONFIG_RTW88_8723DE is not set
+# CONFIG_RTW88_8723DS is not set
+# CONFIG_RTW88_8723CS is not set
 CONFIG_RTW88_8723DU=m
+# CONFIG_RTW88_8821CE is not set
+# CONFIG_RTW88_8821CS is not set
 CONFIG_RTW88_8821CU=m
+CONFIG_RTW88_8821AU=m
+CONFIG_RTW88_8812AU=m
+CONFIG_RTW88_8814AU=m
+# CONFIG_RTW88_DEBUG is not set
+# CONFIG_RTW88_DEBUGFS is not set
+# CONFIG_RTW88_LEDS is not set
 CONFIG_ZD1211RW=m
 CONFIG_MAC80211_HWSIM=m
 CONFIG_IEEE802154_AT86RF230=m

with what already appears in the .config file after applying the existing bcmrpi_defconfig:

$ make ARCH=arm bcmrpi_defconfig
#
# configuration written to .config
#
$ grep RTW88_ .config
CONFIG_RTW88_CORE=m
CONFIG_RTW88_USB=m
CONFIG_RTW88_8822B=m
CONFIG_RTW88_8822C=m
CONFIG_RTW88_8723X=m
CONFIG_RTW88_8723D=m
CONFIG_RTW88_8821C=m
# CONFIG_RTW88_8822BS is not set
CONFIG_RTW88_8822BU=m
# CONFIG_RTW88_8822CS is not set
CONFIG_RTW88_8822CU=m
# CONFIG_RTW88_8723DS is not set
# CONFIG_RTW88_8723CS is not set
CONFIG_RTW88_8723DU=m
# CONFIG_RTW88_8821CS is not set
CONFIG_RTW88_8821CU=m
# CONFIG_RTW88_DEBUG is not set
# CONFIG_RTW88_DEBUGFS is not set

If you are in agreement, I'll replace this PR with a squashed version of the PCI defconfig changes for you to look at, before merging it.

@macmpi
Copy link
Contributor Author

macmpi commented Jun 5, 2025

Yes thanks.
Just curious why on RT88 USB side, 8821AU, 8812AU, 8814AU do not get added as per Kconfig.

@pelwell
Copy link
Contributor

pelwell commented Jun 5, 2025

Enable the drivers for the Realtek RTW88 and RTW89 PCI WiFi chips on
PCI-capable kernels.
@pelwell
Copy link
Contributor

pelwell commented Jun 5, 2025

This is what we've ended up with: https://github.com/raspberrypi/linux/pull/6881/files

@macmpi
Copy link
Contributor Author

macmpi commented Jun 5, 2025

Ok thanks a lot.
(reminder for next pi kernel releases: 8821AU, 8812AU from 6.13 and 8814AU from 6.15)

@pelwell pelwell merged commit 63252ab into raspberrypi:rpi-6.12.y Jun 5, 2025
11 of 12 checks passed
@pelwell
Copy link
Contributor

pelwell commented Jun 5, 2025

Enhanced versions of this patch have now been merged to 6.14 and 6.15 - 6.13 is EOL and will receive no further updates.

@macmpi
Copy link
Contributor Author

macmpi commented Jun 5, 2025

Thanks for your help and patience.

PS: for 6.14 & 6.15 arm defconfigs could inherit newer USB too (not just arm64)

@macmpi macmpi deleted the RTW88-89 branch June 5, 2025 11:36
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jun 5, 2025
kernel: Add support for the IMX283 on Raspberry Pi platforms
See: raspberrypi/linux#6869

kernel: Pisound Micro: Workaround for snd_soc_dai_set_tdm_slot with slots=0
See: raspberrypi/linux#6880

kernel: add rtw88/rtw89 drivers
See: raspberrypi/linux#6881

kernel: configs: arm64: Remove CONFIG_USB_DWCOTG
See: raspberrypi/linux#6883
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Jun 5, 2025
kernel: Add support for the IMX283 on Raspberry Pi platforms
See: raspberrypi/linux#6869

kernel: Pisound Micro: Workaround for snd_soc_dai_set_tdm_slot with slots=0
See: raspberrypi/linux#6880

kernel: add rtw88/rtw89 drivers
See: raspberrypi/linux#6881

kernel: configs: arm64: Remove CONFIG_USB_DWCOTG
See: raspberrypi/linux#6883
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants