History log of /optee_os/core/arch/arm/plat-stm32mp1/scmi_server.c (Results 1 – 25 of 42)
Revision Date Author Comments
# 0cffa1df 25-Nov-2024 Pascal Paillet <p.paillet@foss.st.com>

plat-stm32mp1: SCMI performance domain for CPU DVFS

Implement scmi-msg perf protocol platform handlers to drive CPU
voltage/frequency scaling support.

Co-developed-by: Etienne Carriere <etienne.car

plat-stm32mp1: SCMI performance domain for CPU DVFS

Implement scmi-msg perf protocol platform handlers to drive CPU
voltage/frequency scaling support.

Co-developed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# b18ace9b 22-Oct-2024 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: test reset/clock access against ETZPC config

Check whether or not an SCMI clock or SCMI reset domain can be accessed
using the firewall API instead of relying on shared_r

plat-stm32mp1: scmi_server: test reset/clock access against ETZPC config

Check whether or not an SCMI clock or SCMI reset domain can be accessed
using the firewall API instead of relying on shared_resources.c driver.
This latter is not useless since integration of the firewall framework
and will be soon removed.

Remove also the buggy tests on SCMI reset being exposed that relied
on wrong API function stm32mp_nsec_can_access_clock(). Test on reset
domain being accessible or not is now dynamically handled with
nsec_can_access_resource().

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>

show more ...


# da41b14d 22-Oct-2024 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: remove useless assertion on rstctrl

Remove useless assertion on reset controller handle value.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by

plat-stm32mp1: scmi_server: remove useless assertion on rstctrl

Remove useless assertion on reset controller handle value.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

show more ...


# cfd9e05e 11-Oct-2024 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: permit MCU reset upon remoteproc security

Forbid SCMI accesses to MCU reset controllers when remote processor
is to be managed through OP-TEE remoteproc services.

Signed

plat-stm32mp1: scmi_server: permit MCU reset upon remoteproc security

Forbid SCMI accesses to MCU reset controllers when remote processor
is to be managed through OP-TEE remoteproc services.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>

show more ...


# 297b2ca9 30-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: remove useless bounding of voltage levels

Remove bounding of regulators supported voltage levels according
to mix/max levels now that drivers take care of that.

Acked-by

plat-stm32mp1: scmi_server: remove useless bounding of voltage levels

Remove bounding of regulators supported voltage levels according
to mix/max levels now that drivers take care of that.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# ace929f0 23-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: regulator: fix variable sized voltages fallback

Fix build issue reported by Clang on variable size field desc
not being located at the end of struct voltages_fallback. The
error was reporte

drivers: regulator: fix variable sized voltages fallback

Fix build issue reported by Clang on variable size field desc
not being located at the end of struct voltages_fallback. The
error was reported with a trace message like below:

core/include/drivers/regulator.h:118:4: warning: field 'voltages_fallback' with variable sized type 'struct voltages_fallback' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
} voltages_fallback;
^
core/drivers/regulator/regulator_fixed.c:27:19: warning: field 'regulator' with variable sized type 'struct regulator' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
struct regulator regulator;
^
2 warnings generated.

To achieve this the variable size field entries is removed from
struct regulator_voltages that is renamed struct regulator_voltages_desc.
API function regulator_supported_voltages() and regulator drivers handler
function ::supported_voltages are updated the get 2 input arguments the
second being the levels arrays which size is defined by the description
argument.

Impacted sources files are updated accordingly.

Fixes: 43c155ba111d ("drivers: regulator: list supported levels")
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 26e4d95e 03-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: expose IOD regulators

Replace stubs with recently introduced IO domain regulators
in SCMI server for STM32MP13 variants.

Acked-by: Patrick Delaunay <patrick.delaunay@fos

plat-stm32mp1: scmi_server: expose IOD regulators

Replace stubs with recently introduced IO domain regulators
in SCMI server for STM32MP13 variants.

Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 6767c66b 07-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: simplify regulators identification

Explicitly use a name ID of PMIC regulators identification and a
numerical ID for PWR and stubbed regulators identification while
there

plat-stm32mp1: scmi_server: simplify regulators identification

Explicitly use a name ID of PMIC regulators identification and a
numerical ID for PWR and stubbed regulators identification while
there is only 1 VREFBUF regulator that doesn't need such ID.

Remove string comparison from name to ID conversion for PWR in order
to simplify later use of SDMMC IO domain regulators on STM32MP13
variants.

Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 305e38d9 16-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: report invalid regulator state request

Changes the SCMI return code from SCMI_GENERIC_ERROR to
SCMI_INVALID_PARAMETERS when the requested state is not one of
the 2 suppor

plat-stm32mp1: scmi_server: report invalid regulator state request

Changes the SCMI return code from SCMI_GENERIC_ERROR to
SCMI_INVALID_PARAMETERS when the requested state is not one of
the 2 supported SCMI voltage domain states
(SCMI_VOLTAGE_DOMAIN_CONFIG_ARCH_ON or
SCMI_VOLTAGE_DOMAIN_CONFIG_ARCH_OFF).

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 021eda8b 15-Nov-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: fix regulator framework integration

Fixes the return value when an SCMI regulator is already in
the expected state. Prior this change the implementation returned
SCMI_GEN

plat-stm32mp1: scmi_server: fix regulator framework integration

Fixes the return value when an SCMI regulator is already in
the expected state. Prior this change the implementation returned
SCMI_GENERIC_ERROR instead of SCMI_SUCCESS.

Fixes: 23e200628dad ("plat-stm32mp1: scmi_server: use registered regulators")
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 117fe695 11-Oct-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: enable boot on regulators

During SCMI server initialization, enable regulators that have
a boot-on property enabled.

Acked-by: Gatien Chevallier <gatien.chevallier@foss.

plat-stm32mp1: scmi_server: enable boot on regulators

During SCMI server initialization, enable regulators that have
a boot-on property enabled.

Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 7ee4daa9 13-Sep-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: deny access to regulators not probed

SCMI server denies access to regulators that are not initialized
hence cannot be exposed.

Acked-by: Gatien Chevallier <gatien.cheval

plat-stm32mp1: scmi_server: deny access to regulators not probed

SCMI server denies access to regulators that are not initialized
hence cannot be exposed.

Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 8f99d932 06-Sep-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: regulator supported levels

Implements stm32mp1 platform SCMI voltage domain level list based on
regulator_supported_voltages().

Acked-by: Gatien Chevallier <gatien.cheva

plat-stm32mp1: scmi_server: regulator supported levels

Implements stm32mp1 platform SCMI voltage domain level list based on
regulator_supported_voltages().

Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 23e20062 27-Jun-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: use registered regulators

Changes stm32mp1 platform SCMI server to use regulators registered
in the regulator framework instead of local handlers.
Getting the supported v

plat-stm32mp1: scmi_server: use registered regulators

Changes stm32mp1 platform SCMI server to use regulators registered
in the regulator framework instead of local handlers.
Getting the supported voltage list still uses a local function
until the regulator framework provides a suitable API function
for that purpose.

Stubbed regulators are still handled locally until their driver
is implemented.

Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# f1fc3324 22-Jun-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: stub stm32mp13 regulators

Implements stubs for SCMI regulators that are to be exposed by STM32MP13
SCMI server but are not implemented yet in OP-TEE core. The drivers for
these regula

plat-stm32mp1: stub stm32mp13 regulators

Implements stubs for SCMI regulators that are to be exposed by STM32MP13
SCMI server but are not implemented yet in OP-TEE core. The drivers for
these regulators (IOD SDMMC1/2 and VREFBUF) will be implemented once
there is a regulator framework in OP-TEE. In the meantime, stubbing those
allows to use the platform.

Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# 98c094e4 29-Jun-2023 Thomas Bourgoin <thomas.bourgoin@foss.st.com>

plat-stm32mp1: change log level in SCMI server

The SCMI server prints debug messages when handling some SCMI services.
At runtime this leads to a lot of traces and debug log level is too
verbose. Th

plat-stm32mp1: change log level in SCMI server

The SCMI server prints debug messages when handling some SCMI services.
At runtime this leads to a lot of traces and debug log level is too
verbose. Therefore change all debug traces to flow level for that
source file.

Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com>

show more ...


# 47801aeb 31-May-2023 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: scmi_server: support use of OP-TEE shared memory

Updates scmi_server configuration and implementation for the platform
to use OP-TEE native shared memory instead of device memory mapp

plat-stm32mp1: scmi_server: support use of OP-TEE shared memory

Updates scmi_server configuration and implementation for the platform
to use OP-TEE native shared memory instead of device memory mapped
SRAM for SCMI messages transfer. With this change, configuring
CFG_STM32MP1_SCMI_SHM_BASE to 0 allows such setup.

This change moves registration of CFG_STM32MP1_SCMI_SHM_BASE as
non-secure mapped device memory from main.c to scmi_server.c
to have all SCMI related platform resources defined from that
source file.

Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...


# b831e57b 16-Jan-2023 Etienne Carriere <etienne.carriere@linaro.org>

plat-stm32mp1: don't register SYSRAM twice when scmi-msg are enabled

Fixes stm32mp1 platform to not register the SCMI shared memory twice
when scmi-msg drivers are enable (CFG_SCMI_MSG_DRIVERS=y) an

plat-stm32mp1: don't register SYSRAM twice when scmi-msg are enabled

Fixes stm32mp1 platform to not register the SCMI shared memory twice
when scmi-msg drivers are enable (CFG_SCMI_MSG_DRIVERS=y) and SCP firmware
SCMI library disabled (CFG_SCMI_SCPFW=n). The faulty fixed referenced
commit introduced this duplicated device memory registration when adding
support for SCP firmware SCMI library where this registration was added
in main.c but not removed from plat-stm32mp1/scmi-server.c.

Before this fix, the debug trace below was printed:
D/TC:0 add_phys_mem:649 Physical mem map overlaps 0x2ffff000

Fixes: 986fccc8150b ("plat-stm32mp1: support building with CFG_SCMI_SCPFW=y")
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 4afbdbdd 01-Aug-2022 Anton Eliasson <anton.eliasson@axis.com>

drivers: scmi-msg: Propagate errors from platform voltd_get_level

plat_scmi_voltd_get_level is refactored to return an SCMI error code and
retrieve the voltage via an out parameter. This allows erro

drivers: scmi-msg: Propagate errors from platform voltd_get_level

plat_scmi_voltd_get_level is refactored to return an SCMI error code and
retrieve the voltage via an out parameter. This allows errors from the
platform SCMI server implementation to be propagated to the REE.

The implementation for stm32mp1 is updated to handle at least some
possible errors.

Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Anton Eliasson <anton.eliasson@axis.com>

show more ...


# dc357ecd 06-Jul-2022 Gatien Chevallier <gatien.chevallier@foss.st.com>

plat-stm32mp1: scmi_server update for STM32MP13

Update the SCMI server to support STM32MP13 and its SCMI domains: clock,
reset and voltage.

This change also remove the '0' index to the SCMI domains

plat-stm32mp1: scmi_server update for STM32MP13

Update the SCMI server to support STM32MP13 and its SCMI domains: clock,
reset and voltage.

This change also remove the '0' index to the SCMI domains in order to
align with Linux kernel.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 3a5e9803 07-Jun-2022 Gatien Chevallier <gatien.chevallier@foss.st.com>

plat-stm32mp1: remove SCMI0 channel index

Removes index 0 from SCMI DT binding ID macros and driver labels to
synchronize with Linux kernel 5.18 that considers a single SCMI
channel, see [1] and [2]

plat-stm32mp1: remove SCMI0 channel index

Removes index 0 from SCMI DT binding ID macros and driver labels to
synchronize with Linux kernel 5.18 that considers a single SCMI
channel, see [1] and [2].

Link: [1] https://lore.kernel.org/linux-arm-kernel/20220422150952.20587-4-alexandre.torgue@foss.st.com
Link: [2] https://lore.kernel.org/linux-arm-kernel/20220422150952.20587-5-alexandre.torgue@foss.st.com
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# b12fd496 13-Jun-2022 Gatien Chevallier <gatien.chevallier@foss.st.com>

plat-stm32mp1: scmi_server: removed unused channel SCMI1

Remove this SCMI channel from DT bindings and platform driver as it is
unused.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.c

plat-stm32mp1: scmi_server: removed unused channel SCMI1

Remove this SCMI channel from DT bindings and platform driver as it is
unused.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 37010ab7 07-Jun-2022 Gatien Chevallier <gatien.chevallier@foss.st.com>

plat-stm32mp1: use helper header file stm32mp_dt_bindings.h

Changes plat-stm32mp1 and its drivers to rely on stm32mp_dt_bindings.h
which simplifies support of both variants STM32MP15 and STM32MP13 t

plat-stm32mp1: use helper header file stm32mp_dt_bindings.h

Changes plat-stm32mp1 and its drivers to rely on stm32mp_dt_bindings.h
which simplifies support of both variants STM32MP15 and STM32MP13 that
will use each specific DT bindings.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 6685948b 10-May-2022 Etienne Carriere <etienne.carriere@linaro.org>

plat-stm32mp1: SCMI reset domains require rstctrl exclusivity

Changes platform to forbid access to SCMI reset domains for which reset
controller exclusivity was not acquired.

Acked-by: Jens Wikland

plat-stm32mp1: SCMI reset domains require rstctrl exclusivity

Changes platform to forbid access to SCMI reset domains for which reset
controller exclusivity was not acquired.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 5f2a35e4 19-Nov-2020 Etienne Carriere <etienne.carriere@linaro.org>

plat-stm32mp1: scmi: export some STPMIC1 regulators as voltage domains

Exposes STPMIC1 regulators through agent channel SCMI for platform
stm32mp1.

Acked-by: Jens Wiklander <jens.wiklander@linaro.o

plat-stm32mp1: scmi: export some STPMIC1 regulators as voltage domains

Exposes STPMIC1 regulators through agent channel SCMI for platform
stm32mp1.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


12