clk_rk3308.c 605 B

1234567891011121314151617181920212223242526272829303132
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
  4. */
  5. #include <common.h>
  6. #include <dm.h>
  7. #include <syscon.h>
  8. #include <asm/arch-rockchip/clock.h>
  9. #include <asm/arch/cru_rk3308.h>
  10. #include <linux/err.h>
  11. int rockchip_get_clk(struct udevice **devp)
  12. {
  13. return uclass_get_device_by_driver(UCLASS_CLK,
  14. DM_DRIVER_GET(rockchip_rk3308_cru), devp);
  15. }
  16. void *rockchip_get_cru(void)
  17. {
  18. struct rk3308_clk_priv *priv;
  19. struct udevice *dev;
  20. int ret;
  21. ret = rockchip_get_clk(&dev);
  22. if (ret)
  23. return ERR_PTR(ret);
  24. priv = dev_get_priv(dev);
  25. return priv->cru;
  26. }