Clock patches for v2022.01-rc3
This adds better logging support for many CCF drivers, and clarifies some documentation regarding clk_get_rate. -----BEGIN PGP SIGNATURE----- iQGTBAABCgB9FiEEkGEdW86NSNID6GAoPuiP7LShEG4FAmG6Q2ZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDkw NjExRDVCQ0U4RDQ4RDIwM0U4NjAyODNFRTg4RkVDQjRBMTEwNkUACgkQPuiP7LSh EG4+Jgf/aExT2jxy58MTKmffdfL37+v8TL0IMuL7cD369TFXhZBpBq42nq9Ef+Zd PNnBgKe/vAt9u2nCBeEEIX7+HhPLXQt+OeH+d4kydjUJkGxrE6DBvJ4/+1yXo9p/ GcsqIyusTv2iDiHxxFoiCZaHHkjC2okhj0SSPvolPdoDFm0Ki1kNpPdv+QcOcm2j Q+yJsRHdmaKMvxSWGqImYGLWRDsdKbs8yczFc9ejphM5ARbbiJ70qgZO9UPuK+8g 8tGUT23GTC7on0ABabOEu0xdCH0x27rZkjANtfjuIqX9eTUyAUEbRfSvOwkHGnEr y6I2UZIVCoR6RfWqByGebG20Ri//ZQ== =1L3q -----END PGP SIGNATURE----- Merge tag 'clk-2022.01-rc3' of https://source.denx.de/u-boot/custodians/u-boot-clk Clock patches for v2022.01-rc3 This adds better logging support for many CCF drivers, and clarifies some documentation regarding clk_get_rate.
This commit is contained in:
commit
5b20efeafe
@ -4,14 +4,17 @@
|
||||
* Copyright 2019 NXP
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <malloc.h>
|
||||
#include <clk.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/io.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/devres.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <clk.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
@ -9,14 +9,18 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <malloc.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <log.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/devres.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <dm/lists.h>
|
||||
#include <dm/device_compat.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <linux/bug.h>
|
||||
#include <linux/clk-provider.h>
|
||||
@ -190,7 +194,7 @@ static struct clk *_register_divider(struct device *dev, const char *name,
|
||||
|
||||
if (clk_divider_flags & CLK_DIVIDER_HIWORD_MASK) {
|
||||
if (width + shift > 16) {
|
||||
pr_warn("divider value exceeds LOWORD field\n");
|
||||
dev_warn(dev, "divider value exceeds LOWORD field\n");
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
}
|
||||
|
@ -5,17 +5,22 @@
|
||||
*
|
||||
* Copyright (C) 2011 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <malloc.h>
|
||||
#include <clk.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <div64.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/devres.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <div64.h>
|
||||
#include <clk.h>
|
||||
#include "clk.h"
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
||||
#define UBOOT_DM_CLK_IMX_FIXED_FACTOR "ccf_clk_fixed_factor"
|
||||
|
||||
static ulong clk_factor_recalc_rate(struct clk *clk)
|
||||
|
@ -7,18 +7,23 @@
|
||||
* Gated clock implementation
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <malloc.h>
|
||||
#include <clk.h>
|
||||
#include <log.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/io.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/device_compat.h>
|
||||
#include <dm/devres.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <clk.h>
|
||||
#include "clk.h"
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
||||
#define UBOOT_DM_CLK_GATE "clk_gate"
|
||||
|
||||
/**
|
||||
@ -123,7 +128,7 @@ struct clk *clk_register_gate(struct device *dev, const char *name,
|
||||
|
||||
if (clk_gate_flags & CLK_GATE_HIWORD_MASK) {
|
||||
if (bit_idx > 15) {
|
||||
pr_err("gate bit exceeds LOWORD field\n");
|
||||
dev_err(dev, "gate bit exceeds LOWORD field\n");
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
}
|
||||
|
@ -21,17 +21,22 @@
|
||||
* clock.
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/io.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/device_compat.h>
|
||||
#include <dm/devres.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include "clk.h"
|
||||
|
||||
#define UBOOT_DM_CLK_CCF_MUX "ccf_clk_mux"
|
||||
@ -123,7 +128,7 @@ static int clk_mux_set_parent(struct clk *clk, struct clk *parent)
|
||||
|
||||
index = clk_fetch_parent_index(clk, parent);
|
||||
if (index < 0) {
|
||||
printf("Could not fetch index\n");
|
||||
log_err("Could not fetch index\n");
|
||||
return index;
|
||||
}
|
||||
|
||||
@ -169,7 +174,7 @@ struct clk *clk_hw_register_mux_table(struct device *dev, const char *name,
|
||||
if (clk_mux_flags & CLK_MUX_HIWORD_MASK) {
|
||||
width = fls(mask) - ffs(mask) + 1;
|
||||
if (width + shift > 16) {
|
||||
pr_err("mux value exceeds LOWORD field\n");
|
||||
dev_err(dev, "mux value exceeds LOWORD field\n");
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
#include <malloc.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <dm/device_compat.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <dm/devres.h>
|
||||
@ -23,7 +24,6 @@
|
||||
#include <linux/bug.h>
|
||||
#include <linux/clk-provider.h>
|
||||
#include <linux/err.h>
|
||||
#include <asm/global_data.h>
|
||||
|
||||
static inline const struct clk_ops *clk_dev_ops(struct udevice *dev)
|
||||
{
|
||||
|
@ -4,14 +4,16 @@
|
||||
* Lukasz Majewski, DENX Software Engineering, lukma@denx.de
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <clk.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <log.h>
|
||||
#include <dm/device.h>
|
||||
#include <dm/uclass.h>
|
||||
#include <dm/lists.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <clk.h>
|
||||
|
||||
int clk_register(struct clk *clk, const char *drv_name,
|
||||
const char *name, const char *parent_name)
|
||||
@ -22,24 +24,24 @@ int clk_register(struct clk *clk, const char *drv_name,
|
||||
|
||||
ret = uclass_get_device_by_name(UCLASS_CLK, parent_name, &parent);
|
||||
if (ret) {
|
||||
printf("%s: failed to get %s device (parent of %s)\n",
|
||||
__func__, parent_name, name);
|
||||
log_err("%s: failed to get %s device (parent of %s)\n",
|
||||
__func__, parent_name, name);
|
||||
} else {
|
||||
debug("%s: name: %s parent: %s [0x%p]\n", __func__, name,
|
||||
parent->name, parent);
|
||||
log_debug("%s: name: %s parent: %s [0x%p]\n", __func__, name,
|
||||
parent->name, parent);
|
||||
}
|
||||
|
||||
drv = lists_driver_lookup_name(drv_name);
|
||||
if (!drv) {
|
||||
printf("%s: %s is not a valid driver name\n",
|
||||
__func__, drv_name);
|
||||
log_err("%s: %s is not a valid driver name\n",
|
||||
__func__, drv_name);
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
ret = device_bind(parent, drv, name, NULL, ofnode_null(), &clk->dev);
|
||||
if (ret) {
|
||||
printf("%s: CLK: %s driver bind error [%d]!\n", __func__, name,
|
||||
ret);
|
||||
log_err("%s: CLK: %s driver bind error [%d]!\n", __func__, name,
|
||||
ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -5,10 +5,13 @@
|
||||
* Author: Anup Patel <anup.patel@wdc.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <div64.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
struct clk_fixed_factor {
|
||||
|
@ -3,9 +3,12 @@
|
||||
* Copyright (C) 2016 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*/
|
||||
|
||||
#define LOG_CATEGORY UCLASS_CLK
|
||||
|
||||
#include <common.h>
|
||||
#include <clk-uclass.h>
|
||||
#include <dm.h>
|
||||
#include <log.h>
|
||||
#include <dm/device-internal.h>
|
||||
#include <linux/clk-provider.h>
|
||||
|
||||
|
@ -389,7 +389,8 @@ int clk_free(struct clk *clk);
|
||||
*
|
||||
* @clk: A clock struct that was previously successfully requested by
|
||||
* clk_request/get_by_*().
|
||||
* @return clock rate in Hz, or -ve error code.
|
||||
* @return clock rate in Hz on success, 0 for invalid clock, or -ve error code
|
||||
* for other errors.
|
||||
*/
|
||||
ulong clk_get_rate(struct clk *clk);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user