reset.h 674 B

1234567891011121314151617181920212223242526272829303132
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __MACH_MMP_CLK_RESET_H
  3. #define __MACH_MMP_CLK_RESET_H
  4. #include <linux/reset-controller.h>
  5. #define MMP_RESET_INVERT 1
  6. struct mmp_clk_reset_cell {
  7. unsigned int clk_id;
  8. void __iomem *reg;
  9. u32 bits;
  10. unsigned int flags;
  11. spinlock_t *lock;
  12. };
  13. struct mmp_clk_reset_unit {
  14. struct reset_controller_dev rcdev;
  15. struct mmp_clk_reset_cell *cells;
  16. };
  17. #ifdef CONFIG_RESET_CONTROLLER
  18. void mmp_clk_reset_register(struct device_node *np,
  19. struct mmp_clk_reset_cell *cells, int nr_resets);
  20. #else
  21. static inline void mmp_clk_reset_register(struct device_node *np,
  22. struct mmp_clk_reset_cell *cells, int nr_resets)
  23. {
  24. }
  25. #endif
  26. #endif