xref: /openbmc/linux/drivers/clk/berlin/berlin2-pll.h (revision 3eb66e91a25497065c5322b1268cbc3953642227)
1*3504395fSJisheng Zhang /* SPDX-License-Identifier: GPL-2.0 */
2cf8de5a7SAlexandre Belloni /*
3cf8de5a7SAlexandre Belloni  * Copyright (c) 2014 Marvell Technology Group Ltd.
4cf8de5a7SAlexandre Belloni  *
5cf8de5a7SAlexandre Belloni  * Alexandre Belloni <alexandre.belloni@free-electrons.com>
6cf8de5a7SAlexandre Belloni  * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
7cf8de5a7SAlexandre Belloni  */
8cf8de5a7SAlexandre Belloni #ifndef __BERLIN2_PLL_H
9cf8de5a7SAlexandre Belloni #define __BERLIN2_PLL_H
10cf8de5a7SAlexandre Belloni 
11cf8de5a7SAlexandre Belloni struct berlin2_pll_map {
12cf8de5a7SAlexandre Belloni 	const u8 vcodiv[16];
13cf8de5a7SAlexandre Belloni 	u8 mult;
14cf8de5a7SAlexandre Belloni 	u8 fbdiv_shift;
15cf8de5a7SAlexandre Belloni 	u8 rfdiv_shift;
16cf8de5a7SAlexandre Belloni 	u8 divsel_shift;
17cf8de5a7SAlexandre Belloni };
18cf8de5a7SAlexandre Belloni 
19f6475e29SStephen Boyd int berlin2_pll_register(const struct berlin2_pll_map *map,
20cf8de5a7SAlexandre Belloni 			 void __iomem *base, const char *name,
21cf8de5a7SAlexandre Belloni 			 const char *parent_name, unsigned long flags);
22cf8de5a7SAlexandre Belloni 
23cf8de5a7SAlexandre Belloni #endif /* __BERLIN2_PLL_H */
24