clk: rockchip: add optional sync to pll rate parameters
authorHeiko Stuebner <heiko@sntech.de>
Thu, 20 Nov 2014 19:38:52 +0000 (20:38 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 25 Nov 2014 08:57:18 +0000 (09:57 +0100)
commit0bb66d3b6e78168f8f49c7a41060508707f04d1d
tree812b8a0face8604c03d472bbb75b7066b092687e
parentd0e7a0ca4b57483e424334c453818529148baafd
clk: rockchip: add optional sync to pll rate parameters

In some cases firmware brings up plls with different parameters than the ones
noted in the rate table for the specific frequency. These firmware-selected
parameters are worse than the tested ones in the pll rate tables but cannot
be changed by a simple clk_set_rate call when the rate stays the same.

Therefore add a ROCKCHIP_PLL_SYNC_RATE flag and implement an init callback
that checks the runtime-parameters against the matching rate table entry
and adjusts them to the table-ones if necessary.

If no rate table is set or the current rate does not match any rate-table
entry no changes are made.

Being able to limit this adjustment to specific plls is necessary to not
touch the ones supplying core components like the apll and dpll supplying
the armcores and dram.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Kever Yang <kever.yang@rock-chips.com>
drivers/clk/rockchip/clk-pll.c
drivers/clk/rockchip/clk.h