Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / clk / meson / vclk.h
blob20b0b181db09d04fa29c391b53ca9a5def791eee
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * Copyright (c) 2024 Neil Armstrong <neil.armstrong@linaro.org>
4 */
6 #ifndef __VCLK_H
7 #define __VCLK_H
9 #include "clk-regmap.h"
10 #include "parm.h"
12 /**
13 * struct meson_vclk_gate_data - vclk_gate regmap backed specific data
15 * @enable: vclk enable field
16 * @reset: vclk reset field
17 * @flags: hardware-specific flags
19 * Flags:
20 * Same as clk_gate except CLK_GATE_HIWORD_MASK which is ignored
22 struct meson_vclk_gate_data {
23 struct parm enable;
24 struct parm reset;
25 u8 flags;
28 extern const struct clk_ops meson_vclk_gate_ops;
30 /**
31 * struct meson_vclk_div_data - vclk_div regmap back specific data
33 * @div: divider field
34 * @enable: vclk divider enable field
35 * @reset: vclk divider reset field
36 * @table: array of value/divider pairs, last entry should have div = 0
38 * Flags:
39 * Same as clk_divider except CLK_DIVIDER_HIWORD_MASK which is ignored
41 struct meson_vclk_div_data {
42 struct parm div;
43 struct parm enable;
44 struct parm reset;
45 const struct clk_div_table *table;
46 u8 flags;
49 extern const struct clk_ops meson_vclk_div_ops;
51 #endif /* __VCLK_H */