]> 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)
commit6a2ff86d38db88ce9c516b5348fca93b476bbe30
tree2eab706f17672e7becb7eae271b5efd261c79fa3
parent3d2369b1cf312f066e85e7fd1ee707c5adc8bd9e
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