Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 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 | |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 14 | #include <linux/clk-provider.h> |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 15 | #include <linux/platform_device.h> |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 16 | #include <linux/regmap.h> |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 17 | #include <linux/reset-controller.h> |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 18 | |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 19 | #include "clk-regmap.h" |
| 20 | |
| 21 | struct meson_aoclk_data { |
| 22 | const unsigned int reset_reg; |
| 23 | const int num_reset; |
| 24 | const unsigned int *reset; |
David Brazdil | 0f672f6 | 2019-12-10 10:32:29 +0000 | [diff] [blame^] | 25 | const int num_clks; |
Andrew Scull | b4b6d4a | 2019-01-02 15:54:55 +0000 | [diff] [blame] | 26 | struct clk_regmap **clks; |
| 27 | const struct clk_hw_onecell_data *hw_data; |
| 28 | }; |
| 29 | |
| 30 | struct meson_aoclk_reset_controller { |
| 31 | struct reset_controller_dev reset; |
| 32 | const struct meson_aoclk_data *data; |
| 33 | struct regmap *regmap; |
| 34 | }; |
| 35 | |
| 36 | int meson_aoclkc_probe(struct platform_device *pdev); |
| 37 | #endif |