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 |
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 | |