[PATCH 2/3] firmware: exynos-acpm: add DVFS protocol
Krzysztof Kozlowski
krzk at kernel.org
Sun Aug 24 10:11:38 PDT 2025
On 19/08/2025 13:45, Tudor Ambarus wrote:
> Add ACPM DVFS protocol handler. It constructs DVFS messages that
> the APM firmware can understand.
>
> Signed-off-by: Tudor Ambarus <tudor.ambarus at linaro.org>
> ---
> drivers/firmware/samsung/Makefile | 4 +-
> drivers/firmware/samsung/exynos-acpm-dvfs.c | 85 ++++++++++++++++++++++
> drivers/firmware/samsung/exynos-acpm-dvfs.h | 21 ++++++
> drivers/firmware/samsung/exynos-acpm.c | 5 ++
> .../linux/firmware/samsung/exynos-acpm-protocol.h | 10 +++
> 5 files changed, 124 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/samsung/Makefile b/drivers/firmware/samsung/Makefile
> index 7b4c9f6f34f54fd731886d97a615fe1aa97ba9a0..80d4f89b33a9558b68c9083da675c70ec3d05f19 100644
> --- a/drivers/firmware/samsung/Makefile
> +++ b/drivers/firmware/samsung/Makefile
> @@ -1,4 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0-only
>
> -acpm-protocol-objs := exynos-acpm.o exynos-acpm-pmic.o
> +acpm-protocol-objs := exynos-acpm.o
> +acpm-protocol-objs += exynos-acpm-pmic.o
> +acpm-protocol-objs += exynos-acpm-dvfs.o
> obj-$(CONFIG_EXYNOS_ACPM_PROTOCOL) += acpm-protocol.o
> diff --git a/drivers/firmware/samsung/exynos-acpm-dvfs.c b/drivers/firmware/samsung/exynos-acpm-dvfs.c
> new file mode 100644
> index 0000000000000000000000000000000000000000..ee457c1a3de2ff2e4395d9fc3ff4c13294473b2d
> --- /dev/null
> +++ b/drivers/firmware/samsung/exynos-acpm-dvfs.c
> @@ -0,0 +1,85 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright 2020 Samsung Electronics Co., Ltd.
> + * Copyright 2020 Google LLC.
> + * Copyright 2025 Linaro Ltd.
> + */
> +
> +#include <linux/bitfield.h>
> +#include <linux/firmware/samsung/exynos-acpm-protocol.h>
> +#include <linux/ktime.h>
> +#include <linux/types.h>
> +#include <linux/units.h>
> +
> +#include "exynos-acpm.h"
> +#include "exynos-acpm-dvfs.h"
> +
> +#define ACPM_DVFS_ID GENMASK(11, 0)
> +#define ACPM_DVFS_REQ_TYPE GENMASK(15, 0)
> +
> +enum exynos_acpm_dvfs_func {
> + ACPM_DVFS_FREQ_REQ,
> + ACPM_DVFS_FREQ_GET,
> +};
These are actual values for hardware/firmware? If so, please use rather
defines.
Rest looks good.
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list