xref: /OK3568_Linux_fs/u-boot/arch/arm/mach-rockchip/rv1108/clk_rv1108.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  * Author: Andy Yan <andy.yan@rock-chips.com>
4  * SPDX-License-Identifier:     GPL-2.0
5  */
6 
7 #include <common.h>
8 #include <dm.h>
9 #include <syscon.h>
10 #include <asm/arch/clock.h>
11 #include <asm/arch/cru_rv1108.h>
12 
rockchip_get_clk(struct udevice ** devp)13 int rockchip_get_clk(struct udevice **devp)
14 {
15 #ifndef CONFIG_SPL_BUILD
16 	return uclass_get_device_by_driver(UCLASS_CLK,
17 			DM_GET_DRIVER(clk_rv1108), devp);
18 #else
19 	return -1;
20 #endif
21 }
22 
rockchip_get_cru(void)23 void *rockchip_get_cru(void)
24 {
25 	struct rv1108_clk_priv *priv;
26 	struct udevice *dev;
27 	int ret;
28 
29 	ret = rockchip_get_clk(&dev);
30 	if (ret)
31 		return ERR_PTR(ret);
32 
33 	priv = dev_get_priv(dev);
34 
35 	return priv->cru;
36 }
37