summaryrefslogtreecommitdiff
path: root/src/drivers/soundwire
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/soundwire')
-rw-r--r--src/drivers/soundwire/alc711/Kconfig14
-rw-r--r--src/drivers/soundwire/alc711/Makefile.mk2
-rw-r--r--src/drivers/soundwire/alc711/alc711.c18
3 files changed, 31 insertions, 3 deletions
diff --git a/src/drivers/soundwire/alc711/Kconfig b/src/drivers/soundwire/alc711/Kconfig
index 0d96fa96bb..96ed819d7f 100644
--- a/src/drivers/soundwire/alc711/Kconfig
+++ b/src/drivers/soundwire/alc711/Kconfig
@@ -1,4 +1,18 @@
## SPDX-License-Identifier: GPL-2.0-only
+config DRIVERS_SOUNDWIRE_ALC_BASE_7XX
+ bool
+ help
+ Base code for Realtek ALC7xxx Codec SoundWire driver.
+
config DRIVERS_SOUNDWIRE_ALC711
bool
+ select DRIVERS_SOUNDWIRE_ALC_BASE_7XX
+ help
+ SoundWire driver for Realtek ALC711 device
+
+config DRIVERS_SOUNDWIRE_ALC722
+ bool
+ select DRIVERS_SOUNDWIRE_ALC_BASE_7XX
+ help
+ SoundWire driver for Realtek ALC722 device
diff --git a/src/drivers/soundwire/alc711/Makefile.mk b/src/drivers/soundwire/alc711/Makefile.mk
index 63e0993435..cdedc41582 100644
--- a/src/drivers/soundwire/alc711/Makefile.mk
+++ b/src/drivers/soundwire/alc711/Makefile.mk
@@ -1,3 +1,3 @@
## SPDX-License-Identifier: GPL-2.0-only
-ramstage-$(CONFIG_DRIVERS_SOUNDWIRE_ALC711) += alc711.c
+ramstage-$(CONFIG_DRIVERS_SOUNDWIRE_ALC_BASE_7XX) += alc711.c
diff --git a/src/drivers/soundwire/alc711/alc711.c b/src/drivers/soundwire/alc711/alc711.c
index 7d1ac4274f..c5e7a8e5b6 100644
--- a/src/drivers/soundwire/alc711/alc711.c
+++ b/src/drivers/soundwire/alc711/alc711.c
@@ -11,10 +11,18 @@
#include "chip.h"
static struct soundwire_address alc711_address = {
+#if CONFIG(DRIVERS_SOUNDWIRE_ALC722)
+ .version = SOUNDWIRE_VERSION_1_2,
+ .part_id = MIPI_DEV_ID_REALTEK_ALC722,
+ .class = MIPI_CLASS_SDCA,
+#elif CONFIG(DRIVERS_SOUNDWIRE_ALC711)
.version = SOUNDWIRE_VERSION_1_1,
- .manufacturer_id = MIPI_MFG_ID_REALTEK,
.part_id = MIPI_DEV_ID_REALTEK_ALC711,
- .class = MIPI_CLASS_NONE
+ .class = MIPI_CLASS_NONE,
+#else
+#error "No Realtek SoundWire codec selected"
+#endif
+ .manufacturer_id = MIPI_MFG_ID_REALTEK,
};
static struct soundwire_slave alc711_slave = {
@@ -150,6 +158,12 @@ static void soundwire_alc711_enable(struct device *dev)
}
struct chip_operations drivers_soundwire_alc711_ops = {
+#if CONFIG(DRIVERS_SOUNDWIRE_ALC711)
.name = "Realtek ALC711 SoundWire Codec",
+#elif CONFIG(DRIVERS_SOUNDWIRE_ALC722)
+ .name = "Realtek ALC722 SoundWire Codec",
+#else
+ .name = "Unknown",
+#endif
.enable_dev = soundwire_alc711_enable
};