History log of /optee_os/core/arch/arm/plat-k3/drivers/sa2ul.c (Results 1 – 10 of 10)
Revision Date Author Comments
# 5b6c7df7 20-Jun-2025 T Pratham <t-pratham@ti.com>

plat-k3: drivers: Refactor SA2UL driver

The EIP76D TRNG IP being used in current K3 devices is not unique to
SA2UL/SA3UL. The RNG driver can be reused in other devices containing
the same TRNG IP ou

plat-k3: drivers: Refactor SA2UL driver

The EIP76D TRNG IP being used in current K3 devices is not unique to
SA2UL/SA3UL. The RNG driver can be reused in other devices containing
the same TRNG IP outside of SA2UL/SA3UL.

Refactor the SA2UL and RNG driver to make EIP76D TRNG driver independent
of SA2UL.

Signed-off-by: T Pratham <t-pratham@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 58ad77ff 23-Apr-2025 Bryan Brattlof <bb@ti.com>

plat-k3: drivers: add platform flavors for 62A and 62P devices

Even though the SA2UL integration on the AM62Ax and AM62Px platforms are
functionally identical to the AM62x platforms many, when build

plat-k3: drivers: add platform flavors for 62A and 62P devices

Even though the SA2UL integration on the AM62Ax and AM62Px platforms are
functionally identical to the AM62x platforms many, when building
OP-TEE manually, are using the platform name they are building for and
not 'am62x' which leaves SA2UL_BASE undefined and to failed builds:

In file included from core/include/mm/core_memprot.h:9,
from core/include/kernel/interrupt.h:10,
from core/arch/arm/plat-k3/drivers/sa2ul_rng.c:12:
core/arch/arm/plat-k3/./platform_config.h:91:34: error: ‘SA2UL_BASE’ undeclared here (not in a function); did you mean ‘SCU_BASE’?
91 | #define RNG_BASE (SA2UL_BASE + 0x10000)
| ^~~~~~~~~~

For now let's just define the AM62Ax and AM62Px platform flavors
identical to how AM62x is defined and include an #else statement to
catch when a undefined platform flavor tries to build the SA2UL driver

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Andrew Davis <afd@ti.com>
Signed-off-by: Bryan Brattlof <bb@ti.com>

show more ...


# b1eb945e 27-Aug-2024 Manorit Chawdhry <m-chawdhry@ti.com>

plat-k3: drivers: Change SA2UL_init service to service_init_crypto

Since commit 11d8578d93f0 ("core: arm: call call_driver_initcalls()
late"), driver_init is deferred and thread_update_canaries trie

plat-k3: drivers: Change SA2UL_init service to service_init_crypto

Since commit 11d8578d93f0 ("core: arm: call call_driver_initcalls()
late"), driver_init is deferred and thread_update_canaries tries to get
random_stack_canaries which requires the TRNG driver to be setup. Since
it was being setup as part of driver_init, it lead to crash on K3
platforms.

Change driver_init to service_init_crypto which is meant to be used for
initialization of crypto operations. Also, for the TISCI services to be
available before service_init_crypto, change init_ti_sci invocation to
early_init_late.

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>

show more ...


# e313f476 13-Sep-2023 Kamlesh Gurudasani <kamlesh@ti.com>

plat-k3: drivers: Open TRNG firewall for TIFS

On devices with PLATFORM=k3-am62x, there is only one SA2UL instance,
which is being shared between TIFS and OP-TEE.

Blocking access to TRNG from all ot

plat-k3: drivers: Open TRNG firewall for TIFS

On devices with PLATFORM=k3-am62x, there is only one SA2UL instance,
which is being shared between TIFS and OP-TEE.

Blocking access to TRNG from all other entities other than OP-TEE
is causing firewall exception when being accessed by TIFS.

While there are other platforms with only one sa2ul instance, on AM62x
we support low power mode, in which TIFS access TRNG while waking up
from deep sleep. On other devices, use of TRNG by TIFS is limited to
the time till OP-TEE initializes and firewalls it for other entities.

Allow access to TIFS to use SA2UL TRNG along with OP-TEE.

Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>

show more ...


# 4621ea8b 14-Sep-2023 Kamlesh Gurudasani <kamlesh@ti.com>

plat-k3: drivers: Fix values for FW_SECURE_ONLY and FW_NON_SECURE

Fix values for permission bits for secure user, secure supervisor,
non-secure user and non-secure supervisor.

0th-7th bits are for

plat-k3: drivers: Fix values for FW_SECURE_ONLY and FW_NON_SECURE

Fix values for permission bits for secure user, secure supervisor,
non-secure user and non-secure supervisor.

0th-7th bits are for secure user/supervisor permissions and
8th-15th bits are for non-secure user/supervisor permission.

Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>

show more ...


# e48bcda2 06-Oct-2022 Jayesh Choudhary <j-choudhary@ti.com>

plat-k3: Add support for j784s4 platform

Add SA2UL and TRNG support for TI SoC J784S4 through OP-TEE.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Acked-

plat-k3: Add support for j784s4 platform

Add SA2UL and TRNG support for TI SoC J784S4 through OP-TEE.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
[jf: wrap line >80 characters]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# 115198b4 16-Aug-2022 Andrew Davis <afd@ti.com>

plat-k3: drivers: ti-sci: Do not print error when message not acknowledged

When the system controller firmware denies a request, we are informed
of this by the lack of an acknowledge flag in the res

plat-k3: drivers: ti-sci: Do not print error when message not acknowledged

When the system controller firmware denies a request, we are informed
of this by the lack of an acknowledge flag in the response. This is
not always an error in cases when we are only testing for permissions.
Do not print error messages in this path. The TI-SCI API caller will
still print the appropriate message if needed.

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# 5bf9286d 06-Aug-2022 Andrew Davis <afd@ti.com>

plat-k3: drivers: Set SA2UL firewall region addresses

This firewall region is normally already set to cover our RNG, but that
is not guaranteed. To ensure we actually protect the RNG with this regio

plat-k3: drivers: Set SA2UL firewall region addresses

This firewall region is normally already set to cover our RNG, but that
is not guaranteed. To ensure we actually protect the RNG with this region,
explicitly set the address here to the RNG start and end addresses.

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# 15a746d2 15-Jun-2022 Andrew Davis <afd@ti.com>

plat-k3: drivers: Fix SA2UL background firewall size

For GP devices this first firewall region should be a background region
that spans the whole address space managed by this firewall. This allows

plat-k3: drivers: Fix SA2UL background firewall size

For GP devices this first firewall region should be a background region
that spans the whole address space managed by this firewall. This allows
normal use of devices behind it even when not explicitly permitted.

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# bf9dfcc2 03-May-2022 Andrew Davis <afd@ti.com>

plat-k3: drivers: Add SA2UL RNG driver

TI K3 family devices contain a set of crypto accelerators under
the umbrella device SA2UL. Add support for setting up the power
and firewalls for this device.

plat-k3: drivers: Add SA2UL RNG driver

TI K3 family devices contain a set of crypto accelerators under
the umbrella device SA2UL. Add support for setting up the power
and firewalls for this device. Then add support for the TRNG
sub-device.

Signed-off-by: Andrew Davis <afd@ti.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...