Hi all: This patch set is mainly about Loongson i2s related issues. Please allow me to briefly explain this patch set: Patch 1-2: Add ES8323 codec required on Loongson-2K2000 Patch 3-4: Add uda1342 codec required on Loongson-2K1000 Patch 5: Fix the problem of unable to detect codec under FDT system. Patch 6-7: Add Loongson i2s platform device support Patch 8-9: Related DTS support. Thanks. ------- V3: patch (1/9)/(6/9): - Add Reviewed-by tag from Rob; patch (2/9): - Use C++ style for the comment block at the head of file; - Add DAI format config accroding datasheet. patch (4/9): - Use C++ style for the comment block at the head of file; - Drop some noisy log message(dev_info); - Drop unused variable reported by lkp. patch (5/9): - Reuse snd_soc_of_get_dlc() helper function; - Set the value of snd_soc_dai_link.platforms to avoid check failed. patch (7/9): - Use C++ style for the comment block at the head of file; - Rewrite the dependency between the card and the DAI driver, we will select from the card to the DAI driver; Link to V2: https://lore.kernel.org/all/cover.1727056789.git.zhoubinbin@xxxxxxxxxxx/ V2: - Spilt the improve code readability patch to a separate patch series. The link is: https://lore.kernel.org/all/cover.1725844530.git.zhoubinbin@xxxxxxxxxxx/ patch (1/9): - Add es8323 compatible in everest,es8316.yaml instead of creating a new yaml file; patch (2/9): - Use regmap_config.reg_defaults instead of snd_soc_component_driver.{read/write}; - Use the more modern _CBC_CFC(SND_SOC_DAIFMT_BC_FC); - Rewrite suspend/resume function with regmap; - Drop i2c_check_functionality(); - Use named variables for the enums rather than putting them into an array; patch (3/9): - Add Reviewed-by tag from Krzysztof; patch (4/9): - Drop unused param to avoid lkp warnning; - Drop some noisy log message(dev_info); - Use normal conditional statements to improve legibility; - Use provider/consumer instead of master/slave; - Use the more modern _CBC_CFC(SND_SOC_DAIFMT_BC_FC); - Drop uda1342_set_bias_level() for it does nothing; - Drop uda1342_mixer_enum[] for it is unused; - Point to controls/routes arrays from the component struct; - REGCACHE_MAP instead of REGCACHE_RBTREE. patch (5/9): - Add of_node_put(args.np) after snd_soc_get_dai_name(); - Use matching label name, such as codec_put instead of free_codec; - Rewrote the loongson_parse_cpu() and loongson_parse_codec() function interfaces to avoid dropping a reference from a pointer that is a random stack value patch (6/9): - Rename file name as loongson,ls2k1000-i2s.yaml; - List and describe items for reg property; - 'unevaluatedProperties: false' instead of 'additionalProperties: false'; patch (7/9): - Fix lkp warnning; - Reorder Kconfig items, let SND_SOC_LOONGSON_I2S_{PCI,PLATFORM} select SND_SOC_LOONGSON_CARD. Link to v1: https://lore.kernel.org/all/cover.1725518229.git.zhoubinbin@xxxxxxxxxxx/ Binbin Zhou (9): ASoC: dt-bindings: Add Everest ES8323 Codec ASoC: codecs: Add support for ES8323 ASoC: dt-bindings: Add NXP uda1342 Codec ASoC: codecs: Add uda1342 codec driver ASoC: loongson: Fix component check failed on FDT systems ASoC: dt-bindings: Add Loongson I2S controller ASoC: loongson: Add I2S controller driver as platform device LoongArch: dts: Add I2S support to Loongson-2K1000 LoongArch: dts: Add I2S support to Loongson-2K2000 .../bindings/sound/everest,es8316.yaml | 4 +- .../bindings/sound/loongson,ls2k1000-i2s.yaml | 68 ++ .../bindings/sound/nxp,uda1342.yaml | 42 + arch/loongarch/boot/dts/loongson-2k1000.dtsi | 17 +- arch/loongarch/boot/dts/loongson-2k2000.dtsi | 22 +- sound/soc/codecs/Kconfig | 13 + sound/soc/codecs/Makefile | 4 + sound/soc/codecs/es8323.c | 792 ++++++++++++++++++ sound/soc/codecs/es8323.h | 78 ++ sound/soc/codecs/uda1342.c | 347 ++++++++ sound/soc/codecs/uda1342.h | 78 ++ sound/soc/loongson/Kconfig | 31 +- sound/soc/loongson/Makefile | 3 + sound/soc/loongson/loongson_card.c | 1 + sound/soc/loongson/loongson_i2s_plat.c | 185 ++++ 15 files changed, 1670 insertions(+), 15 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/loongson,ls2k1000-i2s.yaml create mode 100644 Documentation/devicetree/bindings/sound/nxp,uda1342.yaml create mode 100644 sound/soc/codecs/es8323.c create mode 100644 sound/soc/codecs/es8323.h create mode 100644 sound/soc/codecs/uda1342.c create mode 100644 sound/soc/codecs/uda1342.h create mode 100644 sound/soc/loongson/loongson_i2s_plat.c base-commit: d19f6bf5f17d77fb645654237130c94571c68a3d -- 2.43.5