1889c2b7eSJerome Brunet /* SPDX-License-Identifier: GPL-2.0 */ 2889c2b7eSJerome Brunet /* 3889c2b7eSJerome Brunet * Copyright (c) 2019 BayLibre, SAS. 4889c2b7eSJerome Brunet * Author: Jerome Brunet <jbrunet@baylibre.com> 5889c2b7eSJerome Brunet */ 6889c2b7eSJerome Brunet 7889c2b7eSJerome Brunet #ifndef __MESON_CLK_DUALDIV_H 8889c2b7eSJerome Brunet #define __MESON_CLK_DUALDIV_H 9889c2b7eSJerome Brunet 10889c2b7eSJerome Brunet #include <linux/clk-provider.h> 11889c2b7eSJerome Brunet #include "parm.h" 12889c2b7eSJerome Brunet 13889c2b7eSJerome Brunet struct meson_clk_dualdiv_param { 14889c2b7eSJerome Brunet unsigned int n1; 15889c2b7eSJerome Brunet unsigned int n2; 16889c2b7eSJerome Brunet unsigned int m1; 17889c2b7eSJerome Brunet unsigned int m2; 18889c2b7eSJerome Brunet unsigned int dual; 19889c2b7eSJerome Brunet }; 20889c2b7eSJerome Brunet 21889c2b7eSJerome Brunet struct meson_clk_dualdiv_data { 22889c2b7eSJerome Brunet struct parm n1; 23889c2b7eSJerome Brunet struct parm n2; 24889c2b7eSJerome Brunet struct parm m1; 25889c2b7eSJerome Brunet struct parm m2; 26889c2b7eSJerome Brunet struct parm dual; 27889c2b7eSJerome Brunet const struct meson_clk_dualdiv_param *table; 28889c2b7eSJerome Brunet }; 29889c2b7eSJerome Brunet 30889c2b7eSJerome Brunet extern const struct clk_ops meson_clk_dualdiv_ops; 31889c2b7eSJerome Brunet extern const struct clk_ops meson_clk_dualdiv_ro_ops; 32889c2b7eSJerome Brunet 33889c2b7eSJerome Brunet #endif /* __MESON_CLK_DUALDIV_H */ 34