]> git.baikalelectronics.ru Git - kernel.git/commit
clk: meson: pll: update driver for the g12a
authorJerome Brunet <jbrunet@baylibre.com>
Fri, 1 Feb 2019 14:53:42 +0000 (15:53 +0100)
committerNeil Armstrong <narmstrong@baylibre.com>
Mon, 4 Feb 2019 08:51:37 +0000 (09:51 +0100)
commit958c2571acea7bfee4ca747d137ff31778c0e5cb
tree2eab706f17672e7becb7eae271b5efd261c79fa3
parentbeda68d445848536c07abbc068b39ba038d1c85d
clk: meson: pll: update driver for the g12a

The g12a use fractional parameter of 17 useful bits. At the moment, this
parameter in encoded using u16 value. Use this opportunity to switch all
the pll to parameter to unsigned int. This should save us some annoying
trouble shooting when and m and n field eventually grow as well.

This patch also introduce pll multiplier range. On the g12a, the hifi and
gp0 plls are able to lock as long as the following condition is met:
55 <= m/n <= 255.

The param table describing this would be huge which is a waste of memory.
Using ranges, we can save memory. Ranges also help find the best pll
parameter significantly faster since we don't have to try all the possible
settings.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
[jbrunet: fixed fix pll settings calculation with arm32]
Link: https://lkml.kernel.org/r/20190201145345.6795-2-jbrunet@baylibre.com
drivers/clk/meson/clk-pll.c
drivers/clk/meson/clk-pll.h