Commit 64be0357 authored by Fiona Klute's avatar Fiona Klute Committed by Kalle Valo
Browse files

wifi: rtw88: SDIO device driver for RTL8723CS



This driver uses the new rtw8703b chip driver code.

Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org> # For SDIO
Tested-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarFiona Klute <fiona.klute@gmx.de>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240311103735.615541-10-fiona.klute@gmx.de
parent 1f30e95b
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -31,6 +31,10 @@ config RTW88_8822C
config RTW88_8723X
	tristate

config RTW88_8703B
	tristate
	select RTW88_8723X

config RTW88_8723D
	tristate
	select RTW88_8723X
@@ -126,6 +130,20 @@ config RTW88_8723DS

	  802.11n SDIO wireless network adapter

config RTW88_8723CS
	tristate "Realtek 8723CS SDIO wireless network adapter"
	depends on MMC
	select RTW88_CORE
	select RTW88_SDIO
	select RTW88_8703B
	help
	  Select this option to enable support for 8723CS chipset (EXPERIMENTAL)

	  This module adds support for the 8723CS 802.11n SDIO
	  wireless network adapter.

	  If you choose to build a module, it'll be called rtw88_8723cs.

config RTW88_8723DU
	tristate "Realtek 8723DU USB wireless network adapter"
	depends on USB
+6 −0
Original line number Diff line number Diff line
@@ -47,6 +47,12 @@ rtw88_8822cu-objs := rtw8822cu.o
obj-$(CONFIG_RTW88_8723X)	+= rtw88_8723x.o
rtw88_8723x-objs		:= rtw8723x.o

obj-$(CONFIG_RTW88_8703B)	+= rtw88_8703b.o
rtw88_8703b-objs		:= rtw8703b.o rtw8703b_tables.o

obj-$(CONFIG_RTW88_8723CS)	+= rtw88_8723cs.o
rtw88_8723cs-objs		:= rtw8723cs.o

obj-$(CONFIG_RTW88_8723D)	+= rtw88_8723d.o
rtw88_8723d-objs		:= rtw8723d.o rtw8723d_table.o

+34 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* Copyright Fiona Klute <fiona.klute@gmx.de> */

#include <linux/mmc/sdio_func.h>
#include <linux/mmc/sdio_ids.h>
#include <linux/module.h>
#include "main.h"
#include "rtw8703b.h"
#include "sdio.h"

static const struct sdio_device_id rtw_8723cs_id_table[] = {
	{
		SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK,
			    SDIO_DEVICE_ID_REALTEK_RTW8723CS),
		.driver_data = (kernel_ulong_t)&rtw8703b_hw_spec,
	},
	{}
};
MODULE_DEVICE_TABLE(sdio, rtw_8723cs_id_table);

static struct sdio_driver rtw_8723cs_driver = {
	.name = "rtw8723cs",
	.id_table = rtw_8723cs_id_table,
	.probe = rtw_sdio_probe,
	.remove = rtw_sdio_remove,
	.drv = {
		.pm = &rtw_sdio_pm_ops,
		.shutdown = rtw_sdio_shutdown
	}};
module_sdio_driver(rtw_8723cs_driver);

MODULE_AUTHOR("Fiona Klute <fiona.klute@gmx.de>");
MODULE_DESCRIPTION("Realtek 802.11n wireless 8723cs driver");
MODULE_LICENSE("Dual BSD/GPL");
+1 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@
#define SDIO_DEVICE_ID_REALTEK_RTW8723DS_2ANT	0xd723
#define SDIO_DEVICE_ID_REALTEK_RTW8723DS_1ANT	0xd724
#define SDIO_DEVICE_ID_REALTEK_RTW8821DS	0xd821
#define SDIO_DEVICE_ID_REALTEK_RTW8723CS	0xb703

#define SDIO_VENDOR_ID_SIANO			0x039a
#define SDIO_DEVICE_ID_SIANO_NOVA_B0		0x0201