clk: sunxi-ng: Support multiple variable pre-dividers

On the A83T, the AHB1 clock has a shared pre-divider on the two
PLL-PERIPH clock parents. To support such instances of shared
pre-dividers, this patch extends the mux clock type to support
multiple variable pre-dividers.

As the pre-dividers are only used to calculate the rate, but
do not participate in the factorization process, this is fairly
straightforward.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
This commit is contained in:
Chen-Yu Tsai
2017-05-19 15:06:08 +08:00
کامیت شده توسط Maxime Ripard
والد 11ad470c54
کامیت 13e0dde8b2
9فایلهای تغییر یافته به همراه54 افزوده شده و 47 حذف شده

مشاهده پرونده

@@ -10,6 +10,12 @@ struct ccu_mux_fixed_prediv {
u16 div;
};
struct ccu_mux_var_prediv {
u8 index;
u8 shift;
u8 width;
};
struct ccu_mux_internal {
u8 shift;
u8 width;
@@ -18,11 +24,8 @@ struct ccu_mux_internal {
const struct ccu_mux_fixed_prediv *fixed_predivs;
u8 n_predivs;
struct {
u8 index;
u8 shift;
u8 width;
} variable_prediv;
const struct ccu_mux_var_prediv *var_predivs;
u8 n_var_predivs;
};
#define _SUNXI_CCU_MUX_TABLE(_shift, _width, _table) \