Skip to content

Commit

Permalink
clk: meson: eeclk: add init regs
Browse files Browse the repository at this point in the history
Like the PLL and MPLL, the controller may require some magic setting to
be applied on startup.

This is needed when the initial setting is not applied by the boot ROM.
The controller need to do it when the setting applies to several clock,
like all the MPLLs in the case of g12a.

Signed-off-by: Jerome Brunet <[email protected]>
  • Loading branch information
jbrun3t committed May 20, 2019
1 parent 76d3fc3 commit 19a18d4
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/clk/meson/meson-eeclk.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ int meson_eeclkc_probe(struct platform_device *pdev)
return PTR_ERR(map);
}

if (data->init_count)
regmap_multi_reg_write(map, data->init_regs, data->init_count);

input = meson_clk_hw_register_input(dev, "xtal", IN_PREFIX "xtal", 0);
if (IS_ERR(input)) {
ret = PTR_ERR(input);
Expand Down
2 changes: 2 additions & 0 deletions drivers/clk/meson/meson-eeclk.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ struct platform_device;
struct meson_eeclkc_data {
struct clk_regmap *const *regmap_clks;
unsigned int regmap_clk_num;
const struct reg_sequence *init_regs;
unsigned int init_count;
struct clk_hw_onecell_data *hw_onecell_data;
};

Expand Down

0 comments on commit 19a18d4

Please sign in to comment.