clk: meson: rework meson8b cpu clock
authorJerome Brunet <jbrunet@baylibre.com>
Mon, 12 Feb 2018 14:58:44 +0000 (15:58 +0100)
committerNeil Armstrong <narmstrong@baylibre.com>
Tue, 13 Mar 2018 09:04:03 +0000 (10:04 +0100)
commit251b6fd38bcb9c8fafdc67851d09fddb79efb049
treeaf715b6c1cbc899843ebe8fe6bf34c66786dffa7
parentd610b54f77002bbddca54c10d9488c2faa7ff102
clk: meson: rework meson8b cpu clock

Instead of migrating meson cpu_clk to clk_regmap, like the other meson
clock drivers, we take advantage of the massive rework to get rid of it
completely, and solve (the first part) of the related FIXME notice.

As pointed out in the code comments, the cpu_clk should be modeled with
dividers and muxes it is made of, instead of one big composite clock.

The cpu_clk was not working correctly to enable dvfs on meson8b. It hangs
quite often when changing the cpu clock rate. This new implementation,
based on simple elements improves the situation but the platform will
still hang from time to time. This is not acceptable so, until we can
make the mechanism around the cpu clock stable, the cpu clock subtree
has been put in read-only mode, preventing any change of the cpu clock

The notifier and read-write operation will be added back when we have a
solution to the problem.

Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
drivers/clk/meson/meson8b.c
drivers/clk/meson/meson8b.h