1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (c) 2024 BayLibre, SAS. 4 * Author: Jerome Brunet <jbrunet@baylibre.com> 5 */ 6 7 #ifndef __MESON_RESET_H 8 #define __MESON_RESET_H 9 10 #include <linux/module.h> 11 #include <linux/regmap.h> 12 #include <linux/reset-controller.h> 13 14 struct meson_reset_param { 15 const struct reset_control_ops *reset_ops; 16 unsigned int reset_num; 17 unsigned int reset_offset; 18 unsigned int level_offset; 19 bool level_low_reset; 20 }; 21 22 int meson_reset_controller_register(struct device *dev, struct regmap *map, 23 const struct meson_reset_param *param); 24 25 extern const struct reset_control_ops meson_reset_ops; 26 extern const struct reset_control_ops meson_reset_toggle_ops; 27 28 #endif /* __MESON_RESET_H */ 29