diff options
-rw-r--r-- | src/drivers/soundwire/alc711/Kconfig | 14 | ||||
-rw-r--r-- | src/drivers/soundwire/alc711/Makefile.mk | 2 | ||||
-rw-r--r-- | src/drivers/soundwire/alc711/alc711.c | 18 | ||||
-rw-r--r-- | src/include/mipi/ids.h | 1 |
4 files changed, 32 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 }; diff --git a/src/include/mipi/ids.h b/src/include/mipi/ids.h index 5aa5a679a8..4e54b62660 100644 --- a/src/include/mipi/ids.h +++ b/src/include/mipi/ids.h @@ -21,6 +21,7 @@ #define MIPI_MFG_ID_REALTEK 0x025d #define MIPI_DEV_ID_REALTEK_ALC5682 0x5682 #define MIPI_DEV_ID_REALTEK_ALC711 0x0711 +#define MIPI_DEV_ID_REALTEK_ALC722 0x0722 #define MIPI_DEV_ID_REALTEK_ALC1308 0x1308 #define MIPI_MFG_ID_MAXIM 0x019f |