• Heiko Stuebner's avatar
    clk: rockchip: handle mux dependency of fractional dividers · 8ca1ca8f
    Heiko Stuebner authored
    The fractional dividers of Rockchip SoCs contain an "auto-gating-feature"
    that requires the downstream mux to actually point to the fractional
    divider and the fractional divider gate to be enabled, for it to really
    accept changes to the divider ratio.
    
    The downstream muxes themselfs are not generic enough to include them
    directly into the fractional divider, as they have varying sources of
    parent clocks including not only clocks related to the fractional
    dividers but other clocks as well.
    
    To solve this, allow our clock branches to specify direct child clock-
    branches in the new child property, let the fractional divider register
    its downstream mux through this and add a clock notifier that temporarily
    switches the mux setting when it notices rate changes to the fractional
    divider.
    Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
    Tested-by: default avatarSjoerd Simons <sjoerd.simons@collabora.co.uk>
    Reviewed-by: default avatarSjoerd Simons <sjoerd.simons@collabora.co.uk>
    Signed-off-by: default avatarMichael Turquette <mturquette@baylibre.com>
    8ca1ca8f
clk.h 14.3 KB