1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * Copyright (c) 2019 BayLibre, SAS. |
4 | * Author: Jerome Brunet <jbrunet@baylibre.com> |
5 | */ |
6 | |
7 | #ifndef __MESON_CLK_MPLL_H |
8 | #define __MESON_CLK_MPLL_H |
9 | |
10 | #include <linux/clk-provider.h> |
11 | #include <linux/spinlock.h> |
12 | |
13 | #include "parm.h" |
14 | |
15 | struct meson_clk_mpll_data { |
16 | struct parm sdm; |
17 | struct parm sdm_en; |
18 | struct parm n2; |
19 | struct parm ssen; |
20 | struct parm misc; |
21 | const struct reg_sequence *init_regs; |
22 | unsigned int init_count; |
23 | spinlock_t *lock; |
24 | u8 flags; |
25 | }; |
26 | |
27 | #define CLK_MESON_MPLL_ROUND_CLOSEST BIT(0) |
28 | #define CLK_MESON_MPLL_SPREAD_SPECTRUM BIT(1) |
29 | |
30 | extern const struct clk_ops meson_clk_mpll_ro_ops; |
31 | extern const struct clk_ops meson_clk_mpll_ops; |
32 | |
33 | #endif /* __MESON_CLK_MPLL_H */ |
34 | |