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 | |
11 | #ifndef __MESON_AOCLK_H__ |
12 | #define __MESON_AOCLK_H__ |
13 | |
14 | #include <linux/clk-provider.h> |
15 | #include <linux/platform_device.h> |
16 | #include <linux/regmap.h> |
17 | #include <linux/reset-controller.h> |
18 | |
19 | #include "clk-regmap.h" |
20 | #include "meson-clkc-utils.h" |
21 | |
22 | struct meson_aoclk_data { |
23 | const unsigned int reset_reg; |
24 | const int num_reset; |
25 | const unsigned int *reset; |
26 | const int num_clks; |
27 | struct clk_regmap **clks; |
28 | struct meson_clk_hw_data hw_clks; |
29 | }; |
30 | |
31 | struct meson_aoclk_reset_controller { |
32 | struct reset_controller_dev reset; |
33 | const struct meson_aoclk_data *data; |
34 | struct regmap *regmap; |
35 | }; |
36 | |
37 | int meson_aoclkc_probe(struct platform_device *pdev); |
38 | #endif |
39 |