1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Toshiba ARM SoC reset controller driver |
4 | * |
5 | * Copyright (c) 2021 TOSHIBA CORPORATION |
6 | * |
7 | * Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> |
8 | */ |
9 | |
10 | #ifndef _VISCONTI_RESET_H_ |
11 | #define _VISCONTI_RESET_H_ |
12 | |
13 | #include <linux/reset-controller.h> |
14 | |
15 | struct visconti_reset_data { |
16 | u32 rson_offset; |
17 | u32 rsoff_offset; |
18 | u8 rs_idx; |
19 | }; |
20 | |
21 | struct visconti_reset { |
22 | struct reset_controller_dev rcdev; |
23 | struct regmap *regmap; |
24 | const struct visconti_reset_data *resets; |
25 | spinlock_t *lock; |
26 | }; |
27 | |
28 | extern const struct reset_control_ops visconti_reset_ops; |
29 | |
30 | int visconti_register_reset_controller(struct device *dev, |
31 | struct regmap *regmap, |
32 | const struct visconti_reset_data *resets, |
33 | unsigned int num_resets, |
34 | const struct reset_control_ops *reset_ops, |
35 | spinlock_t *lock); |
36 | #endif /* _VISCONTI_RESET_H_ */ |
37 | |