xref: /freebsd/sys/contrib/dev/rtw88/rtw8814au.c (revision eb15fdb1b72de02e7a4c454f7eeeb1cee5cb83df)
1*eb15fdb1SBjoern A. Zeeb // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2*eb15fdb1SBjoern A. Zeeb /* Copyright(c) 2025  Realtek Corporation
3*eb15fdb1SBjoern A. Zeeb  */
4*eb15fdb1SBjoern A. Zeeb 
5*eb15fdb1SBjoern A. Zeeb #include <linux/module.h>
6*eb15fdb1SBjoern A. Zeeb #include <linux/usb.h>
7*eb15fdb1SBjoern A. Zeeb #include "main.h"
8*eb15fdb1SBjoern A. Zeeb #include "rtw8814a.h"
9*eb15fdb1SBjoern A. Zeeb #include "usb.h"
10*eb15fdb1SBjoern A. Zeeb 
11*eb15fdb1SBjoern A. Zeeb static const struct usb_device_id rtw_8814au_id_table[] = {
12*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8813, 0xff, 0xff, 0xff),
13*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
14*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x056e, 0x400b, 0xff, 0xff, 0xff),
15*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
16*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x056e, 0x400d, 0xff, 0xff, 0xff),
17*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
18*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x0846, 0x9054, 0xff, 0xff, 0xff),
19*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
20*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1817, 0xff, 0xff, 0xff),
21*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
22*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1852, 0xff, 0xff, 0xff),
23*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
24*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x0b05, 0x1853, 0xff, 0xff, 0xff),
25*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
26*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x0e66, 0x0026, 0xff, 0xff, 0xff),
27*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
28*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331a, 0xff, 0xff, 0xff),
29*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
30*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x20f4, 0x809a, 0xff, 0xff, 0xff),
31*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
32*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x20f4, 0x809b, 0xff, 0xff, 0xff),
33*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
34*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0106, 0xff, 0xff, 0xff),
35*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
36*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xa834, 0xff, 0xff, 0xff),
37*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
38*eb15fdb1SBjoern A. Zeeb 	{ USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xa833, 0xff, 0xff, 0xff),
39*eb15fdb1SBjoern A. Zeeb 	  .driver_info = (kernel_ulong_t)&(rtw8814a_hw_spec) },
40*eb15fdb1SBjoern A. Zeeb 	{},
41*eb15fdb1SBjoern A. Zeeb };
42*eb15fdb1SBjoern A. Zeeb MODULE_DEVICE_TABLE(usb, rtw_8814au_id_table);
43*eb15fdb1SBjoern A. Zeeb 
44*eb15fdb1SBjoern A. Zeeb static struct usb_driver rtw_8814au_driver = {
45*eb15fdb1SBjoern A. Zeeb 	.name = KBUILD_MODNAME,
46*eb15fdb1SBjoern A. Zeeb 	.id_table = rtw_8814au_id_table,
47*eb15fdb1SBjoern A. Zeeb 	.probe = rtw_usb_probe,
48*eb15fdb1SBjoern A. Zeeb 	.disconnect = rtw_usb_disconnect,
49*eb15fdb1SBjoern A. Zeeb };
50*eb15fdb1SBjoern A. Zeeb module_usb_driver(rtw_8814au_driver);
51*eb15fdb1SBjoern A. Zeeb 
52*eb15fdb1SBjoern A. Zeeb MODULE_AUTHOR("Bitterblue Smith <rtl8821cerfe2@gmail.com>");
53*eb15fdb1SBjoern A. Zeeb MODULE_DESCRIPTION("Realtek 802.11ac wireless 8814au driver");
54*eb15fdb1SBjoern A. Zeeb MODULE_LICENSE("Dual BSD/GPL");
55