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