blob: 6a06afb103ba11ad0e00da86672cb7c44645430f [file] [log] [blame]
Simon Glass3814f0e2016-10-01 20:04:50 -06001/*
2 * Copyright (C) 2016 Google, Inc
3 * Written by Simon Glass <sjg@chromium.org>
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8#include <common.h>
9#include <dm.h>
10#include <syscon.h>
11#include <asm/arch/clock.h>
12#include <asm/arch/cru_rk3036.h>
13
14int rockchip_get_clk(struct udevice **devp)
15{
16 return uclass_get_device_by_driver(UCLASS_CLK,
17 DM_GET_DRIVER(rockchip_rk3036_cru), devp);
18}
19
20void *rockchip_get_cru(void)
21{
22 struct rk3036_clk_priv *priv;
23 struct udevice *dev;
24 int ret;
25
26 ret = rockchip_get_clk(&dev);
27 if (ret)
28 return ERR_PTR(ret);
29
30 priv = dev_get_priv(dev);
31
32 return priv->cru;
33}