reset-meson.h 737 B

12345678910111213141516171819202122232425262728
  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. #ifndef __MESON_RESET_H
  7. #define __MESON_RESET_H
  8. #include <linux/module.h>
  9. #include <linux/regmap.h>
  10. #include <linux/reset-controller.h>
  11. struct meson_reset_param {
  12. const struct reset_control_ops *reset_ops;
  13. unsigned int reset_num;
  14. unsigned int reset_offset;
  15. unsigned int level_offset;
  16. bool level_low_reset;
  17. };
  18. int meson_reset_controller_register(struct device *dev, struct regmap *map,
  19. const struct meson_reset_param *param);
  20. extern const struct reset_control_ops meson_reset_ops;
  21. extern const struct reset_control_ops meson_reset_toggle_ops;
  22. #endif /* __MESON_RESET_H */