| b40a4677 | 07-Jan-2022 |
Dave Gerlach <d-gerlach@ti.com> |
feat(ti): add gic save and restore calls
Add functions to save and restore GICv3 redist and dist contexts during low power mode and then call these during the suspend entry and finish psci handlers.
feat(ti): add gic save and restore calls
Add functions to save and restore GICv3 redist and dist contexts during low power mode and then call these during the suspend entry and finish psci handlers.
Change-Id: I26c2c0f3b7fc925de3b349499fa42d2405441577 Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
show more ...
|
| cf5868b8 | 30-Nov-2021 |
Dave Gerlach <d-gerlach@ti.com> |
feat(ti): add enter sleep method
This TISCI API must be used to trigger entry into system suspend, and this is done through the use of TI_SCI_MSG_ENTER_SLEEP. Introduce a method to send this message
feat(ti): add enter sleep method
This TISCI API must be used to trigger entry into system suspend, and this is done through the use of TI_SCI_MSG_ENTER_SLEEP. Introduce a method to send this message.
Change-Id: Id7af5fb2a34623ad69e76764f389ff4d8d259fba Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
show more ...
|
| 3dbbd41f | 27-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes Ibe6fd206,Icdca3de6,I72016620,I57a2787c into integration
* changes: fix(versal): fix coverity scan warnings feat(versal): get version for ATF related EEMI APIs feat(versal): enha
Merge changes Ibe6fd206,Icdca3de6,I72016620,I57a2787c into integration
* changes: fix(versal): fix coverity scan warnings feat(versal): get version for ATF related EEMI APIs feat(versal): enhance PM_IOCTL EEMI API to support additional arg feat(versal): add common interfaces to handle EEMI commands
show more ...
|
| 9284d212 | 27-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(twed): improve TWED enablement in EL-3" into integration |
| 0b151872 | 23-Mar-2022 |
Tanmay Shah <tanmay.shah@xilinx.com> |
fix(versal): fix coverity scan warnings
- Fix memory overrun issue - include header file to fix Unknown macro warning
Change-Id: Ibe6fd206f44fbc22de746d255ff17c2b2325cd7b Signed-off-by: Tanmay Shah
fix(versal): fix coverity scan warnings
- Fix memory overrun issue - include header file to fix Unknown macro warning
Change-Id: Ibe6fd206f44fbc22de746d255ff17c2b2325cd7b Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
show more ...
|
| da6e654b | 04-Feb-2022 |
Ronak Jain <ronak.jain@xilinx.com> |
feat(versal): get version for ATF related EEMI APIs
The patch does below things.
1. As per current implementation, when Linux send a request to ATF to get the version of APIs which are implemented
feat(versal): get version for ATF related EEMI APIs
The patch does below things.
1. As per current implementation, when Linux send a request to ATF to get the version of APIs which are implemented in ATF then ATF wasn't returning any version because there is a check for LIBPM module id. The ATF is used to return version for the APIs which are implemented in the firmware only.
Hence moved this switch-case before checking module id to get ATF version.
Also, no need to pass Linux request to the firmware for the APIs which are implemented in ATF instead return success after updating version.
2. As per current implementation, higher 16-bit is used for ATF version and lower 16-bit is used for firmware version. Now, removed 16-bit shift operation and send complete word i.e. 32-bit to Linux user as there is no user who checks ATF version.
3. Add bit mask support in the feature check PM EEMI API for QUERY and IOCTL ids.
Change-Id: Icdca3de6659f3b673b81a423ed79a3c20b678768 Signed-off-by: Ronak Jain <ronak.jain@xilinx.com> Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
show more ...
|
| d34a5db8 | 21-Oct-2021 |
Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> |
feat(versal): enhance PM_IOCTL EEMI API to support additional arg
Currently, SMC handler is limited to parsing 5 arguments (1 API ID + 4 32-bit command args). Extend this handling to support one mor
feat(versal): enhance PM_IOCTL EEMI API to support additional arg
Currently, SMC handler is limited to parsing 5 arguments (1 API ID + 4 32-bit command args). Extend this handling to support one more 32-bit command argument which is necessary to support new IOCTL IDs for secure read/write interface.
Note that, this change is completely transparent and does not affect existing functionality of any of the EEMI APIs.
Change-Id: I72016620eeeaf598f14853512120bfb30bb9a3e9 Signed-off-by: Izhar Ameer Shaikh <izhar.ameer.shaikh@xilinx.com> Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
show more ...
|
| 13979674 | 09-Aug-2021 |
Tanmay Shah <tanmay.shah@xilinx.com> |
feat(versal): add common interfaces to handle EEMI commands
This change adds common interfaces to handle commands from firmware driver to power management controller. It removes big chunk of source
feat(versal): add common interfaces to handle EEMI commands
This change adds common interfaces to handle commands from firmware driver to power management controller. It removes big chunk of source line of code that was handling each command separately and doing same repetitive work.
EEMI - Embedded Energy Management Interface is Xilinx proprietary protocol to allow communication between power management controller and different processing clusters.
As of now, Each EEMI command has its own implementation in TF-A. This is redundant. Essentially most EEMI command implementation in TF-A does same work. It prepares payload received from kernel, sends payload to firmware, receives response from firmware and send response back to kernel.
The same functionality can be achieved if common interface is used among multiple EEMI commands. This change divides platform management related SMCCC requests into 4 categories.
1) EEMI commands required for backward compatibility.
Some EEMI commands are still required for backward compatibility until removed completely or its use is changed to accommodate common interface
2) EEMI commands that require for PSCI interface and accessed from debugfs
For example EEMI calls related to CPU suspend/resume
3) TF-A specific requests
Functionality such as getting TF-A version and getting callback data for platform management is handled by this interface
4) Common interface for rest of EEMI commands
This handlers performs payload and firmware response transaction job for rest of EEMI commands. Also it parses module ID from SMC payload and inserts in IPI request. If not module ID is found, then default is LIBPM_MODULE_ID. This helps in making common path in TF-A for all the modules in PLM firmware
Change-Id: I57a2787c7fff9f2e1d1f9003b3daab092632d57e Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
show more ...
|
| e2b18771 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): provide CPU idle states to the rich OS
When using SCPI as the PSCI backend, firmware can wake up the CPUs and cluster from sleep, so CPU idle states are available for the rich OS to
feat(allwinner): provide CPU idle states to the rich OS
When using SCPI as the PSCI backend, firmware can wake up the CPUs and cluster from sleep, so CPU idle states are available for the rich OS to use. In that case, advertise them to the rich OS via the DTB.
Change-Id: I718ef6ef41212fe5213b11b4799613adbbe6e0eb Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 52466ec3 | 19-Mar-2021 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): simplify CPU_SUSPEND power state encoding
Use the encoding recommended by the PSCI specification: four bits for the power state at each power level.
SCPI provides no way to handsha
feat(allwinner): simplify CPU_SUSPEND power state encoding
Use the encoding recommended by the PSCI specification: four bits for the power state at each power level.
SCPI provides no way to handshake an exit from a standby state, so the only possible standby state is the architectural WFI state. Since WFI can be used outside of PSCI, we do not allow passing in standby states.
Change-Id: I4b3b84e5c255ee58a25255a0cab5d7623425086e Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 159c36fd | 19-Mar-2021 |
Samuel Holland <samuel@sholland.org> |
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state,
feat(allwinner): choose PSCI states to avoid translation
Aligning the PSCI and SCPI power states avoids some code to translate between the two. This also makes room for an intermediate power state, for future firmware capability growth.
Change-Id: I26691085f277a96bd405e3305ab0fe390a92b418 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 79808f10 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
fix(allwinner): improve DTB patching error handling
Currently, if any step of the DTB patching process fails, the whole process is aborted. However, this causes some problems: - If any step modifie
fix(allwinner): improve DTB patching error handling
Currently, if any step of the DTB patching process fails, the whole process is aborted. However, this causes some problems: - If any step modifies the DTB (including fdt_open_into), the dcache must still be cleaned, even if some later step fails. - The DTB may need changes in multiple places; if one patch fails (for example due to missing nodes), we should still apply other patches. - Similarly, if some patch fails, we should still run fdt_pack to clean up after ourselves.
Change-Id: If1af2e58e5a7edaf542354bb8a261dd1c3da1ad0 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 3ccccc65 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
refactor(allwinner): patch the DTB after setting up PSCI
Idle states are advertised to the rich OS by declaring them in the DTB. Since the availability of idle states depends on which PSCI implement
refactor(allwinner): patch the DTB after setting up PSCI
Idle states are advertised to the rich OS by declaring them in the DTB. Since the availability of idle states depends on which PSCI implementation was chosen, the DTB must be updated after PSCI setup.
Move this operation to bl31_plat_runtime_setup, the platform hook which happens at the right time. Defining this hook overrides the weak definition from plat/common, so copy over the code from there, too.
Change-Id: I42a83edb9cb28e1803d17dc2d73dbc879d885222 Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 6fa8e72e | 19-Dec-2021 |
Andre Przywara <andre.przywara@arm.com> |
refactor(allwinner): move DTB change code into allwinner/common
So far the H616 was the only Allwinner SoC needed to amend the DTB, to reserve the DRAM portion that BL31 occupies. To allow other SoC
refactor(allwinner): move DTB change code into allwinner/common
So far the H616 was the only Allwinner SoC needed to amend the DTB, to reserve the DRAM portion that BL31 occupies. To allow other SoCs to modify the DTB as well, without duplicating code, move the DTB change routines into Allwinner common code, and generalise the current code to allow other modifications.
No functional change intended.
Change-Id: I080ea07b6470367f3c2573a4368f8ef5196d411c Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| b08a199b | 26-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "fix(xilinx): fix mismatching function prototype" into integration |
| 394f2ea0 | 25-Apr-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes Iccfa7ec6,Ide9a7af4 into integration
* changes: feat(intel): add macro to switch between different UART PORT feat(intel): add SMC support for ROM Patch SHA384 mailbox |
| 5b44657a | 25-Apr-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "st_fwu_bkp_reg" into integration
* changes: feat(stm32mp1): retry 3 times FWU trial boot refactor(stm32mp1): update backup reg for FWU |
| 429f10e3 | 22-Apr-2022 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(stm32mp1): correct dtc version check
Depending on the shell used, the grep command can fail, leading to a wrong dtc version detection. Correct that by adding quotes.
Signed-off-by: Yann Gautier
fix(stm32mp1): correct dtc version check
Depending on the shell used, the grep command can fail, leading to a wrong dtc version detection. Correct that by adding quotes.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I329ec929559c94bf1bf99b127662c9d978e067cf
show more ...
|
| dfc59a7b | 19-Apr-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "st_nvmem_layout" into integration
* changes: refactor(stm32mp1-fdts): remove nvmem_layout node refactor(stm32mp1): drop the "st,stm32-nvmem-layout" node refactor(st):
Merge changes from topic "st_nvmem_layout" into integration
* changes: refactor(stm32mp1-fdts): remove nvmem_layout node refactor(stm32mp1): drop the "st,stm32-nvmem-layout" node refactor(st): remove useless includes
show more ...
|
| 781d07a4 | 28-Mar-2022 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved fo
refactor(twed): improve TWED enablement in EL-3
The current implementation uses plat_arm API under generic code. "plat_arm" API is a convention used with Arm common platform layer and is reserved for that purpose. In addition, the function has a weak definition which is not encouraged in TF-A.
Henceforth, removing the weak API with a configurable macro "TWED_DELAY" of numeric data type in generic code and simplifying the implementation. By default "TWED_DELAY" is defined to zero, and the delay value need to be explicitly set by the platforms during buildtime.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I25cd6f628e863dc40415ced3a82d0662fdf2d75a
show more ...
|
| 8b95e848 | 31-Jan-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' fun
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' function. The function is a wrapper to 'cm_prepare_el3_exit' function for Non-secure state.
When EL2 sysregs context exists (CTX_INCLUDE_EL2_REGS is enabled) EL1 and EL2 sysreg values are restored from the context instead of directly updating the registers.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9b071030576bb05500d54090e2a03b3f125d1653
show more ...
|
| 2d1ba79c | 12-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "style(plat/arm/corstone1000): resolve checkpatch warnings" into integration |
| def5571d | 21-Feb-2022 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
refactor(arm): use MBEDTLS_CONFIG_FILE macro
Used MBEDTLS_CONFIG_FILE macro for including mbedTLS configuration.
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Change-Id: I374b59a31df3a
refactor(arm): use MBEDTLS_CONFIG_FILE macro
Used MBEDTLS_CONFIG_FILE macro for including mbedTLS configuration.
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Change-Id: I374b59a31df3ab1e69481b2c37a6f7455a106b6e
show more ...
|
| a934332d | 11-Apr-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge "refactor(corstone700): namespace MHU driver filenames" into integration |
| 81333eac | 11-Apr-2022 |
Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> |
fix(xilinx): fix mismatching function prototype
The reported function raises a error when compilers assert the flag `-Warray-parameter=`, signaling that an array-type argument was promoted to a poin
fix(xilinx): fix mismatching function prototype
The reported function raises a error when compilers assert the flag `-Warray-parameter=`, signaling that an array-type argument was promoted to a pointer-type argument. We observed this behaviour with the gcc 11.2 version.
plat/xilinx/common/pm_service/pm_ipi.c:263:34: error: argument 1 of type 'uint32_t *' {aka 'unsigned int *'} declared as a pointer [-Werror=array-parameter=] 263 | uint32_t calculate_crc(uint32_t *payload, uint32_t bufsize) | ~~~~~~~~~~^~~~~~~ In file included from plat/xilinx/common/pm_service/pm_ipi.c:16: plat/xilinx/common/include/pm_ipi.h:30:33: note: previously declared as an array 'uint32_t[8]' {aka 'unsigned int[8]'} 30 | uint32_t calculate_crc(uint32_t payload[PAYLOAD_ARG_CNT], uint32_t buffersize); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cc1.real: all warnings being treated as errors
Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@xilinx.com> Change-Id: I7329f2e76ee0ca5faba71eb50babd20a796fee64
show more ...
|