arm64: dts: rockchip: Assign ES8316 MCLK rate on rk3588-rock-5b
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Tue, 30 May 2023 18:11:40 +0000 (21:11 +0300)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 6 Jun 2023 16:32:07 +0000 (18:32 +0200)
commit28ee08cef4f838c343013330a3cd12674c4dd113
treeb027a0a137fcbc076a87e7d5019d82833ed62830
parent3900160e164bcba23a111a3ba80f06aff7764c34
arm64: dts: rockchip: Assign ES8316 MCLK rate on rk3588-rock-5b

The I2S0_8CH_MCLKOUT clock rate on Rock 5B board defaults to 12 MHz and
it is used to provide the master clock (MCLK) for the ES8316 audio
codec.

On sound card initialization, this limits the allowed sample rates
according to the MCLK/LRCK ratios supported by the codec, which results
in the following non-standard rates: 15625, 30000, 31250, 46875.

Hence, the very first access of the sound card fails:

  Broken configuration for playback: no configurations available: Invalid argument
  Setting of hwparams failed: Invalid argument

However, all subsequent attempts will succeed, as the audio graph card
will request a correct clock frequency, based on the stream sample rate
and the multiplication factor.

Assign MCLK to 12.288 MHz, which allows the codec to advertise most of
the standard sample rates.

Fixes: 55529fe3f32d ("arm64: dts: rockchip: Add rk3588-rock-5b analog audio")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://lore.kernel.org/r/20230530181140.483936-4-cristian.ciocaltea@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts