Linux Audio

Check our new training course

Buildroot integration, development and maintenance

Need a Buildroot system for your embedded project?
Loading...
v6.13.7
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2//
 3// OWL common clock driver
 4//
 5// Copyright (c) 2014 Actions Semi Inc.
 6// Author: David Liu <liuwei@actions-semi.com>
 7//
 8// Copyright (c) 2018 Linaro Ltd.
 9// Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
10
11#ifndef _OWL_COMMON_H_
12#define _OWL_COMMON_H_
13
14#include <linux/clk-provider.h>
 
15#include <linux/regmap.h>
16
17struct device_node;
18struct platform_device;
19
20struct owl_clk_common {
21	struct regmap			*regmap;
22	struct clk_hw			hw;
23};
24
25struct owl_clk_desc {
26	struct owl_clk_common		**clks;
27	unsigned long			num_clks;
28	struct clk_hw_onecell_data	*hw_clks;
29	const struct owl_reset_map	*resets;
30	unsigned long			num_resets;
31	struct regmap			*regmap;
32};
33
34static inline struct owl_clk_common *
35	hw_to_owl_clk_common(const struct clk_hw *hw)
36{
37	return container_of(hw, struct owl_clk_common, hw);
38}
39
40int owl_clk_regmap_init(struct platform_device *pdev,
41			struct owl_clk_desc *desc);
42int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks);
43
44#endif /* _OWL_COMMON_H_ */
v5.9
 1/* SPDX-License-Identifier: GPL-2.0+ */
 2//
 3// OWL common clock driver
 4//
 5// Copyright (c) 2014 Actions Semi Inc.
 6// Author: David Liu <liuwei@actions-semi.com>
 7//
 8// Copyright (c) 2018 Linaro Ltd.
 9// Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
10
11#ifndef _OWL_COMMON_H_
12#define _OWL_COMMON_H_
13
14#include <linux/clk-provider.h>
15#include <linux/of_platform.h>
16#include <linux/regmap.h>
17
18struct device_node;
 
19
20struct owl_clk_common {
21	struct regmap			*regmap;
22	struct clk_hw			hw;
23};
24
25struct owl_clk_desc {
26	struct owl_clk_common		**clks;
27	unsigned long			num_clks;
28	struct clk_hw_onecell_data	*hw_clks;
29	const struct owl_reset_map	*resets;
30	unsigned long			num_resets;
31	struct regmap			*regmap;
32};
33
34static inline struct owl_clk_common *
35	hw_to_owl_clk_common(const struct clk_hw *hw)
36{
37	return container_of(hw, struct owl_clk_common, hw);
38}
39
40int owl_clk_regmap_init(struct platform_device *pdev,
41			struct owl_clk_desc *desc);
42int owl_clk_probe(struct device *dev, struct clk_hw_onecell_data *hw_clks);
43
44#endif /* _OWL_COMMON_H_ */