clk: ti: k3-pll: Change DIV_CTRL programming to read-modify-write
authorDave Gerlach <d-gerlach@ti.com>
Tue, 7 Sep 2021 22:16:57 +0000 (17:16 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 17 Sep 2021 18:47:03 +0000 (14:47 -0400)
commitd3c56e2a823caa1e2d09daccd1b0d8a529d8df69
tree27eb900004ada55d5c9e4fdbce81daae50244f62
parentae8d3d236a3426dff4c1dfe1e8d61b54cd3a29af
clk: ti: k3-pll: Change DIV_CTRL programming to read-modify-write

There are three different divider values in the DIV_CTRL register
controlled by the k3-pll driver. Currently the ti_pll_clk_set_rate
function writes the entire register when programming plld, even though
plld only resides in the lower 6 bits.

Change the plld programming to read-modify-write to only affect the
relevant bits for plld and to preserve the other two divider values
present in the upper 16 bits, otherwise they will always get set to zero
when programming plld.

Fixes: 0aa2930ca192 ("clk: add support for TI K3 SoC PLL")
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
drivers/clk/ti/clk-k3-pll.c