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