Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / clk / actions / owl-reset.h
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
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_ */