1 /*
2  * Copyright 2013 Broadcom Corporation.
3  *
4  * SPDX-License-Identifier:      GPL-2.0+
5  */
6 
7 /* This API file is loosely based on u-boot/drivers/video/ipu.h and linux */
8 
9 #ifndef __KONA_COMMON_CLK_H
10 #define __KONA_COMMON_CLK_H
11 
12 #include <linux/types.h>
13 
14 struct clk;
15 
16 /* Only implement required functions for your specific architecture */
17 int clk_init(void);
18 struct clk *clk_get(const char *id);
19 int clk_enable(struct clk *clk);
20 void clk_disable(struct clk *clk);
21 unsigned long clk_get_rate(struct clk *clk);
22 long clk_round_rate(struct clk *clk, unsigned long rate);
23 int clk_set_rate(struct clk *clk, unsigned long rate);
24 int clk_set_parent(struct clk *clk, struct clk *parent);
25 struct clk *clk_get_parent(struct clk *clk);
26 int clk_sdio_enable(void *base, u32 rate, u32 *actual_ratep);
27 int clk_bsc_enable(void *base);
28 int clk_usb_otg_enable(void *base);
29 
30 #endif
31