reset-meson.h (c38ae95cd31c636ae21fff3e6a9250df680f0cdd) reset-meson.h (fb4c31587adfa9cd50661a535bdbfcc4da57ee38)
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
14struct meson_reset_param {
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
14struct meson_reset_param {
15 const struct reset_control_ops *reset_ops;
15 unsigned int reset_num;
16 unsigned int reset_offset;
17 unsigned int level_offset;
18 bool level_low_reset;
19};
20
21int meson_reset_controller_register(struct device *dev, struct regmap *map,
22 const struct meson_reset_param *param);
23
16 unsigned int reset_num;
17 unsigned int reset_offset;
18 unsigned int level_offset;
19 bool level_low_reset;
20};
21
22int meson_reset_controller_register(struct device *dev, struct regmap *map,
23 const struct meson_reset_param *param);
24
25extern const struct reset_control_ops meson_reset_ops;
26extern const struct reset_control_ops meson_reset_toggle_ops;
27
24#endif /* __MESON_RESET_H */
28#endif /* __MESON_RESET_H */