| d4a770a9 | 23-Jan-2024 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "fix(intel): update nand driver to match GHRD design" into integration |
| ae6542f6 | 22-May-2019 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(st-bsec): add driver for the new IP version BSEC3
This driver is used for the new version of the BSEC peripheral used on STM32MP25.
Change-Id: I38ca0db22d06704769c994c6806ccd80b17dde6e Signed-
feat(st-bsec): add driver for the new IP version BSEC3
This driver is used for the new version of the BSEC peripheral used on STM32MP25.
Change-Id: I38ca0db22d06704769c994c6806ccd80b17dde6e Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| a773f412 | 15-Nov-2023 |
Girisha Dengi <girisha.dengi@intel.com> |
fix(intel): update nand driver to match GHRD design
Update nand driver to match GHRD design, fix row address calculation method and other misc updates.
Signed-off-by: Girisha Dengi <girisha.dengi@i
fix(intel): update nand driver to match GHRD design
Update nand driver to match GHRD design, fix row address calculation method and other misc updates.
Signed-off-by: Girisha Dengi <girisha.dengi@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com> Change-Id: I1cb3dda43e767ba243fbe89bfa18818db321c5c2
show more ...
|
| 586701ce | 02-Oct-2019 |
Yann Gautier <yann.gautier@st.com> |
refactor(st-i2c): use fdt_read_uint32_default()
The function stm32_i2c_get_setup_from_fdt() was using fdt_getprop() to to get some i2c node properties, and set a default value if the node was not fo
refactor(st-i2c): use fdt_read_uint32_default()
The function stm32_i2c_get_setup_from_fdt() was using fdt_getprop() to to get some i2c node properties, and set a default value if the node was not found. The function fdt_read_uint32_default() already does this in a simpler way. Remove useless STM32_I2C_SPEED_DEFAULT.
Change-Id: I74c6295bb5765ee7c7e0a9ae020b741f1fe022a6 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| c7061045 | 14-Dec-2022 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
refactor(st-bsec): improve BSEC driver
In order to ease the introduction of a new BSEC3 driver for STM32MP25, the BSEC2 driver is reworked. Unused functions are removed. The bsec_base global variabl
refactor(st-bsec): improve BSEC driver
In order to ease the introduction of a new BSEC3 driver for STM32MP25, the BSEC2 driver is reworked. Unused functions are removed. The bsec_base global variable is removed in favor of the macro BSEC_BASE. A rework is also done around function checking the state of BSEC.
Change-Id: I1ad76cb67333ab9a8fa1d65db34d74a712bf1190 Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| b65dfe40 | 26-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
chore(auth)!: remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated since TF-A v2.9 and their removal was announced for TF-A v2.10 release. See [1].
As th
chore(auth)!: remove CryptoCell-712/713 support
CryptoCell-712 and CryptoCell-713 drivers have been deprecated since TF-A v2.9 and their removal was announced for TF-A v2.10 release. See [1].
As the release is approaching, this patch deletes these drivers' code as well as all references to them in the documentation and Arm platforms code (Nuvoton platform is taken care in a subsequent patch). Associated build options (ARM_CRYPTOCELL_INTEG and PLAT_CRYPTOCELL_BASE) have also been removed and thus will have no effect if defined.
This is a breaking change for downstream platforms which use these drivers.
[1] https://trustedfirmware-a.readthedocs.io/en/v2.9/about/release-information.html#removal-of-deprecated-drivers Note that TF-A v3.0 release later got renumbered into v2.10.
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Change-Id: Idabbc9115f6732ac1a0e52b273d3380677a39813
show more ...
|
| f08460dc | 12-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(partition): add interface to init gpt
Current interface 'partition_init' accepts parameter image_id and returns no value. But the entire partition driver is build only to parse and handle GPT p
feat(partition): add interface to init gpt
Current interface 'partition_init' accepts parameter image_id and returns no value. But the entire partition driver is build only to parse and handle GPT partitions, so add new interface gpt_partition_init which would return failure to platform code if it fails to parse the image.
Change-Id: Iaf574d2ad01a15d0723c1475290c31dc4a078835 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| ad2dd658 | 03-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(partition): add support to use backup GPT header
Currently we just use primary GPT header which is located in second entry after MBR header, but if this block is corrupted or CRC mismatch occur
feat(partition): add support to use backup GPT header
Currently we just use primary GPT header which is located in second entry after MBR header, but if this block is corrupted or CRC mismatch occurs we could try to use the backup GPT header located at LBAn and GPT entries following this from LBA-33.
Add suitable warning messages before returning any errors to identify the cause of issue.
Change-Id: I0018ae9eafbacb683a18784d2c8bd917c70f50e1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| fce8a70e | 21-Sep-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(partition): get GPT header location from MBR
GPT header is located in first LBA after MBR entry and mbr header has details of beginning of first entry, so use mbr header entry first_lba dat
refactor(partition): get GPT header location from MBR
GPT header is located in first LBA after MBR entry and mbr header has details of beginning of first entry, so use mbr header entry first_lba data to locate GPT header rather than GPT_HEADER_OFFSET.
GPT header size is available in gpt_header, so use that rather than using DEFAULT_GPT_HEADER_SIZE.
The location of GPT entries is available once we parse gpt_header and is available as partitiona_lba use that to load gpt_entries rather than GPT_ENTRY_OFFSET.
Change-Id: I3c11f8cc9d4b0b1778a37fe342fb845ea4a4eff1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 557f7d80 | 15-Aug-2023 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(auth): ecdsa p384 key support
Use KEY_SIZE 384 to enable ECDSA P384 key support by setting MBEDTLS_ECP_DP_SECP384R1_ENABLED.
Selected by setting KEY_ALG=ecdsa and KEY_SIZE=384.
Change-Id: I38
feat(auth): ecdsa p384 key support
Use KEY_SIZE 384 to enable ECDSA P384 key support by setting MBEDTLS_ECP_DP_SECP384R1_ENABLED.
Selected by setting KEY_ALG=ecdsa and KEY_SIZE=384.
Change-Id: I382f34fc4da98f166a2aada5d16fdf44632b47f5 Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| 85bebe18 | 11-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(console): disable getc() by default
The ability to read a character from the console constitutes an attack vector into TF-A, as it gives attackers a means to inject arbitrary data into TF-A
refactor(console): disable getc() by default
The ability to read a character from the console constitutes an attack vector into TF-A, as it gives attackers a means to inject arbitrary data into TF-A. It is dangerous to keep that feature enabled if not strictly necessary, especially in production firmware builds.
Thus, we need a way to disable this feature. Moreover, when it is disabled, all related code should be eliminated from the firmware binaries, such that no remnant/dead getc() code remains in memory, which could otherwise be used as a gadget as part of a bigger security attack.
This patch disables getc() feature by default. For legitimate getc() use cases [1], it can be explicitly enabled by building TF-A with ENABLE_CONSOLE_GETC=1.
The following changes are introduced when getc() is disabled:
- The multi-console framework no longer provides the console_getc() function.
- If the console driver selected by the platform attempts to register a getc() callback into the multi-console framework then TF-A will now fail to build.
If registered through the assembly function finish_console_register(): - On AArch64, you'll get: Error: undefined symbol CONSOLE_T_GETC used as an immediate value. - On AArch32, you'll get: Error: internal_relocation (type: OFFSET_IMM) not fixed up
If registered through the C function console_register(), this requires populating a struct console with a getc field, which will trigger: error: 'console_t' {aka 'struct console'} has no member named 'getc'
- All console drivers which previously registered a getc() callback have been modified to do so only when ENABLE_CONSOLE_GETC=1.
[1] Example of such use cases would be: - Firmware recovery: retrieving a golden BL2 image over the console in order to repair a broken firmware on a bricked board. - Factory CLI tool: Drive some soak tests through the console.
Discussed on TF-A mailing list here: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/thread/YS7F6RCNTWBTEOBLAXIRTXWIOYINVRW7/
Change-Id: Icb412304cd23dbdd7662df7cf8992267b7975cc5 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Acked-by: Baruch Siach <baruch@tkos.co.il>
show more ...
|
| 4eaaaa19 | 06-Sep-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(mbedtls-psa): initialise mbedtls psa crypto
Initialised Mbedtls PSA cryto during Crypto init using function call 'psa_crypto_init'.
MbedTLS currently requires a Random Number Generator (RNG) o
feat(mbedtls-psa): initialise mbedtls psa crypto
Initialised Mbedtls PSA cryto during Crypto init using function call 'psa_crypto_init'.
MbedTLS currently requires a Random Number Generator (RNG) once PSA Crypto support is enabled. However, TF-A itself doesn't engage in cryptographic operations that demand randomness. Consequently, we simulate the presence of an external TRNG (through the configuration option 'MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG) while, in reality, we offer a dummy implementation of mbedtls_psa_external_get_random() that always returns an error.
Change-Id: Ife6d03909c0e6081438d2b2519ef500e5dcdb88f Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 5782b890 | 06-Sep-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(mbedtls-psa): introduce PSA_CRYPTO build option
This is a preparatory patch to provide MbedTLS PSA Crypto API support, with below changes -
1. Added a build macro PSA_CRYPTO to enable the Mbed
feat(mbedtls-psa): introduce PSA_CRYPTO build option
This is a preparatory patch to provide MbedTLS PSA Crypto API support, with below changes -
1. Added a build macro PSA_CRYPTO to enable the MbedTLS PSA Crypto API support in the subsequent patches. 2. Compile necessary PSA crypto files from MbedTLS source code when PSA_CRYPTO=1.
Also, marked PSA_CRYPTO as an experimental feature.
Change-Id: I45188f56c5c98b169b2e21e365150b1825c6c450 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 7ed514e6 | 02-Oct-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge changes from topic "xlnx_dcc_console" into integration
* changes: chore(dcc): remove unnecessary code in dcc fix(dcc): add dcc console unregister function |
| 0936abe9 | 19-Sep-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(dcc): add dcc console unregister function
Add unregistration function for the JTAG DCC (Debug Communication Channel) console. The unregistration function flushes DCC buffer before unregistering
fix(dcc): add dcc console unregister function
Add unregistration function for the JTAG DCC (Debug Communication Channel) console. The unregistration function flushes DCC buffer before unregistering the dcc console to make sure that no output char is pending.
Since console_flush() flushes chars for all registered consoles on the platform, which is not required in this case, dcc_console_flush() is being called instead.
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com> Change-Id: I6f15a07c6ee947dc0e7aa8fb069227618080e611
show more ...
|
| 632e5ffe | 03-Aug-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(gicv3): map generic interrupt type to GICv3 group
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
fix(gicv3): map generic interrupt type to GICv3 group
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
Currently, they are used interchangeably in GICv3 driver. It did not cause any functional issues since the matching type and group had the same value for corresponding macros. This patch makes the necessary fixes.
The generic interrupt controller APIs, such as plat_ic_set_interrupt_type map interrupt type to interrupt group supported by the GICv3 IP. Similarly, other generic interrupt controller APIs map interrupt group to interrupt type as needed.
This patch also changes the name of the helper functions to use group rather than type for handling interrupts.
Change-Id: Ie2d88a3260c71e4ab9c8baacde24cc21e551de3d Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| ab80cf35 | 03-Aug-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
chore(gicv2): use interrupt group instead of type
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
This
chore(gicv2): use interrupt group instead of type
The generic interrupt controller identifies an interrupt based on its type whereas the GIC uses the notion of groups to identify an interrupt.
This patch changes the name of the helper functions to use group rather than type for handling interrupts. No functional change in this patch.
Change-Id: If13ec65cc6c87c2da73a3d54b033f02635ff924a Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| cd83a766 | 20-Sep-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(st-ddr): express memory size with size_t type" into integration |
| 84de50c7 | 19-Sep-2023 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge "feat(ethos-n): update npu error handling" into integration |
| b4e1e8fb | 18-Sep-2023 |
Yann Gautier <yann.gautier@st.com> |
fix(st-ddr): express memory size with size_t type
Express memory size with size_t type in structures. Retrieve value as uint32_t from device tree and then cast it to size_t. Combined with uintptr_t
fix(st-ddr): express memory size with size_t type
Express memory size with size_t type in structures. Retrieve value as uint32_t from device tree and then cast it to size_t. Combined with uintptr_t use, it ensures a generic algorithm whatever the platform architecture, notably within systematic tests. Adapt also their prototypes.
Move memory size print outside stm32mp_ddr_check_size() to adapt it to related platform.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Change-Id: Ic6e1a62d7a5e23cef49909a658098c800e7dae3f
show more ...
|
| 4cfbb84a | 14-Jun-2023 |
Yann Gautier <yann.gautier@st.com> |
feat(st): add RCC registers list
Add a header file listing the registers of Reset and Clock Control peripheral.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Icc90132d5782eba7e343868
feat(st): add RCC registers list
Add a header file listing the registers of Reset and Clock Control peripheral.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Icc90132d5782eba7e343868b932a399c1d47c18a
show more ...
|
| e27bebb0 | 07-Aug-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(cadence): update console flush uart driver
The implementation of code changes manages the transmit FIFO (TxFIFO) in the UART driver. The added code snippet includes a sequence of instructions th
fix(cadence): update console flush uart driver
The implementation of code changes manages the transmit FIFO (TxFIFO) in the UART driver. The added code snippet includes a sequence of instructions that ensures efficient handling of data transmission and synchronization with the host software.
The code first checks the TxFIFO empty flag to determine whether there is data available for transmission. If the TxFIFO is not empty, the code waits until it becomes empty, ensuring that the transmit operation is synchronized with the availability of data. Subsequently, the code monitors the transmit operation's activity status. It waits until the transmit operation becomes inactive, indicating the completion of the previous transmission.
This synchronization step ensures that new data can be added to the TxFIFO without causing any loss of transmission time.
Update console_flush() function, the function waits for the Transmitter FIFO to empty and checks the transmitter's active state. If the transmitter is in an active state, it means it is currently shifting out a character.
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com> Change-Id: I9d6c05bdfb9270924b40bf1f6ecb5fe541a2242e
show more ...
|
| ca9d6edc | 26-Jun-2023 |
XiaoDong Huang <derrick.huang@rock-chips.com> |
fix(scmi): add parameter for plat_scmi_clock_rates_array
Pass "start_idx" to plat_scmi_clock_rates_array. This parameter is required to obtain the rate table a second time.
Signed-off-by: XiaoDong
fix(scmi): add parameter for plat_scmi_clock_rates_array
Pass "start_idx" to plat_scmi_clock_rates_array. This parameter is required to obtain the rate table a second time.
Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com> Change-Id: I97c6751e7d34c839ced8f22bddc39fb534978cc4
show more ...
|
| 4796d2d9 | 21-Jul-2023 |
Rob Hughes <robert.hughes@arm.com> |
feat(ethos-n): update npu error handling
Changes have been made in NPU firmware version 13 around error handling which require some different register values to be set in AUXCTLR and SYSCTRL1.
SiP
feat(ethos-n): update npu error handling
Changes have been made in NPU firmware version 13 around error handling which require some different register values to be set in AUXCTLR and SYSCTRL1.
SiP service version number has been bumped up to 15 to reflect these changes.
Change-Id: I6cda0048dc75df2150f7a0fe25f12ba6bf119ced Signed-off-by: Rob Hughes <robert.hughes@arm.com>
show more ...
|
| 29ae73e3 | 07-Aug-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "mb/mb-signer-id" into integration
* changes: feat(qemu): add dummy plat_mboot_measure_key() function docs(rss): update RSS doc for signer-ID feat(imx): add dummy 'pla
Merge changes from topic "mb/mb-signer-id" into integration
* changes: feat(qemu): add dummy plat_mboot_measure_key() function docs(rss): update RSS doc for signer-ID feat(imx): add dummy 'plat_mboot_measure_key' function feat(tc): implement platform function to measure and publish Public Key feat(auth): measure and publicise the Public Key feat(fvp): implement platform function to measure and publish Public Key feat(fvp): add public key-OID information in RSS metadata structure feat(auth): add explicit entries for key OIDs feat(rss): set the signer-ID in the RSS metadata feat(auth): create a zero-OID for Subject Public Key docs: add details about plat_mboot_measure_key function feat(measured-boot): introduce platform function to measure and publish Public Key
show more ...
|