|
@@ -57,6 +57,23 @@ static inline unsigned int log2(unsigned int value)
|
|
|
return fls(value) - 1;
|
|
|
}
|
|
|
|
|
|
+void *rockchip_get_cru(void)
|
|
|
+{
|
|
|
+ struct udevice *dev;
|
|
|
+ fdt_addr_t addr;
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = uclass_get_device(UCLASS_CLK, 0, &dev);
|
|
|
+ if (ret)
|
|
|
+ return ERR_PTR(ret);
|
|
|
+
|
|
|
+ addr = dev_get_addr(dev);
|
|
|
+ if (addr == FDT_ADDR_T_NONE)
|
|
|
+ return ERR_PTR(-EINVAL);
|
|
|
+
|
|
|
+ return (void *)addr;
|
|
|
+}
|
|
|
+
|
|
|
static int rkclk_set_pll(struct rk3036_cru *cru, enum rk_clk_id clk_id,
|
|
|
const struct pll_div *div)
|
|
|
{
|