Re: [PATCH] clk: rockchip: rk3588: don't disable unused I2S MCLK output gates
Igor Paunovic <[email protected]> Wed, 5 Aug 2026 18:53:47 +0200
| Newsgroups | org.kernel.vger.linux-clk,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-rockchip,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi, Independent reproduction and a Tested-by for this fix, on a third board family: Orange Pi 5 Plus (rk3588, es8388 clocked from I2S0_8CH_MCLKOUT). On v7.2-rc6 without this patch the analog codec is completely dead in both directions - playback silent, capture records exact digital zeroes - because clk_disable_unused() closes the new i2s0_8ch_mclkout_to_io GRF gate at the end of boot: SYS_GRF SOC_CON6 reads 0x7c7 (bit 0 set) while the clock tree shows i2s0_8ch_mclkout enabled for the codec and i2s0_8ch_mclkout_to_io with an enable count of 0. Re-opening the gate by hand over /dev/mem brings the codec back the same second, and with the gate held open the board plays and records normally. Tested-by: Igor Paunovic <[email protected]> On scale: grepping v7.2-rc6, every rk3588 board DTS that clocks its codec from an I2S MCLKOUT still references the plain id rather than the _TO_IO one - I count 21 files (es8316/es8388/es8323/rt5616/nau8822 across the Orange Pi 5 family, ROCK 5A/5B/5B+/5T/5C/ITX, NanoPC-T6, CM3588, ArmSoM, CoolPi, the EVBs, QuartzPro64, Gameforce Ace and Firefly) - so all of these ship with broken analog audio if v7.2 goes final without this fix. Is anything still blocking it from going in with the next -rc? Thanks, Igor