OSDN Git Service

ASoC: dwc: i2s: Add StarFive JH7110 SoC support
authorXingyu Wu <xingyu.wu@starfivetech.com>
Mon, 21 Aug 2023 14:41:49 +0000 (22:41 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 23 Aug 2023 12:56:40 +0000 (13:56 +0100)
commit52ea7c0543f8a39da8a6fc17a5ab36b7b58d5431
treeb9ee977fb88744925bc5e5e4e9cd6673a47a331b
parentd6d6c513f5d2d14651336fb4e30f097822b46f29
ASoC: dwc: i2s: Add StarFive JH7110 SoC support

Add StarFive JH7110(TX0/TX1/RX channels) SoC support in the
designware I2S driver and a flag to check if it is on the JH7110 SoC.

These channels need to enable clocks, resets and syscon register on the
JH7110 SoC. So add init ops in platform data for the JH7110 SoC to do this.

Their resets should be deassert before changing the parent of clocks so
these are done in the init ops of platform data.

The I2S controllers use DMA controller by platform data on the JH7110
and their settings about snd_dmaengine_dai_dma_data() should be added
in the dw_configure_dai_by_pd(). And use dmaengine PCM registration if
these do not have IRQ on the JH7110 SoC.

Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
Link: https://lore.kernel.org/r/20230821144151.207339-4-xingyu.wu@starfivetech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/designware_i2s.h
sound/soc/dwc/dwc-i2s.c
sound/soc/dwc/local.h