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