xref: /linux/drivers/clk/meson/clk-dualdiv.h (revision 2dbc0838bcf24ca59cabc3130cf3b1d6809cdcd4)
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_DUALDIV_H
8 #define __MESON_CLK_DUALDIV_H
9 
10 #include <linux/clk-provider.h>
11 #include "parm.h"
12 
13 struct meson_clk_dualdiv_param {
14 	unsigned int n1;
15 	unsigned int n2;
16 	unsigned int m1;
17 	unsigned int m2;
18 	unsigned int dual;
19 };
20 
21 struct meson_clk_dualdiv_data {
22 	struct parm n1;
23 	struct parm n2;
24 	struct parm m1;
25 	struct parm m2;
26 	struct parm dual;
27 	const struct meson_clk_dualdiv_param *table;
28 };
29 
30 extern const struct clk_ops meson_clk_dualdiv_ops;
31 extern const struct clk_ops meson_clk_dualdiv_ro_ops;
32 
33 #endif /* __MESON_CLK_DUALDIV_H */
34