/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2024 Neil Armstrong */ #ifndef __VCLK_H #define __VCLK_H #include "clk-regmap.h" #include "parm.h" /** * struct meson_vclk_gate_data - vclk_gate regmap backed specific data * * @enable: vclk enable field * @reset: vclk reset field * @flags: hardware-specific flags * * Flags: * Same as clk_gate except CLK_GATE_HIWORD_MASK which is ignored */ struct meson_vclk_gate_data { struct parm enable; struct parm reset; u8 flags; }; extern const struct clk_ops meson_vclk_gate_ops; /** * struct meson_vclk_div_data - vclk_div regmap back specific data * * @div: divider field * @enable: vclk divider enable field * @reset: vclk divider reset field * @table: array of value/divider pairs, last entry should have div = 0 * * Flags: * Same as clk_divider except CLK_DIVIDER_HIWORD_MASK which is ignored */ struct meson_vclk_div_data { struct parm div; struct parm enable; struct parm reset; const struct clk_div_table *table; u8 flags; }; extern const struct clk_ops meson_vclk_div_ops; #endif /* __VCLK_H */