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