1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __MACH_MMP_CLK_RESET_H
3 #define __MACH_MMP_CLK_RESET_H
4 
5 #include <linux/reset-controller.h>
6 
7 #define MMP_RESET_INVERT	1
8 
9 struct mmp_clk_reset_cell {
10 	unsigned int clk_id;
11 	void __iomem *reg;
12 	u32 bits;
13 	unsigned int flags;
14 	spinlock_t *lock;
15 };
16 
17 struct mmp_clk_reset_unit {
18 	struct reset_controller_dev rcdev;
19 	struct mmp_clk_reset_cell *cells;
20 };
21 
22 #ifdef CONFIG_RESET_CONTROLLER
23 void mmp_clk_reset_register(struct device_node *np,
24 			struct mmp_clk_reset_cell *cells, int nr_resets);
25 #else
mmp_clk_reset_register(struct device_node * np,struct mmp_clk_reset_cell * cells,int nr_resets)26 static inline void mmp_clk_reset_register(struct device_node *np,
27 			struct mmp_clk_reset_cell *cells, int nr_resets)
28 {
29 }
30 #endif
31 
32 #endif
33