| f1e693a7 | 10-Mar-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(auth): compare platform and certificate ROTPK for authentication
Compared the full ROTPK with the ROTPK obtained from the certificate when the platform supports full ROTPK instead of hash of RO
feat(auth): compare platform and certificate ROTPK for authentication
Compared the full ROTPK with the ROTPK obtained from the certificate when the platform supports full ROTPK instead of hash of ROTPK.
Additionally, changed the code to verify the ROTPK before relying on it for signature verification.
Change-Id: I52bb9deb1a1dd5b184d3156bddad14c238692de7 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| bd96d533 | 30-Mar-2023 |
Rob Newberry <robthedude@mac.com> |
fix(rpi3): initialize SD card host controller
Add initial configuration parameters for Rasperry Pi 3's sdhost controller, and then configure and use those parameters.
This change allows warm reboot
fix(rpi3): initialize SD card host controller
Add initial configuration parameters for Rasperry Pi 3's sdhost controller, and then configure and use those parameters.
This change allows warm reboots of UEFI on Raspberry Pi 3B+ where existing code often fails with "unknown error". See discussion at:
https://github.com/pftf/RPi3/issues/24
The basic idea is that some initial configuration parameters (clock rate, bus width) aren't configured into the hardware before commands start being sent. I suspect that the particular setting that matters is the "slow card" bit, but the initial clock setting also seemed wrong to me.
Change-Id: I526def340def143f23f3422f1fc14c12c937ca7f Signed-off-by: Rob Newberry <robthedude@mac.com>
show more ...
|
| 529bc3df | 06-Apr-2023 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(scmi): fix compilation error in scmi base" into integration |
| 986c4e99 | 14-Mar-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add separate RO and RW NSAIDs
To be able to further restrict the memory access for the Arm(R) Ethos(TM)-N NPU, separate read-only and read/write NSAIDs for the non-protected and prote
feat(ethos-n): add separate RO and RW NSAIDs
To be able to further restrict the memory access for the Arm(R) Ethos(TM)-N NPU, separate read-only and read/write NSAIDs for the non-protected and protected memory have been added to the Juno platform's TZMP1 TZC configuration for the NPU.
The platform definition has been updated accordingly and the NPU driver will now only give read/write access to the streams that require it.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I5a173500fc1943a5cd406a3b379e1f1f554eeda6
show more ...
|
| 6dcf3e77 | 10-Feb-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n)!: add protected NPU firmware setup
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, the NPU should use the firmware that has been loaded into the protected memory by
feat(ethos-n)!: add protected NPU firmware setup
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, the NPU should use the firmware that has been loaded into the protected memory by BL2. The Linux Kernel NPU driver in the non-secure world is not allowed to configure the NPU to do this in a TZMP1 build so the SiP service will now configure the NPU to boot with the firmware in the protected memory.
BREAKING CHANGE: The Linux Kernel NPU driver can no longer directly configure and boot the NPU in a TZMP1 build. The API version has therefore been given a major version bump with this change.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I65d00f54b3ade3665d7941e270da7a3dec02281a
show more ...
|
| e64abe7b | 10-Feb-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add stream extends and attr support
The SiP service for the Arm(R) Ethos(TM)-N NPU driver will now handle setting up the address extension and attribute control for the NPU's streams.
feat(ethos-n): add stream extends and attr support
The SiP service for the Arm(R) Ethos(TM)-N NPU driver will now handle setting up the address extension and attribute control for the NPU's streams. The non-secure world will still be allowed to read the address extension for stream0 but non-secure access to all other streams have been removed.
The API version has been given a minor bump with this change to indicate the added functionality.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I2b041ca4a0a2b5cd6344a4ae144f75e137c72592
show more ...
|
| 7820777f | 10-Feb-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add event and aux control support
The SiP service for the Arm(R) Ethos(TM)-N NPU driver will now handle setting up the NPU's event and aux control registers during the SMC reset call.
feat(ethos-n): add event and aux control support
The SiP service for the Arm(R) Ethos(TM)-N NPU driver will now handle setting up the NPU's event and aux control registers during the SMC reset call. The aux control register will no longer be accessible by the non-secure world.
The API version has been given a minor bump with this change to indicate the added functionality.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I5b099e25978aa4089c384eb17c5060c5b4eaf373
show more ...
|
| e9812ddc | 27-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add SMC call to get FW properties
When the Arm(R) Ethos(TM)-N NPU firmware is loaded by BL2 into protected memory, the Linux kernel NPU driver cannot access the firmware. To still all
feat(ethos-n): add SMC call to get FW properties
When the Arm(R) Ethos(TM)-N NPU firmware is loaded by BL2 into protected memory, the Linux kernel NPU driver cannot access the firmware. To still allow the kernel driver to access some information about the firmware, SMC calls have been added so it can check compatibility and get the necessary information to map the firmware into the SMMU for the NPU.
The API version has been given a minor version bump with this change to indicate the added functionality.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: Idb076b7bcf54ed7e8eb39be80114dc1d1c45336d
show more ...
|
| 18a6b79c | 27-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
refactor(ethos-n): split up SMC call handling
Doing all the SMC call handling in a single function and using specific names for the x1-4 parameters is no longer practical for upcoming additions to t
refactor(ethos-n): split up SMC call handling
Doing all the SMC call handling in a single function and using specific names for the x1-4 parameters is no longer practical for upcoming additions to the SiP service. Handling of the different SMC functions have therefore been split into separate functions.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: If28da8df0f13c449d1fdb2bd9d792d818ec5e1af
show more ...
|
| 313b776f | 13-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add NPU firmware validation
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, it will now validate the NPU firmware binary that BL2 is expected to load into the prot
feat(ethos-n): add NPU firmware validation
When the Arm(R) Ethos(TM)-N NPU driver is built with TZMP1 support, it will now validate the NPU firmware binary that BL2 is expected to load into the protected memory location specified by ARM_ETHOSN_NPU_IMAGE_BASE.
Juno has been updated with a new BL31 memory mapping to allow the SiP service to read the protected memory that contains the NPU firmware binary.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I633256ab7dd4f8f5a6f864c8c98a66bf9dfc37f3
show more ...
|
| a2cdbb1d | 18-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add check for NPU in SiP setup
The SiP service in the Arm(R) Ethos(TM)-N NPU driver requires that there is at least one NPU available. If there is no NPU available, the driver is eith
feat(ethos-n): add check for NPU in SiP setup
The SiP service in the Arm(R) Ethos(TM)-N NPU driver requires that there is at least one NPU available. If there is no NPU available, the driver is either used incorrectly or the HW config is incorrect.
To ensure that the SiP service is not incorrectly used, a setup handler has been added to the service that will validate that there is at least one NPU available.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I8139a652f265cfc0db4a37464f39f1fb92868e10
show more ...
|
| 5a89947a | 11-Jan-2023 |
Mikael Olsson <mikael.olsson@arm.com> |
fix(ethos-n): add workaround for erratum 2838783
To workaround Arm(R) Ethos(TM)-N NPU erratum 2838783, the NPU has been configured to allow being woken up by both secure and non-secure events to mak
fix(ethos-n): add workaround for erratum 2838783
To workaround Arm(R) Ethos(TM)-N NPU erratum 2838783, the NPU has been configured to allow being woken up by both secure and non-secure events to make sure that an event always wakes up the NPU.
The API version has been given a minor version bump with this change to indicate that this fix is included.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I429cdd6bf1e633b4dedf2e94af28937dd892a0ba
show more ...
|
| 70a296ee | 16-Nov-2022 |
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> |
feat(ethos-n): add support to set up NSAID
For the TZC to allow the Arm(R) Ethos(TM)-N NPU to access the buffers allocated in a protected memory region, it must include the correct NSAID for that re
feat(ethos-n): add support to set up NSAID
For the TZC to allow the Arm(R) Ethos(TM)-N NPU to access the buffers allocated in a protected memory region, it must include the correct NSAID for that region in its transactions to the memory. This change updates the SiP service to configure the NSAIDs specified by a platform define. When doing a protected access the SiP service now configures the NSAIDs specified by the platform define. For unprotected access the NSAID is set to zero.
Signed-off-by: Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Signed-off-by: Rob Hughes <robert.hughes@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I3360ef33705162aba5c67670386922420869e331
show more ...
|
| 2a2e3e87 | 04-Nov-2022 |
Mikael Olsson <mikael.olsson@arm.com> |
feat(ethos-n): add NPU sleeping SMC call
The non-secure world delegation of the register needed to determine if the Arm(R) Ethos(TM)-N NPU is active or sleeping will be removed in the future. In pre
feat(ethos-n): add NPU sleeping SMC call
The non-secure world delegation of the register needed to determine if the Arm(R) Ethos(TM)-N NPU is active or sleeping will be removed in the future. In preparation for the change, a new SMC call has been added to allow the non-secure world to ask the SiP service for the state instead.
A minor API version bump has been done with this change to indicate support for the new functionality.
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I1338341be385cf1891f4809efb7083fae6d928bc
show more ...
|
| fa37d308 | 19-Oct-2022 |
Joshua Pimm <joshua.pimm@arm.com> |
feat(ethos-n): add reset type to reset SMC calls
Adds a reset type argument for the soft and hard reset SMC calls to indicate whether to perform a full reset and setup or only halt the Arm(R) Ethos(
feat(ethos-n): add reset type to reset SMC calls
Adds a reset type argument for the soft and hard reset SMC calls to indicate whether to perform a full reset and setup or only halt the Arm(R) Ethos(TM)-N NPU. For use in cases where the NPU will not be used but must be put into a known state, such as suspending the NPU as part of power management.
Signed-off-by: Joshua Pimm <joshua.pimm@arm.com> Signed-off-by: Mikael Olsson <mikael.olsson@arm.com> Change-Id: I6018af85a28b0e977166ec29d26f04739123140c
show more ...
|
| a02a45df | 08-Mar-2023 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions are received simultaneously from different sources. This hardware issue impacts NVIDIA server platforms that use more than two T241 chips interconnected. Each chip has support for 320 {E}SPIs.
This issue occurs when multiple packets from different GICs are incorrectly interleaved at the target chip. The erratum text below specifies exactly what can cause multiple transfer packets susceptible to interleaving and GIC state corruption. GIC state corruption can lead to a range of problems, including kernel panics, and unexpected behavior.
Erratum documentation: https://developer.nvidia.com/docs/t241-fabric-4/nvidia-t241-fabric-4-errata.pdf
The workaround is to ensure that MMIO accesses target the GIC on the socket that holds the data, for example SPI ranges owned by the socket’s GIC. This ensures that the GIC will not utilize the inter-socket AXI Stream interface for servicing these GIC MMIO accesses.
This patch updates the functions that use the GICD_In{E} registers to ensure that the accesses are directed to the chip that owns the SPI, instead of using the global alias.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I04e33ba64eb306bd5fdabb56e63cbe273d8cd632
show more ...
|
| d5a8482f | 21-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(mmc): remove redundant reset_to_idle call" into integration |
| 7c389342 | 21-Mar-2023 |
Michal Simek <michal.simek@amd.com> |
fix(scmi): fix compilation error in scmi base
Fix compilation error when scmi base in enabled. The following compilation error is visible: drivers/scmi-msg/base.c: In function 'discover_list_protoco
fix(scmi): fix compilation error in scmi base
Fix compilation error when scmi base in enabled. The following compilation error is visible: drivers/scmi-msg/base.c: In function 'discover_list_protocols': include/lib/utils_def.h:70:20: error: comparison of distinct pointer types lacks a cast [-Werror] 70 | (void)(&_x == &_y); \ | ^~ drivers/scmi-msg/base.c:154:25: note: in expansion of macro 'MIN' 154 | count = MIN(count - a2p->skip, msg->out_size - sizeof(p2a));
Change-Id: I79e60d4bc9c4f6e78a76099a36ebf4fe5212a7d1 Signed-off-by: Michal Simek <michal.simek@amd.com>
show more ...
|
| 2519ee5f | 17-Mar-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "feat(ufs): adds timeout and error handling" into integration |
| 13a6f250 | 16-Mar-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(nxp-drivers): use semicolon instead of comma" into integration |
| 50b8ea11 | 21-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
fix(nxp-drivers): use semicolon instead of comma
Use semicolon insted of comma at the end of line.
Change-Id: Id820f4419fdd7cf522fd8bb07395789d25f40c2e Signed-off-by: Elyes Haouas <ehaouas@noos.fr> |
| 2c5bce38 | 10-Mar-2023 |
Anand Saminathan <anans@google.com> |
feat(ufs): adds timeout and error handling
Adds a common function to poll for interrupt status which reports errors and returns error codes
Signed-off-by: Anand Saminathan <anans@google.com> Change
feat(ufs): adds timeout and error handling
Adds a common function to poll for interrupt status which reports errors and returns error codes
Signed-off-by: Anand Saminathan <anans@google.com> Change-Id: Ie5df036dc979e984871de4ae7e974b994296ca4c
show more ...
|
| 17628eb5 | 14-Mar-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(rss): fix msg deserialization bugs in comms" into integration |
| 9a90d720 | 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
S
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I7957c9694300fefb85d11f7819c43af95271f14c
show more ...
|
| dda05285 | 06-Mar-2023 |
David Vincze <david.vincze@arm.com> |
fix(rss): fix msg deserialization bugs in comms
-fix1: size of struct instead of pointer during reply_size check -fix2: update the out_vec length with the actual length from reply message (e.
fix(rss): fix msg deserialization bugs in comms
-fix1: size of struct instead of pointer during reply_size check -fix2: update the out_vec length with the actual length from reply message (e.g. in case of an output buffer, the returned output data length remained the size of the buffer and was not updated with the size of the actual data in it)
Change-Id: Ibed5520ca1fb05df358de4bdf85ace219183866c Signed-off-by: David Vincze <david.vincze@arm.com>
show more ...
|