[PATCH v3 4/7] drivers: misc: k3_avs: Extract MPU clk and dev ID from DT
Kumar, Udit
u-kumar1 at ti.com
Thu Aug 15 05:14:56 CEST 2024
On 8/13/2024 11:40 AM, Manorit Chawdhry wrote:
> Different devices have different MPU clk and dev ID. Currently it had
> been hardcoded. Move it to DT based extraction.
>
> Signed-off-by: Manorit Chawdhry <m-chawdhry at ti.com>
> ---
> drivers/misc/k3_avs.c | 37 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/drivers/misc/k3_avs.c b/drivers/misc/k3_avs.c
> index 568cf5b20d51..f94eee5b1c64 100644
> --- a/drivers/misc/k3_avs.c
> +++ b/drivers/misc/k3_avs.c
> @@ -352,6 +352,9 @@ static int k3_avs_probe(struct udevice *dev)
> struct k3_avs_privdata *priv;
> struct vd_data *vd;
> int ret;
> + ofnode node;
> + struct ofnode_phandle_args phandle_args;
> + int i = 0;
>
> priv = dev_get_priv(dev);
> priv->dev = dev;
> @@ -367,6 +370,34 @@ static int k3_avs_probe(struct udevice *dev)
> return -ENODEV;
>
> for (vd = priv->vd_config->vds; vd->id >= 0; vd++) {
> + /* Get the clock and dev id for Jacinto platforms */
> + if (vd->id == J721E_VDD_MPU) {
> + node = ofnode_get_aliases_node("remoteproc1");
My suggestion will be to search node based upon compatible name am654-rproc
> + if (!ofnode_valid(node))
> + return -ENODEV;
> +
> + i = ofnode_stringlist_search(node, "clock-names", "core");
> + if (i < 0)
> + return -ENODEV;
> +
> + debug("%s: i: %d\n", __func__, i);
I assume this was for your debug only, Please see if you can remove this
> +
> + ret = ofnode_parse_phandle_with_args(node, "clocks",
> + "#clock-cells",
> + 0, i,
> + &phandle_args);
> + if (ret) {
> + printf("Couldn't get the clock node\n");
> + return ret;
> + }
> +
> + vd->dev_id = phandle_args.args[0];
> + vd->clk_id = phandle_args.args[1];
> +
> + debug("%s: MPU dev_id: %d, clk_id: %d", __func__,
> + vd->dev_id, vd->clk_id);
> + }
> +
> if (!(readl(AM6_VTM_DEVINFO(vd->id)) &
> AM6_VTM_AVS0_SUPPORTED)) {
> dev_warn(dev, "AVS-class 0 not supported for VD%d\n",
> @@ -463,6 +494,12 @@ static struct vd_data j721e_vd_data[] = {
> {
> .id = J721E_VDD_MPU,
> .opp = AM6_OPP_NOM,
> + /*
> + * XXX: DEPRECATION WARNING: Around 2 u-boot versions
> + *
> + * These values will be picked up from DT, kept for backward
> + * compatibility
> + */
> .dev_id = 202, /* J721E_DEV_A72SS0_CORE0 */
> .clk_id = 2, /* ARM clock */
> .opps = {
>
More information about the U-Boot
mailing list