mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
dm: clk: Add a simple version of clk_get_by_index()
This function adds quite a bit of code to SPL and we probably don't need all the features in SPL. Add a simple version (for SPL only) to save space. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
364809de31
commit
a4b10c088c
1 changed files with 17 additions and 1 deletions
|
@ -67,8 +67,23 @@ ulong clk_set_periph_rate(struct udevice *dev, int periph, ulong rate)
|
|||
#if CONFIG_IS_ENABLED(OF_CONTROL)
|
||||
int clk_get_by_index(struct udevice *dev, int index, struct udevice **clk_devp)
|
||||
{
|
||||
struct fdtdec_phandle_args args;
|
||||
int ret;
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
u32 cell[2];
|
||||
|
||||
if (index != 0)
|
||||
return -ENOSYS;
|
||||
assert(*clk_devp);
|
||||
ret = uclass_get_device(UCLASS_CLK, 0, clk_devp);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = fdtdec_get_int_array(gd->fdt_blob, dev->of_offset, "clocks",
|
||||
cell, 2);
|
||||
if (ret)
|
||||
return ret;
|
||||
return cell[1];
|
||||
#else
|
||||
struct fdtdec_phandle_args args;
|
||||
|
||||
assert(*clk_devp);
|
||||
ret = fdtdec_parse_phandle_with_args(gd->fdt_blob, dev->of_offset,
|
||||
|
@ -87,6 +102,7 @@ int clk_get_by_index(struct udevice *dev, int index, struct udevice **clk_devp)
|
|||
return ret;
|
||||
}
|
||||
return args.args_count > 0 ? args.args[0] : 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue