#include <linux/module.h>
#include <linux/usb.h>
#include "rtw8851b.h"
+#include "reg.h"
#include "usb.h"
static const struct rtw89_usb_info rtw8851b_usb_info = {
+ .usb_host_request_2 = R_AX_USB_HOST_REQUEST_2,
+ .usb_wlan0_1 = R_AX_USB_WLAN0_1,
+ .hci_func_en = R_AX_HCI_FUNC_EN,
.bulkout_id = {
[RTW89_DMA_ACH0] = 3,
[RTW89_DMA_ACH1] = 4,
#include <linux/module.h>
#include <linux/usb.h>
#include "rtw8852b.h"
+#include "reg.h"
#include "usb.h"
static const struct rtw89_usb_info rtw8852b_usb_info = {
+ .usb_host_request_2 = R_AX_USB_HOST_REQUEST_2,
+ .usb_wlan0_1 = R_AX_USB_WLAN0_1,
+ .hci_func_en = R_AX_HCI_FUNC_EN,
.bulkout_id = {
[RTW89_DMA_ACH0] = 3,
[RTW89_DMA_ACH1] = 4,
static int rtw89_usb_ops_mac_pre_init(struct rtw89_dev *rtwdev)
{
+ struct rtw89_usb *rtwusb = rtw89_usb_priv(rtwdev);
+ const struct rtw89_usb_info *info = rtwusb->info;
u32 val32;
- rtw89_write32_set(rtwdev, R_AX_USB_HOST_REQUEST_2, B_AX_R_USBIO_MODE);
+ rtw89_write32_set(rtwdev, info->usb_host_request_2,
+ B_AX_R_USBIO_MODE);
/* fix USB IO hang suggest by chihhanli@realtek.com */
- rtw89_write32_clr(rtwdev, R_AX_USB_WLAN0_1,
+ rtw89_write32_clr(rtwdev, info->usb_wlan0_1,
B_AX_USBRX_RST | B_AX_USBTX_RST);
- val32 = rtw89_read32(rtwdev, R_AX_HCI_FUNC_EN);
+ val32 = rtw89_read32(rtwdev, info->hci_func_en);
val32 &= ~(B_AX_HCI_RXDMA_EN | B_AX_HCI_TXDMA_EN);
- rtw89_write32(rtwdev, R_AX_HCI_FUNC_EN, val32);
+ rtw89_write32(rtwdev, info->hci_func_en, val32);
val32 |= B_AX_HCI_RXDMA_EN | B_AX_HCI_TXDMA_EN;
- rtw89_write32(rtwdev, R_AX_HCI_FUNC_EN, val32);
+ rtw89_write32(rtwdev, info->hci_func_en, val32);
/* fix USB TRX hang suggest by chihhanli@realtek.com */
return 0;