xref: /freebsd/sys/arm64/qoriq/clk/qoriq_clk_pll.h (revision be82b3a0bf72ed3b5f01ac9fcd8dcd3802e3c742)
1b8cb0864SMarcin Wojtas /*-
24d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
3b8cb0864SMarcin Wojtas  *
4b8cb0864SMarcin Wojtas  * Copyright (c) 2020 Alstom Group.
5b8cb0864SMarcin Wojtas  * Copyright (c) 2020 Semihalf.
6b8cb0864SMarcin Wojtas  *
7b8cb0864SMarcin Wojtas  * Redistribution and use in source and binary forms, with or without
8b8cb0864SMarcin Wojtas  * modification, are permitted provided that the following conditions
9b8cb0864SMarcin Wojtas  * are met:
10b8cb0864SMarcin Wojtas  * 1. Redistributions of source code must retain the above copyright
11b8cb0864SMarcin Wojtas  *    notice, this list of conditions and the following disclaimer.
12b8cb0864SMarcin Wojtas  * 2. Redistributions in binary form must reproduce the above copyright
13b8cb0864SMarcin Wojtas  *    notice, this list of conditions and the following disclaimer in the
14b8cb0864SMarcin Wojtas  *    documentation and/or other materials provided with the distribution.
15b8cb0864SMarcin Wojtas  *
16b8cb0864SMarcin Wojtas  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17b8cb0864SMarcin Wojtas  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18b8cb0864SMarcin Wojtas  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19b8cb0864SMarcin Wojtas  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20b8cb0864SMarcin Wojtas  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21b8cb0864SMarcin Wojtas  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22b8cb0864SMarcin Wojtas  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23b8cb0864SMarcin Wojtas  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24b8cb0864SMarcin Wojtas  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25b8cb0864SMarcin Wojtas  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26b8cb0864SMarcin Wojtas  * SUCH DAMAGE.
27b8cb0864SMarcin Wojtas  *
28b8cb0864SMarcin Wojtas  */
29b8cb0864SMarcin Wojtas 
30b8cb0864SMarcin Wojtas #ifndef	_QORIQ_CLK_PLL_H_
31b8cb0864SMarcin Wojtas #define	_QORIQ_CLK_PLL_H_
32b8cb0864SMarcin Wojtas 
33*be82b3a0SEmmanuel Vadot #include <dev/clk/clk.h>
34b8cb0864SMarcin Wojtas 
35b8cb0864SMarcin Wojtas #define	QORIQ_CLK_PLL_HAS_KILL_BIT	0x01
36b8cb0864SMarcin Wojtas 
37b8cb0864SMarcin Wojtas struct qoriq_clk_pll_def {
38b8cb0864SMarcin Wojtas 	struct clknode_init_def	clkdef;
39b8cb0864SMarcin Wojtas 
40b8cb0864SMarcin Wojtas 	bus_addr_t		offset;
41b8cb0864SMarcin Wojtas 	uint32_t		mask;
42b8cb0864SMarcin Wojtas 	uint8_t			shift;
43b8cb0864SMarcin Wojtas 	const uint8_t		*dividers;
44b8cb0864SMarcin Wojtas 	uint8_t			flags;
45b8cb0864SMarcin Wojtas };
46b8cb0864SMarcin Wojtas 
47b8cb0864SMarcin Wojtas int qoriq_clk_pll_register(struct clkdom *clkdom,
48b8cb0864SMarcin Wojtas     const struct qoriq_clk_pll_def *clkdef);
49b8cb0864SMarcin Wojtas 
50b8cb0864SMarcin Wojtas #endif	/* _QORIQ_CLK_PLL_H_ */
51