clk: bcm: Support rate change propagation on bcm2835 clocks
authorBoris Brezillon <boris.brezillon@free-electrons.com>
Thu, 1 Dec 2016 21:00:19 +0000 (22:00 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:00:10 +0000 (01:00 +0000)
commitb2df53e4245ef2789678adeeda7bf91bf5e756bd
treed23111f6a3e8412982ef4ac50ba465c5713e6f7e
parentda5328a0ade7a56235f17d93e209c069fc8376dd
clk: bcm: Support rate change propagation on bcm2835 clocks

Some peripheral clocks, like the VEC (Video EnCoder) clock need to be set
to a precise rate (in our case 108MHz). With the current implementation,
where peripheral clocks are not allowed to forward rate change requests
to their parents, it is impossible to match this requirement unless the
bootloader has configured things correctly, or a specific rate has been
assigned through the DT (with the assigned-clk-rates property).

Add a new field to struct bcm2835_clock_data to specify which parent
clocks accept rate change propagation, and support set rate propagation
in bcm2835_clock_determine_rate().

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 155e8b3b0ee320ae866b97dd31eba8a1f080a772)
drivers/clk/bcm/clk-bcm2835.c