| /rk3399_ARM-atf/.github/ |
| H A D | dependabot.yml | 3 - target-branch: "main" 4 package-ecosystem: "npm" 5 versioning-strategy: "lockfile-only" 6 directories: ["/", "/tools/conventional-changelog-tf-a"] 10 dev-deps: 12 update-types: ["minor", "patch"] 14 - target-branch: "lts-v2.12" 15 package-ecosystem: "npm" 16 versioning-strategy: "lockfile-only" 17 directories: ["/", "/tools/conventional-changelog-tf-a"] [all …]
|
| /rk3399_ARM-atf/include/lib/psa/ |
| H A D | rse_crypto_defs.h | 2 * Copyright (c) 2023-2025, Arm Limited. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 11 /* Declares types that encode errors, algorithms, key types, policies, etc. */ 28 * Structure used to pack non-pointer types in a call to PSA Crypto APIs 47 * !< Packs AEAD-related 61 * update
|
| /rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/drivers/mce/ |
| H A D | nvg.c | 2 * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 55 /* update CLUSTER_CSTATE? */ in nvg_update_cstate_info() 61 /* update CCPLEX_CSTATE? */ in nvg_update_cstate_info() 67 /* update SYSTEM_CSTATE? */ in nvg_update_cstate_info() 74 /* update wake mask value? */ in nvg_update_cstate_info() 100 * The crossover threshold limit types start from in nvg_update_crossover_time() 124 * The cstate types start from NVG_READ_CSTATE_STATS_SC7_ENTRIES in nvg_read_cstate_stats() 152 * The cstate types start from NVG_READ_CSTATE_STATS_SC7_ENTRIES in nvg_write_cstate_stats() 187 * Request format - in nvg_is_sc7_allowed() [all …]
|
| /rk3399_ARM-atf/docs/plat/marvell/armada/ |
| H A D | porting.rst | 1 TF-A Porting Guide for Marvell Platforms 4 This section describes how to port TF-A to a customer board, assuming that the 5 SoC being used is already supported in TF-A. 9 --------------------- 11 - The customer platform specific code shall reside under ``plat/marvell/armada/<soc family>/<soc>_c… 13 - The platform name for build purposes is called ``<soc>_cust`` (e.g. ``a7040_cust``). 14 - The build system will reuse all files from within the soc directory, and take only the porting 20 Armada-70x0/Armada-80x0 Porting 21 ------------------------------- 27 IOWIN, AXI-MBUS and IOB address decode units (Refer to the functional spec for [all …]
|
| /rk3399_ARM-atf/include/drivers/cadence/ |
| H A D | cdns_nand.h | 2 * Copyright (c) 2022-2023, Intel Corporation. All rights reserved. 5 * SPDX-License-Identifier: BSD-3-Clause 14 #define __bf_shf(x) (__builtin_ffsll(x) - 1U) 59 /* Command types */ 72 /* Device types */ 81 /* DMA maximum burst size 0-127*/ 260 * assert/de-assert WE# and assert/de-assert RE# signals in SDR asynchronous mode. 270 * the de-assertion of the DLL update request and resuming traffic to the PHY. 277 * the DLL update request has to be asserted, to resynchronize the DLLs and read
|
| /rk3399_ARM-atf/lib/locks/bakery/ |
| H A D | bakery_lock_normal.c | 2 * Copyright (c) 2015-2020, Arm Limited and Contributors. All rights reserved. 5 * SPDX-License-Identifier: BSD-3-Clause 24 * behavior only on certain memory types (cacheable and Normal memory in 34 * Note that the ARM architecture guarantees single-copy atomicity for aligned 40 * Verify that the platform defined value for the per-cpu space for bakery locks is 47 CASSERT((PLAT_PERCPU_BAKERY_LOCK_SIZE & (CACHE_WRITEBACK_GRANULE - 1)) == 0, 57 #define PERCPU_BAKERY_LOCK_SIZE (BAKERY_LOCK_END - BAKERY_LOCK_START) 92 * if the previous update was done when the cpu was not participating in is_lock_acquired() 98 return bakery_ticket_number(my_bakery_info->lock_data) != 0U; in is_lock_acquired() 123 my_bakery_info->lock_data = make_bakery_data(CHOOSING_TICKET, my_ticket); in bakery_get_ticket() [all …]
|
| /rk3399_ARM-atf/docs/process/ |
| H A D | coding-guidelines.rst | 5 |TF-A| code. These are not intended to be strictly-enforced rules like the 9 ------------------------------ 15 files in the |TF-A| repository. 17 Several editors include built-in support for EditorConfig files, and many others 22 .. _automatic-compliance-checking: 25 ----------------------------- 30 ``.checkpatch.conf`` file in the top-level directory. 45 make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkcodebase 52 make CHECKPATCH=<path-to-linux>/linux/scripts/checkpatch.pl checkpatch 64 - ``**WARNING: line over 80 characters**``: Although the codebase should [all …]
|
| /rk3399_ARM-atf/lib/optee/ |
| H A D | optee_utils.c | 2 * Copyright (c) 2017-2023, Arm Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 21 if ((header->magic == TEE_MAGIC_NUM_OPTEE) && in tee_validate_header() 22 (header->version == 2u) && in tee_validate_header() 23 (header->nb_images > 0u) && in tee_validate_header() 24 (header->nb_images <= OPTEE_MAX_NUM_IMAGES)) { in tee_validate_header() 46 init_load_addr = ((uint64_t)image->load_addr_hi << 32) | in parse_optee_image() 47 image->load_addr_lo; in parse_optee_image() 48 init_size = image->size; in parse_optee_image() 51 * image->load_addr_hi & image->load_addr_lo set to UINT32_MAX indicate in parse_optee_image() [all …]
|
| /rk3399_ARM-atf/docs/components/ |
| H A D | platform-interrupt-controller-API.rst | 34 associated to system-wide peripherals, and these interrupts can target any PE in 60 explicit programming by software, and are typically used in inter-PE 136 returns *true* for all interrupt types. 139 ``INTR_TYPE_NS``. Return value for other types depends on the value of build 142 - For interrupt type ``INTR_TYPE_EL3``: 144 - When ``GICV2_G0_FOR_EL3`` is ``0``, it returns *false*, indicating no support 147 - When ``GICV2_G0_FOR_EL3`` is ``1``, it returns *true*, indicating support for 150 - For interrupt type ``INTR_TYPE_S_EL1``: 152 - When ``GICV2_G0_FOR_EL3`` is ``0``, it returns *true*, indicating support for 155 - When ``GICV2_G0_FOR_EL3`` is ``1``, it returns *false*, indicating no support [all …]
|
| /rk3399_ARM-atf/include/services/ |
| H A D | rmmd_svc.h | 2 * Copyright (c) 2021-2025, Arm Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 51 #define E_RMM_BOOT_UNKNOWN (-1) 52 #define E_RMM_BOOT_VERSION_MISMATCH (-2) 53 #define E_RMM_BOOT_CPUS_OUT_OF_RANGE (-3) 54 #define E_RMM_BOOT_CPU_ID_OUT_OF_RANGE (-4) 55 #define E_RMM_BOOT_INVALID_SHARED_BUFFER (-5) 56 #define E_RMM_BOOT_MANIFEST_VERSION_NOT_SUPPORTED (-6) 57 #define E_RMM_BOOT_MANIFEST_DATA_ERROR (-7) 59 /* The SMC in the range 0x8400 0191 - 0x8400 01AF are reserved for RSIs.*/ [all …]
|
| /rk3399_ARM-atf/include/drivers/brcm/ |
| H A D | chimp_nv_defs.h | 2 * Copyright (c) 2016 - 2020, Broadcom 4 * SPDX-License-Identifier: BSD-3-Clause 12 #else /* non-GCC compiler */ 34 /* byte-swapping macros */ 45 /* auto-detect integer size */ 51 /* Architecture-specific macros */ 91 /* Byte-offset to Directory Block (translated) */ 93 /* Byte-offset to Block Redirection Table (non-translated) */ 98 * Size of NVRAM (in bytes) - may be used to 99 * override auto-detected size [all …]
|
| /rk3399_ARM-atf/docs/getting_started/ |
| H A D | build-options.rst | 4 The TF-A build system supports the following build options. Unless mentioned 14 -------------------- 16 - ``AARCH32_INSTRUCTION_SET``: Choose the AArch32 instruction set that the 20 - ``AARCH32_SP`` : Choose the AArch32 Secure Payload component to be built as 23 is expected to contain a makefile called ``<aarch32_sp-value>.mk``. 25 - ``AMU_RESTRICT_COUNTERS``: Register reads to the group 1 counters will return 27 memory-mapped debug accesses are unaffected by this control. 30 - ``ARCH`` : Choose the target build architecture for TF-A. It can take either 34 - ``ARM_ARCH_FEATURE``: Optional Arm Architecture build option which specifies 37 ``-march=armvX[.Y]-a+[no]feature+...``. See compiler's documentation for the [all …]
|
| /rk3399_ARM-atf/docs/ |
| H A D | change-log.md | 4 issues in each release of Trusted Firmware-A. 6 …ew.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/refs/tags/v2.13.0..refs/tags/v2.1… 10 - **Services** 12 - **SPM** 14 - **EL3 SPMC** 16 - no longer accepts invalid fragment offsets 18 …t ([c55b519](https://review.trustedfirmware.org/plugins/gitiles/TF-A/trusted-firmware-a/+/c55b519e… 20 - Zeroes or forwards a different set of registers, 21 depending on the FF-A version of the source and destination. 24 of forwarding everything to EL2 SPMC, but only x0-x7 to the EL3 SPMC. [all …]
|
| H A D | porting-guide.rst | 5 ------------ 7 Porting Trusted Firmware-A (TF-A) to a new platform involves making some 11 - Implementing a platform-specific function or variable, 12 - Setting up the execution context in a certain way, or 13 - Defining certain constants (for example #defines). 15 The platform-specific functions and variables are declared in 23 TF-A historically provided default implementations of platform interfaces 32 guarantees offered by TF-A. These platform responsibilities are highlighted in 52 -------------------- 59 ------------------------------ [all …]
|
| /rk3399_ARM-atf/lib/zlib/ |
| H A D | zlib.h | 1 /* zlib.h -- interface of the 'zlib' general purpose compression library 4 Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler 6 This software is provided 'as-is', without any express or implied 22 Jean-loup Gailly Mark Adler 44 #define ZLIB_VERSION "1.3.1.1-motley" 52 The 'zlib' compression library provides in-memory compression and 63 The compressed data format used by default by the in-memory functions is 76 and on communications channels. The gzip format was designed for single- 108 uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */ 126 Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ [all …]
|
| H A D | inflate.c | 1 /* inflate.c -- zlib decompression 2 * Copyright (C) 1995-2022 Mark Adler 10 * - First version -- complete rewrite of inflate to simplify code, avoid 16 * - Use pointers for available input and output checking in inffast.c 17 * - Remove input and output counters in inffast.c 18 * - Change inffast.c entry and loop from avail_in >= 7 to >= 6 19 * - Remove unnecessary second byte pull from length extra in inffast.c 20 * - Unroll direct copy to three copies per loop in inffast.c 23 * - Change external routine names to reduce potential conflicts 24 * - Correct filename to inffixed.h for fixed tables in inflate.c [all …]
|
| /rk3399_ARM-atf/lib/xlat_tables_v2/ |
| H A D | xlat_tables_core.c | 2 * Copyright (c) 2017-2025, Arm Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 47 for (int i = 0; i < ctx->tables_num; i++) in xlat_table_get_index() 48 if (ctx->tables[i] == table) in xlat_table_get_index() 57 return -1; in xlat_table_get_index() 63 for (int i = 0; i < ctx->tables_num; i++) in xlat_table_get_empty() 64 if (ctx->tables_mapped_regions[i] == 0) in xlat_table_get_empty() 65 return ctx->tables[i]; in xlat_table_get_empty() 76 ctx->tables_mapped_regions[idx]++; in xlat_table_inc_regions_count() 85 ctx->tables_mapped_regions[idx]--; in xlat_table_dec_regions_count() [all …]
|
| /rk3399_ARM-atf/drivers/arm/ccn/ |
| H A D | ccn.c | 2 * Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 25 * region ID of one of the 256 regions (0-255) and a register offset within the 44 * region ID of one of the 256 regions (0-255), a register offset within the 70 * the node ID of a Request Node (RN-D or RN-I). It returns the maximum number 79 /* Use the node id to find the type of RN-I/D node */ in ccn_get_rni_mcount() 90 * the ACE/ACELite/ACELite+DVM/CHI interfaces resident on the various types of 91 * Request Nodes (RN-Fs, RN-Is and RN-Ds) in the system: 94 * cumulative number of interfaces across all Request node types. It is 98 * one of the three types. This information is populated in the 'info' [all …]
|
| /rk3399_ARM-atf/tools/fiptool/ |
| H A D | fiptool.c | 2 * Copyright (c) 2016-2024, Arm Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 11 #include <sys/types.h> 49 { .name = "update", .handler = update_cmd, .usage = update_usage }, 148 memcpy(&desc->uuid, uuid, sizeof(uuid_t)); in new_image_desc() 149 desc->name = xstrdup(name, in new_image_desc() 151 desc->cmdline_name = xstrdup(cmdline_name, in new_image_desc() 153 desc->action = DO_UNSPEC; in new_image_desc() 162 if (desc->action_arg != (char *)DO_UNSPEC) in set_image_desc_action() 163 free(desc->action_arg); in set_image_desc_action() [all …]
|
| /rk3399_ARM-atf/docs/design_documents/ |
| H A D | psci_osi_mode.rst | 1 PSCI OS-initiated mode 12 ------------ 24 Entry into low-power states for a topology node above the core level requires 30 PSCI supports two modes of power state coordination: platform-coordinated and 31 OS-initiated. 33 Platform-coordinated 36 Platform-coordinated mode is the default mode of power state coordination, and 37 is currently the only supported mode in TF-A. 39 In platform-coordinated mode, the platform is responsible for coordinating power 43 OS-initiated [all …]
|
| H A D | measured_boot_poc.rst | 8 The current implementation of the driver included in |TF-A| supports several 20 a firmware TPM (fTPM) service implemented on top of OP-TEE. 24 a PoC to show how Measured Boot on TF-A can interact with a third 27 SHA algorithms) and they might also use different types of TPM services 34 The PoC is built on top of the `OP-TEE Toolkit`_, which has support to build 35 TF-A with support for Measured Boot enabled (and run it on a Foundation Model) 43 The reason to choose OP-TEE Toolkit to build our PoC around it is mostly 44 for convenience. As the fTPM service used is an OP-TEE TA, it was easy to add 50 - **OP-TEE**: As stated earlier, the fTPM service used in this PoC is built as an 51 OP-TEE TA and therefore we need to include the OP-TEE OS image. [all …]
|
| /rk3399_ARM-atf/docs/design/ |
| H A D | firmware-design.rst | 4 Trusted Firmware-A (TF-A) implements a subset of the Trusted Board Boot 9 to the stage where it hands-off control to firmware running in the normal 12 TF-A also implements the `PSCI`_ as a runtime service. PSCI is the interface 13 from normal world software to firmware implementing power management use-cases 15 access TF-A runtime services via the Arm SMC (Secure Monitor Call) instruction. 19 TF-A implements a framework for configuring and managing interrupts generated 23 TF-A also implements a library for setting up and managing the translation 27 TF-A can be built to support either AArch64 or AArch32 execution state. 36 --------- 41 CPU is chosen through platform-specific means. The cold boot path is mainly [all …]
|
| /rk3399_ARM-atf/lib/psci/ |
| H A D | psci_common.c | 2 * Copyright (c) 2013-2025, Arm Limited and Contributors. All rights reserved. 4 * SPDX-License-Identifier: BSD-3-Clause 47 * states at each power level in a cache-line aligned per-domain memory, 88 * Defaults to platform-coordinated mode. 94 * The plat_local_state used by the platform is one of these types: RUN, 95 * RETENTION and OFF. The platform can define further sub-states for each type 146 assert(psci_plat_pm_ops->validate_power_state != NULL); in psci_validate_power_state() 149 return psci_plat_pm_ops->validate_power_state(power_state, state_info); in psci_validate_power_state() 162 assert(psci_plat_pm_ops->get_sys_suspend_power_state != NULL); in psci_query_sys_suspend_pwrstate() 167 psci_plat_pm_ops->get_sys_suspend_power_state(state_info); in psci_query_sys_suspend_pwrstate() [all …]
|
| /rk3399_ARM-atf/docs/threat_model/ |
| H A D | supply_chain_threat_model.rst | 1 TF-A Supply Chain Threat Model 9 software product (open-source project). These include: 11 - Malicious code commits: This attack directly injects code into a project 15 - Malicious dependencies: In this case malicious code is introduced into a 21 - Malicious toolchains: This involves malicious code introduced by compromised 26 TF-A project. 28 TF-A Overview 31 Figure 1 shows the different software components surrounding the TF-A project. 34 TF-A Repository 37 The TF-A repository contains generic and platform code contributed by TF-A [all …]
|
| /rk3399_ARM-atf/tools/marvell/doimage/ |
| H A D | doimage.c | 4 * SPDX-License-Identifier: BSD-3-Clause 53 /* Extension header types */ 74 uint32_t magic; /* 0-3 */ 75 uint32_t prolog_size; /* 4-7 */ 76 uint32_t prolog_checksum; /* 8-11 */ 77 uint32_t boot_image_size; /* 12-15 */ 78 uint32_t boot_image_checksum; /* 16-19 */ 79 uint32_t rsrvd0; /* 20-23 */ 80 uint32_t load_addr; /* 24-27 */ 81 uint32_t exec_addr; /* 28-31 */ [all …]
|