Re: [PATCH] clk: rockchip: mark pclk_uart2 as critical on rk3328

Robin Murphy
2020-07-08T15:34:40Z

On 2020-07-08 15:45, Johan Jonker wrote:
> The rk3328 uart2 port is used as boot console and to debug.
> During the boot pclk_uart2 is disabled by a clk_disable_unused
> initcall. Fix the uart2 function by marking pclk_uart2
> as critical on rk3328. Also add sclk_uart2 as that is needed
> for the same DT node.

Hmm, given that those are named in the DT as the "baudclk" and
"apb_pclk" that dw8250_probe() explicitly claims, they really
shouldn't be unused :/

On my RK3328 box they appear to be prepared and enabled OK:

[robin@nemulon-9 ~]$ sudo grep uart2 /sys/kernel/debug/clk/clk_summary
sclk_uart2 1 1 0 24000000 0 0 50000
pclk_uart2 1 1 0 75000000 0 0 50000
...

Robin.

> Signed-off-by: Johan Jonker <jbx6244@gmail.com>
> ---
> drivers/clk/rockchip/clk-rk3328.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/clk/rockchip/clk-rk3328.c b/drivers/clk/rockchip/clk-rk3328.c
> index c186a1985..cb7749cb7 100644
> --- a/drivers/clk/rockchip/clk-rk3328.c
> +++ b/drivers/clk/rockchip/clk-rk3328.c
> @@ -875,6 +875,8 @@ static const char *const rk3328_critical_clocks[] __initconst = {
> "aclk_gmac_niu",
> "pclk_gmac_niu",
> "pclk_phy_niu",
> + "pclk_uart2",
> + "sclk_uart2",
> };
>
> static void __init rk3328_clk_init(struct device_node *np)
>