History log of /optee_os/core/include/kernel/ (Results 201 – 225 of 429)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
61bdedea13-Jan-2022 Jerome Forissier <jerome@forissier.org>

core: define DT drivers using scattered arrays

Replace the specific mechanism used to define and enumerate DT drivers
with scattered arrays. Doing so simplifies the TEE linker file a bit.

Signed-of

core: define DT drivers using scattered arrays

Replace the specific mechanism used to define and enumerate DT drivers
with scattered arrays. Doing so simplifies the TEE linker file a bit.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8ae7e41814-Dec-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: fix result argument description get_of_device_func

Fixes inline description of type get_of_device_func that falsely mentions
TEE_ERROR_BUSY instead of TEE_ERROR_DEFER_DRIVER_INIT wh

core: dt_driver: fix result argument description get_of_device_func

Fixes inline description of type get_of_device_func that falsely mentions
TEE_ERROR_BUSY instead of TEE_ERROR_DEFER_DRIVER_INIT when expected
resource requests deferral of the driver probing.

Fixes: d8b14b46af9d ("core: dt_driver: get return code when querying a device")
Acked-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/spmc_sp_handler.h
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/mm/sp_mem.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sam/pm/psci.c
/optee_os/core/arch/arm/plat-sam/pm/sub.mk
/optee_os/core/arch/arm/plat-sam/sub.mk
/optee_os/core/arch/arm/plat-vexpress/conf.mk
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/drivers/crypto/caam/caam_rng.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_rng.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_cfg.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_clk.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_ctrl.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_jr.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/hal_rng.c
/optee_os/core/drivers/crypto/caam/hal/imx_8q/registers/ctrl_regs.h
/optee_os/core/drivers/crypto/caam/hal/imx_8q/sub.mk
/optee_os/core/drivers/crypto/caam/hal/sub.mk
/optee_os/core/drivers/crypto/caam/include/caam_hal_rng.h
/optee_os/core/drivers/crypto/caam/include/caam_status.h
/optee_os/core/drivers/crypto/crypto_api/acipher/rsa.c
dt_driver.h
/optee_os/core/include/mm/mobj.h
/optee_os/core/include/mm/sp_mem.h
/optee_os/core/include/mm/vm.h
/optee_os/core/kernel/msg_param.c
/optee_os/core/kernel/pseudo_ta.c
/optee_os/core/kernel/ree_fs_ta.c
/optee_os/core/kernel/user_ta.c
/optee_os/core/mm/mobj.c
/optee_os/core/mm/vm.c
/optee_os/core/pta/benchmark.c
/optee_os/core/pta/gprof.c
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_supp_plugin_rpc.c
/optee_os/core/tee/tee_svc.c
/optee_os/lib/libutee/tee_api_operations.c
/optee_os/lib/libutils/ext/mempool.c
/optee_os/lib/libutils/isoc/bget_malloc.c
/optee_os/lib/libutils/isoc/include/malloc.h
/optee_os/mk/config.mk
/optee_os/scripts/sign_encrypt.py
/optee_os/ta/pkcs11/src/object.c
c2d4494820-Apr-2021 Jens Wiklander <jens.wiklander@linaro.org>

core: add asynchronous notifications

Adds support for asynchronous notifications from secure world to normal
world. This allows a design with a top half and bottom half type of
driver where the top

core: add asynchronous notifications

Adds support for asynchronous notifications from secure world to normal
world. This allows a design with a top half and bottom half type of
driver where the top half runs in secure interrupt context and a
notifications tells normal world to schedule a yielding call to do the
bottom half processing.

The protocol is defined in optee_msg.h optee_rpc_cmd.h and optee_smc.h.

A notification consists of a 32-bit value which normal world can
retrieve using a fastcall into secure world. OP-TEE is currently only
supporting the value 0-63 where 0 has a special meaning. When 0 is sent
it means that normal world is supposed to make a yielding call
OPTEE_MSG_CMD_DO_BOTTOM_HALF.

The notification framework in OP-TEE defines an interface where drivers
can register a callback which is called on each yielding bottom half
call.

Notification capability is negotiated with the normal world while it
initializes its driver. If both sides supports these notifications then
they are enabled.

CFG_CORE_ASYNC_NOTIF_GIC_INTID is added to define the hardware interrupt
used to notify normal world. This is added to the DTB in case OP-TEE can
is configured with CFG_DT=y. Other cases requires the normal world DTB
to be kept in sync with this.

Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2828809e20-Apr-2021 Jens Wiklander <jens.wiklander@linaro.org>

core: add new interface for synchronous notifications

Adds a new interface for synchronous notifications. The old RPC
interface based on OPTEE_RPC_CMD_WAIT_QUEUE is renamed to
OPTEE_RPC_CMD_NOTIFICA

core: add new interface for synchronous notifications

Adds a new interface for synchronous notifications. The old RPC
interface based on OPTEE_RPC_CMD_WAIT_QUEUE is renamed to
OPTEE_RPC_CMD_NOTIFICATION in order to match the new interface.

Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.github/workflows/stales.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/crypto/aes_modes_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/ghash-ce-core_a64.S
/optee_os/core/arch/arm/crypto/sha1_armv8a_ce_a64.S
/optee_os/core/arch/arm/crypto/sha256_armv8a_ce_a64.S
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/kernel/cache_helpers_a64.S
/optee_os/core/arch/arm/kernel/entry_a64.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/ldelf_loader.c
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/misc_a64.S
/optee_os/core/arch/arm/kernel/spin_lock_a64.S
/optee_os/core/arch/arm/kernel/stmm_sp.c
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_a64.S
/optee_os/core/arch/arm/kernel/thread_spmc_a64.S
/optee_os/core/arch/arm/kernel/tlb_helpers_a64.S
/optee_os/core/arch/arm/kernel/trace_ext.c
/optee_os/core/arch/arm/kernel/vfp_a64.S
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/mobj_ffa.c
/optee_os/core/arch/arm/tee/arch_svc_a64.S
/optee_os/core/drivers/atmel_shdwc.c
/optee_os/core/drivers/atmel_shdwc_a32.S
/optee_os/core/drivers/atmel_trng.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/crypto/caam/acipher/caam_dh.c
/optee_os/core/drivers/crypto/caam/acipher/caam_ecc.c
/optee_os/core/drivers/crypto/caam/acipher/caam_math.c
/optee_os/core/drivers/crypto/caam/acipher/caam_rsa.c
/optee_os/core/drivers/crypto/caam/caam_ctrl.c
/optee_os/core/drivers/crypto/caam/hash/caam_hash.c
/optee_os/core/drivers/crypto/caam/hash/caam_hash_mac.c
/optee_os/core/drivers/crypto/caam/include/caam_acipher.h
/optee_os/core/drivers/crypto/caam/include/caam_hash.h
/optee_os/core/drivers/crypto/se050/adaptors/include/se050_sss_apis.h
/optee_os/core/drivers/crypto/se050/adaptors/include/se050_utils.h
/optee_os/core/drivers/crypto/se050/adaptors/utils/info.c
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/core/rsa.c
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/crypto/se050/session.c
/optee_os/core/drivers/sub.mk
/optee_os/core/include/drivers/atmel_shdwc.h
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/gic.h
/optee_os/core/include/drivers/sam/at91_ddr.h
notif.h
/optee_os/core/include/mm/tee_mmu_types.h
/optee_os/core/include/optee_rpc_cmd.h
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/ldelf_syscalls.c
/optee_os/core/kernel/notif.c
/optee_os/core/kernel/sub.mk
/optee_os/core/kernel/wait_queue.c
/optee_os/core/lib/libtomcrypt/mpi_desc.c
/optee_os/core/mm/vm.c
/optee_os/core/tee/tee_svc.c
/optee_os/ldelf/include/ldelf.h
/optee_os/ldelf/ldelf.ld.S
/optee_os/ldelf/link.mk
/optee_os/ldelf/start_a64.S
/optee_os/ldelf/syscalls_a64.S
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/ldelf/tlsdesc_rel_a64.S
/optee_os/lib/libutee/arch/arm/utee_syscalls_a64.S
/optee_os/lib/libutee/include/elf_common.h
/optee_os/lib/libutils/ext/arch/arm/atomic_a64.S
/optee_os/lib/libutils/ext/arch/arm/mcount_a64.S
/optee_os/lib/libutils/ext/include/arm64_bti.S
/optee_os/lib/libutils/ext/include/asm.S
/optee_os/lib/libutils/ext/include/trace.h
/optee_os/lib/libutils/ext/mempool.c
/optee_os/lib/libutils/ext/trace.c
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a64.S
/optee_os/lib/libutils/isoc/include/stdio.h
/optee_os/lib/libutils/isoc/qsort.c
/optee_os/lib/libutils/isoc/sprintf.c
/optee_os/mk/config.mk
/optee_os/mk/lib.mk
/optee_os/scripts/checkpatch_inc.sh
/optee_os/ta/arch/arm/link.mk
/optee_os/ta/arch/arm/link_shlib.mk
/optee_os/ta/arch/arm/ta.ld.S
/optee_os/ta/ta.mk
3de8f0de25-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: helper for dependency on crypt service

Adds dt_driver_get_crypto() function to allow drivers to request
probe deferral when depending on core crypto services. For that purpose
tee_c

core: dt_driver: helper for dependency on crypt service

Adds dt_driver_get_crypto() function to allow drivers to request
probe deferral when depending on core crypto services. For that purpose
tee_cryp_init() is changed to call dt_driver_crypt_init_complete() once
crypt layer initialization completes.

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

show more ...

670fa4aa01-Dec-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt: prevent build failure when CFG_DT is disabled

Fixes dt.h to prevent build failure when dt_driver.h is pre-compiled
while CFG_DT is disabled. Below are examples of such build error traces:

core: dt: prevent build failure when CFG_DT is disabled

Fixes dt.h to prevent build failure when dt_driver.h is pre-compiled
while CFG_DT is disabled. Below are examples of such build error traces:

core/include/kernel/dt_driver.h:61:29: warning: ‘enum dt_driver_type’ declared inside parameter list will not be visible outside of this definition or declaration
61 | void *data, enum dt_driver_type type);
| ^~~~~~~~~~~~~~
core/include/drivers/clk_dt.h: In function ‘clk_dt_register_clk_provider’:
core/include/drivers/clk_dt.h:101:15: error: ‘DT_DRIVER_CLK’ undeclared (first use in this function); did you mean ‘CFG_DRIVERS_CLK’?
101 | data, DT_DRIVER_CLK);
| ^~~~~~~~~~~~~

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

show more ...

8dca59b419-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: use driver type when finding a driver provider

Adds driver type argument to functions dt_driver_get_provider_by_node(),
and dt_driver_get_provider_by_phandle() to differentiate driv

core: dt_driver: use driver type when finding a driver provider

Adds driver type argument to functions dt_driver_get_provider_by_node(),
and dt_driver_get_provider_by_phandle() to differentiate driver provider
references when a single DT node relates to several driver providers
that are of different type by DT binding definition. For example, a DT
node may describe a device that acts both as a clock provider and a reset
controller, for which two driver references are needed in the driver
provider list.

Updates dt_driver_device_from_node_idx_prop() accordingly.

Fixes: f498c4042931 ("core: dt_driver: factorize clk_get_provider_by_*()")
Acked-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

c020046d23-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt: fix inline description of _fdt_get_status()

Corrects inline comment describing _fdt_get_status() helper function.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Etien

core: dt: fix inline description of _fdt_get_status()

Corrects inline comment describing _fdt_get_status() helper function.

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

show more ...


/optee_os/.azure-pipelines.yml
/optee_os/core/arch/arm/kernel/boot.c
/optee_os/core/arch/arm/kernel/tee_time.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/mobj_dyn_shm.c
/optee_os/core/arch/arm/mm/tee_mm.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-mediatek/conf.mk
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-rzn1/conf.mk
/optee_os/core/arch/arm/plat-rzn1/main.c
/optee_os/core/arch/arm/plat-rzn1/sm_platform_handler.c
/optee_os/core/arch/arm/plat-sam/conf.mk
/optee_os/core/arch/arm/plat-sam/sam_sfr.h
/optee_os/core/crypto/sub.mk
/optee_os/core/drivers/clk/sam/at91_audio_pll.c
/optee_os/core/drivers/clk/sam/at91_clk.h
/optee_os/core/drivers/clk/sam/at91_generated.c
/optee_os/core/drivers/clk/sam/at91_h32mx.c
/optee_os/core/drivers/clk/sam/at91_i2s_mux.c
/optee_os/core/drivers/clk/sam/at91_main.c
/optee_os/core/drivers/clk/sam/at91_master.c
/optee_os/core/drivers/clk/sam/at91_peripheral.c
/optee_os/core/drivers/clk/sam/at91_pll.c
/optee_os/core/drivers/clk/sam/at91_plldiv.c
/optee_os/core/drivers/clk/sam/at91_pmc.c
/optee_os/core/drivers/clk/sam/at91_pmc.h
/optee_os/core/drivers/clk/sam/at91_programmable.c
/optee_os/core/drivers/clk/sam/at91_sckc.c
/optee_os/core/drivers/clk/sam/at91_system.c
/optee_os/core/drivers/clk/sam/at91_usb.c
/optee_os/core/drivers/clk/sam/at91_utmi.c
/optee_os/core/drivers/clk/sam/sama5d2_clk.c
/optee_os/core/drivers/clk/sam/sub.mk
/optee_os/core/drivers/clk/sub.mk
/optee_os/core/drivers/crypto/se050/adaptors/apis/apdu.c
/optee_os/core/drivers/crypto/se050/adaptors/include/se050_utils.h
/optee_os/core/drivers/crypto/se050/adaptors/utils/scp_config.c
/optee_os/core/drivers/crypto/se050/adaptors/utils/utils.c
/optee_os/core/drivers/crypto/se050/core/apdu.c
/optee_os/core/drivers/crypto/se050/core/ctr.c
/optee_os/core/drivers/crypto/se050/core/die_id.c
/optee_os/core/drivers/crypto/se050/core/ecc.c
/optee_os/core/drivers/crypto/se050/core/rsa.c
/optee_os/core/drivers/crypto/se050/core/scp03.c
/optee_os/core/drivers/crypto/se050/core/sub.mk
/optee_os/core/drivers/crypto/se050/crypto.mk
/optee_os/core/drivers/stm32_bsec.c
/optee_os/core/include/crypto/crypto.h
/optee_os/core/include/crypto/crypto_se.h
/optee_os/core/include/dt-bindings/clock/at91.h
/optee_os/core/include/initcall.h
dt.h
/optee_os/core/include/mm/tee_mm.h
/optee_os/core/kernel/console.c
/optee_os/core/kernel/dt_driver.c
/optee_os/core/kernel/huk_subkey.c
/optee_os/core/kernel/lockdep.c
/optee_os/core/kernel/wait_queue.c
/optee_os/core/lib/libtomcrypt/sub.mk
/optee_os/core/mm/fobj.c
/optee_os/core/mm/mobj.c
/optee_os/core/pta/apdu.c
/optee_os/core/pta/gprof.c
/optee_os/core/pta/scp03.c
/optee_os/core/pta/sub.mk
/optee_os/core/tee/entry_std.c
/optee_os/core/tee/socket.c
/optee_os/core/tee/tadb.c
/optee_os/core/tee/tee_fs_rpc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/lib/libmbedtls/sub.mk
/optee_os/lib/libutee/include/pta_apdu.h
/optee_os/lib/libutee/include/pta_scp03.h
/optee_os/lib/libutee/tee_api_arith_mpi.c
/optee_os/lib/libutils/ext/include/util.h
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
/optee_os/ta/avb/entry.c
b3a88b5212-Sep-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver probe sequence

Add a driver_init initcall function to parse DT from root node and
probe devices for which a compatible driver is registered in the
dt_driver list. When a matching dri

core: dt_driver probe sequence

Add a driver_init initcall function to parse DT from root node and
probe devices for which a compatible driver is registered in the
dt_driver list. When a matching driver is found, its probe function
is called to initialize the device.

Driver probe function returns TEE_SUCCESS or successful initialization,
TEE_ERROR_DEFER_DRIVER_INIT if waiting for a dependent device, otherwise
another TEE_Result error code. In the later case, the probe function
panics.

The probe sequence uses 2 lists: a list of the device DT nodes for which
a driver shall be probed (probe list) and a list of devices that were
successfully probed and initialized (ready list). Since at least clock
framework and dt_driver do both parse DT for matching nodes, we must
centralized successfully probed devices to not add them twice in the
probe list.

Note that a DT node can probe several drivers, one per driver type,
as defined by dt_driver_type enumerated type.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Co-developed-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

d8b14b4627-Oct-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: get return code when querying a device

Change dt_driver_device_from_provider_prop() function and friends to
output return a TEE_Result code if failing to find target device
instance

core: dt_driver: get return code when querying a device

Change dt_driver_device_from_provider_prop() function and friends to
output return a TEE_Result code if failing to find target device
instance. Return code TEE_ERROR_DEFER_DRIVER_INIT reports that requested
device is not yet registered and initialized in the dt_driver provider
list.

This change will be used to probed device drivers and allow probe
deferral when a device depends on another device driver that is
not yet initialized.

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

show more ...

502e23ad02-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: pm: add a name to registered pm_callback_handle

Adds an argument to register a name (string debug identifier) for
PM handlers registered to PM framework.

Caller can provide a NULL reference o

core: pm: add a name to registered pm_callback_handle

Adds an argument to register a name (string debug identifier) for
PM handlers registered to PM framework.

Caller can provide a NULL reference or a valid string pointer. When pager
is enabled, the registration ensures the name lies in an unpaged section,
possibly allocating heap for that purpose.

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

show more ...

704f6edd12-Sep-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: make struct dt_driver_provider opaque

Move struct dt_driver_provider from header file to source file so that
the DT driver provider internals are not exposed to core.

Provider data

core: dt_driver: make struct dt_driver_provider opaque

Move struct dt_driver_provider from header file to source file so that
the DT driver provider internals are not exposed to core.

Provider database reference dt_driver_provider can now be internal
to dt_driver.c.

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

ef20efc405-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: factorize clk_dt_node_clock_probe_driver()

Move/rename clk_dt_get_from_provider() to dt_driver_probe_device_by_node()
and local helper clk_get_compatible_driver() to probe_device_by

core: dt_driver: factorize clk_dt_node_clock_probe_driver()

Move/rename clk_dt_get_from_provider() to dt_driver_probe_device_by_node()
and local helper clk_get_compatible_driver() to probe_device_by_compat().

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

01254f1d05-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: move probe callback to dt_driver

Move ::probe field from struct dt_driver_setup to struct dt_driver
and remove struct dt_driver_setup.

Acked-by: Jerome Forissier <jerome@forissier.

core: dt_driver: move probe callback to dt_driver

Move ::probe field from struct dt_driver_setup to struct dt_driver
and remove struct dt_driver_setup.

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

a22e85b205-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: factorize clk_dt_get_from_provider()

Implement dt_driver_device_from_node_idx_prop() for
clk_dt_get_by_idx_prop() to get target reference instance.

Move/rename clk_dt_get_from_prov

core: dt_driver: factorize clk_dt_get_from_provider()

Implement dt_driver_device_from_node_idx_prop() for
clk_dt_get_by_idx_prop() to get target reference instance.

Move/rename clk_dt_get_from_provider() to
dt_driver_device_from_provider_prop()

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

f498c40405-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: factorize clk_get_provider_by_*()

Move rename clk_get_provider_by_{node|phandle}() to
dt_driver_get_provider_by_*().

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clé

core: dt_driver: factorize clk_get_provider_by_*()

Move rename clk_get_provider_by_{node|phandle}() to
dt_driver_get_provider_by_*().

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

3fd340e504-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: factorize DT cells helper functions

Move/rename fdt_clock_cells() to fdt_get_dt_driver_cells().
and clk_dt_register_clk_provider() to dt_driver_register_provider().

Add helper func

core: dt_driver: factorize DT cells helper functions

Move/rename fdt_clock_cells() to fdt_get_dt_driver_cells().
and clk_dt_register_clk_provider() to dt_driver_register_provider().

Add helper function dt_driver_provider_cells() to get ::provider_cells
from a registered provider reference.

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

8c0c44c910-Sep-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: factorize DT phandle util resources

Move struct clk_dt_phandle_args and struct clk_dt_provider from clk_dt.h
to dt_driver.h and rename them to struct dt_driver_phandle_args and
stru

core: dt_driver: factorize DT phandle util resources

Move struct clk_dt_phandle_args and struct clk_dt_provider from clk_dt.h
to dt_driver.h and rename them to struct dt_driver_phandle_args and
struct dt_driver_provider.

Introduce type get_of_device_func for callback functions used to
retrieve a device instance reference from a DT phandle possible with
arguments.

Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

06fd21dd03-Nov-2021 Lionel Debieve <lionel.debieve@foss.st.com>

core: kernel: add reg_size in the dt_node_info structure

Add the register size read from device tree in the dt_node_info
structure. It may be used to map the IO registers with the
correct address ra

core: kernel: add reg_size in the dt_node_info structure

Add the register size read from device tree in the dt_node_info
structure. It may be used to map the IO registers with the
correct address range.

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

show more ...

df7cecc003-Nov-2021 Lionel Debieve <lionel.debieve@foss.st.com>

core: kernel: use size_t instead of ssize_t for _fdt_reg_size()

Size is read from the reg device tree property as an unsigned value
coming from fdt32_to_cpu().
Use a size_t with associated error cod

core: kernel: use size_t instead of ssize_t for _fdt_reg_size()

Size is read from the reg device tree property as an unsigned value
coming from fdt32_to_cpu().
Use a size_t with associated error code DT_INFO_INVALID_REG_SIZE as
return in prototype. Update the current users according to this change.

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

show more ...


/optee_os/.azure-pipelines.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/include/ffa.h
/optee_os/core/arch/arm/include/kernel/secure_partition.h
/optee_os/core/arch/arm/include/kernel/thread_spmc.h
/optee_os/core/arch/arm/kernel/secure_partition.c
/optee_os/core/arch/arm/kernel/spmc_sp_handler.c
/optee_os/core/arch/arm/kernel/thread_spmc.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-zynqmp/conf.mk
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/arm/plat-zynqmp/platform_config.h
/optee_os/core/drivers/clk/clk.c
/optee_os/core/drivers/clk/clk_dt.c
/optee_os/core/drivers/clk/fixed_clk.c
/optee_os/core/drivers/crypto/caam/hal/common/hal_cfg_dt.c
/optee_os/core/drivers/crypto/crypto_api/acipher/dsa.c
/optee_os/core/drivers/crypto/crypto_api/acipher/ecc.c
/optee_os/core/drivers/crypto/crypto_api/acipher/rsa.c
/optee_os/core/drivers/imx_mu.c
/optee_os/core/drivers/sub.mk
/optee_os/core/drivers/zynqmp_csu_aes.c
/optee_os/core/drivers/zynqmp_csu_puf.c
/optee_os/core/drivers/zynqmp_csudma.c
/optee_os/core/drivers/zynqmp_huk.c
/optee_os/core/drivers/zynqmp_pm.c
/optee_os/core/include/drivers/clk.h
/optee_os/core/include/drivers/clk_dt.h
/optee_os/core/include/drivers/imx_mu.h
/optee_os/core/include/drivers/zynqmp_csu.h
/optee_os/core/include/drivers/zynqmp_csu_aes.h
/optee_os/core/include/drivers/zynqmp_csu_puf.h
/optee_os/core/include/drivers/zynqmp_csudma.h
/optee_os/core/include/drivers/zynqmp_efuse.h
/optee_os/core/include/drivers/zynqmp_pm.h
dt.h
/optee_os/core/kernel/dt.c
/optee_os/core/pta/bcm/elog.c
/optee_os/core/tee/socket.c
7e6a39fe03-Sep-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: clk: add platform data per compatible identifier

Add a platform data reference field in struct dt_device_match so
that a driver knows data related to the compatible it is probed for.

Signe

drivers: clk: add platform data per compatible identifier

Add a platform data reference field in struct dt_device_match so
that a driver knows data related to the compatible it is probed for.

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

show more ...

2305544b10-Jun-2021 Clément Léger <clement.leger@bootlin.com>

drivers: clk: add generic clock framework

In order to ease clock support in OP-TEE, add a generic clock framework
which allows to add clocks driver and handle clock hierarchy.
This clock framework p

drivers: clk: add generic clock framework

In order to ease clock support in OP-TEE, add a generic clock framework
which allows to add clocks driver and handle clock hierarchy.
This clock framework provides various functions to enable/disable clock
and to get their rate. Some basic behavior are supported such as gating
when parent or rate is set. This option is enabled using
CFG_DRIVERS_CLK which is disabled by default.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

5e58877110-Jun-2021 Clément Léger <clement.leger@bootlin.com>

drivers: add type field to dt_driver struct

In order to keep the current mechanism simple but allow parsing the
device tree by iterating on driver (clocks for instance), add a type
field to dt drive

drivers: add type field to dt_driver struct

In order to keep the current mechanism simple but allow parsing the
device tree by iterating on driver (clocks for instance), add a type
field to dt driver struct which will allow differentiating drivers
when iterating on entries and thus avoid casting struct
dt_driver::driver to the wrong type in case a bad DT is provided. This
will also allow adding a more generic driver model by probing generic
driver based on their compatible.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

a94111b931-Aug-2021 Jens Wiklander <jens.wiklander@linaro.org>

core: virtualization.h: add dummy static inline functions

Adds dummy static inline functions to replace the normal virt_*()
functions in virtualization.h when CFG_VIRTUALIZATION is not configured.

core: virtualization.h: add dummy static inline functions

Adds dummy static inline functions to replace the normal virt_*()
functions in virtualization.h when CFG_VIRTUALIZATION is not configured.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

bddb2f8931-Aug-2021 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: use TEE_Result return type for virt_*() functions

Uses TEE_Result as return type for all virt_*() functions returning
anything but void in <kernel/virtualization.h>

Reviewed-by: Etienne

core: virt: use TEE_Result return type for virt_*() functions

Uses TEE_Result as return type for all virt_*() functions returning
anything but void in <kernel/virtualization.h>

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

12345678910>>...18