1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 //
3 // Actions Semi Owl SoCs Reset Management Unit driver
4 //
5 // Copyright (c) 2018 Linaro Ltd.
6 // Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
7 
8 #ifndef _OWL_RESET_H_
9 #define _OWL_RESET_H_
10 
11 #include <linux/reset-controller.h>
12 
13 struct owl_reset_map {
14 	u32	reg;
15 	u32	bit;
16 };
17 
18 struct owl_reset {
19 	struct reset_controller_dev	rcdev;
20 	const struct owl_reset_map	*reset_map;
21 	struct regmap			*regmap;
22 };
23 
to_owl_reset(struct reset_controller_dev * rcdev)24 static inline struct owl_reset *to_owl_reset(struct reset_controller_dev *rcdev)
25 {
26 	return container_of(rcdev, struct owl_reset, rcdev);
27 }
28 
29 extern const struct reset_control_ops owl_reset_ops;
30 
31 #endif /* _OWL_RESET_H_ */
32