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 <[email protected]>
> ---
>   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)
> 

Reply via email to