[PATCH v11 0/4] ASoC: rt5575: Add the codec driver for the ALC5575

Oder Chiou
2025-12-31T02:34:02Z

Hi all,

This patch series adds support for the Realtek ALC5575 audio codec.

Changes in v11:
- Patch 1/4:
- minor fixes
- Patch 2/4:
- change of_find_spi_controller_by_node() gating to CONFIG_OF
- Patch 3/4:
- nothing
- Patch 4/4:
- achieve reverse-christmas-tree notation
- remove formal version check
- revise check whether the firmware boots from SPI or not
- minor fixes

Changes in v10:
- Patch 1/3:
- export of_find_spi_controller_by_node()
- Patch 2/3:
- remove realtek,rt5575-use-spi
- add spi-parent for firmware-loading
- Patch 3/3:
- use of_find_spi_controller_by_node() to get the SPI controller and add
the spi device for firmware-loading
- Link to v10: https://lore.kernel.org/all/20251216071853.3929135-1-oder_chiou@realtek.com/

Changes in v9:
- Patch 1/2:
- modify the comment
- change the compatible name to "realtek,rt5575-use-spi"
- Patch 2/2:
- remove the standalone rt5575_spi_driver module and integrate its
functionality into the I2C driver
- move the SPI firmware-loading function to rt5575-spi.c
- use the match data to distinguish between w/wo flash
- minor fixes
- Link to v9: https://lore.kernel.org/all/20251211110130.2925541-1-oder_chiou@realtek.com/

Changes in v8:
- Patch 1/2:
- remove the variable rt5575_spi_ready
- use the multiple compatible names to distinguish between w/wo flash
- Patch 2/2:
- add compatible enum "realtek,rt5575-with-spi"
- Link to v8: https://lore.kernel.org/all/20251201105926.1714341-1-oder_chiou@realtek.com/

Changes in v7:
- Patch 1/2:
- add a caption for the tristates
- remove the redundant enum of the SPI command
- add the error log in the request firmware failure
- change the function name rt5575_spi_fw_loaded to rt5575_fw_load_by_spi
- minor fixes
- Patch 2/2:
- modify commit message
- Link to v7: https://lore.kernel.org/all/20251121084112.743518-1-oder_chiou@realtek.com/

Changes in v6:
- Patch 1/2:
- modify commit message
- add select SND_SOC_RT5575 to config SND_SOC_RT5575_SPI in the Kconfig
- revise the boiler plate in the head of the file
- sort the include files
- use a structure to transfer the spi data
- use the poll() related function instead the for-loop
- revise the UUID to the private ID
- minor fixes
- Patch 2/2:
- modify description
- Link to v6: https://lore.kernel.org/all/20251031073245.3629060-1-oder_chiou@realtek.com/

Changes in v2 to v5:
- Patch 1/2:
- move the firmware to the subdirectory
- remove the empty functions
- remove the cache_type in the regmap_config
- add the error log in the run firmware failure
- Patch 2/2:
- nothing
- Link to v5: https://lore.kernel.org/all/20251015103404.3075684-1-oder_chiou@realtek.com/

Oder Chiou (4):
spi: export of_find_spi_controller_by_node()
spi: change of_find_spi_controller_by_node() gating to CONFIG_OF
ASoC: dt-bindings: realtek,rt5575: add support for ALC5575
ASoC: rt5575: Add the codec driver for the ALC5575

.../bindings/sound/realtek,rt5575.yaml | 61 +++
drivers/spi/spi.c | 23 +-
include/linux/spi/spi.h | 9 +
sound/soc/codecs/Kconfig | 10 +
sound/soc/codecs/Makefile | 3 +
sound/soc/codecs/rt5575-spi.c | 118 ++++++
sound/soc/codecs/rt5575-spi.h | 27 ++
sound/soc/codecs/rt5575.c | 352 ++++++++++++++++++
sound/soc/codecs/rt5575.h | 58 +++
9 files changed, 651 insertions(+), 10 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/realtek,rt5575.yaml
create mode 100644 sound/soc/codecs/rt5575-spi.c
create mode 100644 sound/soc/codecs/rt5575-spi.h
create mode 100644 sound/soc/codecs/rt5575.c
create mode 100644 sound/soc/codecs/rt5575.h

--
2.52.0