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