meson-aoclk.h 929 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
  2. /*
  3. * Copyright (c) 2017 BayLibre, SAS
  4. * Author: Neil Armstrong <narmstrong@baylibre.com>
  5. *
  6. * Copyright (c) 2018 Amlogic, inc.
  7. * Author: Qiufang Dai <qiufang.dai@amlogic.com>
  8. * Author: Yixun Lan <yixun.lan@amlogic.com>
  9. */
  10. #ifndef __MESON_AOCLK_H__
  11. #define __MESON_AOCLK_H__
  12. #include <linux/clk-provider.h>
  13. #include <linux/platform_device.h>
  14. #include <linux/regmap.h>
  15. #include <linux/reset-controller.h>
  16. #include "clk-regmap.h"
  17. #include "meson-clkc-utils.h"
  18. struct meson_aoclk_data {
  19. const unsigned int reset_reg;
  20. const int num_reset;
  21. const unsigned int *reset;
  22. const int num_clks;
  23. struct clk_regmap **clks;
  24. struct meson_clk_hw_data hw_clks;
  25. };
  26. struct meson_aoclk_reset_controller {
  27. struct reset_controller_dev reset;
  28. const struct meson_aoclk_data *data;
  29. struct regmap *regmap;
  30. };
  31. int meson_aoclkc_probe(struct platform_device *pdev);
  32. #endif