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
8struct 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
16struct mmp_clk_reset_unit {
17	struct reset_controller_dev rcdev;
18	struct mmp_clk_reset_cell *cells;
19};
20
21#ifdef CONFIG_RESET_CONTROLLER
22void mmp_clk_reset_register(struct device_node *np,
23			struct mmp_clk_reset_cell *cells, int nr_resets);
24#else
25static 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