]>
Commit | Line | Data |
---|---|---|
2a950e3b JC |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* | |
3 | * (C) Copyright 2021 Rockchip Electronics Co., Ltd | |
4 | */ | |
5 | ||
d678a59d | 6 | #include <common.h> |
2a950e3b JC |
7 | #include <dm.h> |
8 | #include <syscon.h> | |
9 | #include <asm/arch-rockchip/clock.h> | |
10 | #include <asm/arch-rockchip/cru_rk3568.h> | |
11 | #include <linux/err.h> | |
12 | ||
13 | int rockchip_get_clk(struct udevice **devp) | |
14 | { | |
15 | return uclass_get_device_by_driver(UCLASS_CLK, | |
16 | DM_DRIVER_GET(rockchip_rk3568_cru), devp); | |
17 | } | |
18 | ||
19 | void *rockchip_get_cru(void) | |
20 | { | |
21 | struct rk3568_clk_priv *priv; | |
22 | struct udevice *dev; | |
23 | int ret; | |
24 | ||
25 | ret = rockchip_get_clk(&dev); | |
26 | if (ret) | |
27 | return ERR_PTR(ret); | |
28 | ||
29 | priv = dev_get_priv(dev); | |
30 | ||
31 | return priv->cru; | |
32 | } | |
33 | ||
34 | static int rockchip_get_pmucruclk(struct udevice **devp) | |
35 | { | |
36 | return uclass_get_device_by_driver(UCLASS_CLK, | |
37 | DM_DRIVER_GET(rockchip_rk3568_pmucru), devp); | |
38 | } | |
39 | ||
40 | void *rockchip_get_pmucru(void) | |
41 | { | |
42 | struct rk3568_pmuclk_priv *priv; | |
43 | struct udevice *dev; | |
44 | int ret; | |
45 | ||
46 | ret = rockchip_get_pmucruclk(&dev); | |
47 | if (ret) | |
48 | return ERR_PTR(ret); | |
49 | ||
50 | priv = dev_get_priv(dev); | |
51 | ||
52 | return priv->pmucru; | |
53 | } |