Re: [PATCH 3/9] clk: samsung: gs101: add support for cmu_peric1
From: Peter Griffin <peter.griffin@linaro.org>
Date: 2024-01-29 12:53:12
Also in:
linux-clk, linux-devicetree, linux-samsung-soc, lkml
On Sat, 27 Jan 2024 at 00:19, André Draszik [off-list ref] wrote:
CMU_PERIC1 is the clock management unit used for the peric1 block which
is used for additional USI, I3C and PWM interfaces/busses. Add support
for muxes, dividers and gates of cmu_peric1, except for
CLK_GOUT_PERIC1_IP which isn't well described in the datasheet and
which downstream also ignores (similar to cmu_peric0).
Two clocks have been marked as CLK_IS_CRITICAL for the following
reason:
* disabling them makes it impossible to access any peric1
registers, (including those two registers).
* disabling gout_peric1_lhm_axi_p_peric1_i_clk sometimes has the
additional effect of making the whole system unresponsive.
The clocks marked as CLK_IGNORE_UNUSED need to be kept on until we have
updated the respective drivers for the following reasons:
* gout_peric1_gpio_peric1_pclk is required by the pinctrl
configuration. With this clock disabled, reconfiguring the pins
(for USI/I2C, USI/UART) will hang during register access.
Since pingctrl-samsung doesn't support a clock at the moment, we
just keep the kernel from disabling it at boot, until we have an
update for samsung-pinctrl, at which point we'll drop the flag.
* gout_peric1_sysreg_peric1_pclk needs to be hooked up to
sysreg_peric1 in DT which will be done in a followup-patch, at
which point we'll drop the special treatment from here. We're
adding the flag temporarily here so as to not break the boot (due
to pclk otherwise getting disabled).
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---Thankyou for being verbose on this reasoning behind CLK_IGNORE_UNUSED and CLK_IS_CRITICAL flags Reviewed-by: Peter Griffin <peter.griffin@linaro.org> _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel