| c069c8ef | 02-Oct-2025 |
Madhav Bhatt <madhav.bhatt@amd.com> |
fix(zynqmp): remove PM_ABORT_SUSPEND API implementation
The API is not getting called by Linux. Removing it to reduce dead code and improve maintainability.
Change-Id: Iac7a651273401b6737c92ad26cb5
fix(zynqmp): remove PM_ABORT_SUSPEND API implementation
The API is not getting called by Linux. Removing it to reduce dead code and improve maintainability.
Change-Id: Iac7a651273401b6737c92ad26cb5f990b512889b Signed-off-by: Madhav Bhatt <madhav.bhatt@amd.com>
show more ...
|
| 4fd510e0 | 02-Sep-2025 |
Ronak Jain <ronak.jain@amd.com> |
feat(xilinx): use common SECURE/NON_SECURE macro
Remove platform-specific macro definitions such as SECURE_FLAG and NON_SECURE_FLAG, and replace them with the common macros SECURE and NON_SECURE acr
feat(xilinx): use common SECURE/NON_SECURE macro
Remove platform-specific macro definitions such as SECURE_FLAG and NON_SECURE_FLAG, and replace them with the common macros SECURE and NON_SECURE across all AMD-Xilinx platforms.
Change-Id: I95465e29ac8a9370da135c2113203c3206ecfec0 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 5cac1d85 | 20-Aug-2025 |
Ronak Jain <ronak.jain@amd.com> |
fix(xilinx): fix missing security flag in suspend path
Suspend flow was always programming wakeup sources with a fixed secure flag, regardless of whether the caller was secure or non-secure. This ma
fix(xilinx): fix missing security flag in suspend path
Suspend flow was always programming wakeup sources with a fixed secure flag, regardless of whether the caller was secure or non-secure. This may cause incorrect behavior for non-secure suspend requests.
Fix this by passing the caller's security state (flag) through pm_client_suspend() and pm_client_set_wakeup_sources() to ensure that wakeup sources are set with the correct context.
Fixes: <4697164a3fa8> ("plat: xilinx: versal: Mark IPI calls secure/non-secure")
Change-Id: I5fcf65788a54010b4759b0d08e4f54c6e5037e47 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 8ce93ec9 | 28-Jul-2025 |
Ronak Jain <ronak.jain@amd.com> |
feat(zynqmp): mark IPI calls secure/non-secure
Use BIT24 of the IPI command header from payload[0] to identify the caller's security state. If the SMC caller is non-secure, set BIT24 to indicate a n
feat(zynqmp): mark IPI calls secure/non-secure
Use BIT24 of the IPI command header from payload[0] to identify the caller's security state. If the SMC caller is non-secure, set BIT24 to indicate a non-secure origin.
The mechanism is already present in Versal, Versal NET, and Versal Gen 2 platforms. Extend the same support to Zynq UltraScale+ MPSoC (ZU+) to align its behavior with newer SoCs.
Change-Id: Ic77926033e76a53c0fa1a9949e6838ec64bd6ae5 Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 25463503 | 14-Aug-2025 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(zynqmp): runtime console in debug mode
Whenever DEBUG is set to 1, the Makefile forces CONSOLE_RUNTIME to cadence1, regardless of the user-specified ZYNQMP_CONSOLE value. This causes a build req
fix(zynqmp): runtime console in debug mode
Whenever DEBUG is set to 1, the Makefile forces CONSOLE_RUNTIME to cadence1, regardless of the user-specified ZYNQMP_CONSOLE value. This causes a build requested with ZYNQMP_CONSOLE= cadence1 to register both cadence1 and cadence as boot and runtime consoles. If the hardware is connected only to UART1, this causes TF-A to hang when UART0 is selected as the runtime console, since it waits indefinitely on the transmit FIFO. The fix ensures that, in a DEBUG build, CONSOLE_RUNTIME defaults to the same value as ZYNQMP_CONSOLE.
Change-Id: Ieff6adf4c6c30e07b8c7309c4835dcb32dcf9373 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 01907f3f | 04-Jul-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(arm): unify SPSR retrieval logic
Consolidate platform-specific SPSR setup logic into a single arm_get_spsr() function that accepts an image_id to select between BL32 and BL33. This reduces
refactor(arm): unify SPSR retrieval logic
Consolidate platform-specific SPSR setup logic into a single arm_get_spsr() function that accepts an image_id to select between BL32 and BL33. This reduces duplication and simplifies control over SPSR generation for later stages, particularly BL33.
The SPD remains responsible for setting the SPSR for BL32.
Change-Id: Ibbba708d607e7676989f5c7ceffe33d7bb2195f1 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 97ec082a | 07-May-2025 |
Michal Simek <michal.simek@amd.com> |
fix(zynqmp): workaround issue around cntpct_el0
cntvct_el0 after power up has an architecturally UNKNOWN value. In ZynqMP case the value is very high (e.g. 0xefffffe80d4de62d). At best value should
fix(zynqmp): workaround issue around cntpct_el0
cntvct_el0 after power up has an architecturally UNKNOWN value. In ZynqMP case the value is very high (e.g. 0xefffffe80d4de62d). At best value should be 0 because it is used for time measuring when systemd analyze command is called (via storing it in UEFI variables). As a workaround for this issue use cntvoff_el2 to record offset from actual value which clears cntvct_el0. There could be different way how to achieve this behavior but till that time use this workaround to fix systemd analyze behavior.
Change-Id: Ie43096bb33bb0e02c8cac07f965610b4565e141c Signed-off-by: Michal Simek <michal.simek@amd.com>
show more ...
|
| 55f6ea4d | 16-Apr-2025 |
Prasad Kummari <prasad.kummari@amd.com> |
refactor(zynqmp): refactor custom sip service
Refactored the custom SIP service code and relocated it to a common directory to support additional platforms and enhance code readability. Renamed ZYNQ
refactor(zynqmp): refactor custom sip service
Refactored the custom SIP service code and relocated it to a common directory to support additional platforms and enhance code readability. Renamed ZYNQMP_SIP_SVC_CUSTOM to a generic SOC_SIP_SVC_CUSTOM for better with other across SoCs
Change-Id: Id114f717d0397e257a831c7d5b67104c2c766d09 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 35d18d8d | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor: make arm_gicv2.c and arm_gicv3.c common
These files were meant to be platform specific, but they are generic enough that a range of platforms find them useful. However, refactoring them is
refactor: make arm_gicv2.c and arm_gicv3.c common
These files were meant to be platform specific, but they are generic enough that a range of platforms find them useful. However, refactoring them is difficult as their use is platform specific. So copy them to a generic place and redirect platforms to them.
The new copies will remain for compatibility for platforms that don't want to or can't take up upcoming refactors and the old copies can be drastically refactored to make them more widely applicable.
Change-Id: I056c8710cdda4d8a81b324d392762c29e02cdae1 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 55ae162f | 28-Mar-2025 |
Luc Michel <luc.michel@amd.com> |
fix(zynqmp): fix syscnt frequency for QEMU
QEMU uses a 62.5MHz clock frequency for the ARM generic timers.
Signed-off-by: Luc Michel <luc.michel@amd.com> Change-Id: Ib846e17feb3cd44878a62add320fa47
fix(zynqmp): fix syscnt frequency for QEMU
QEMU uses a 62.5MHz clock frequency for the ARM generic timers.
Signed-off-by: Luc Michel <luc.michel@amd.com> Change-Id: Ib846e17feb3cd44878a62add320fa4795fd5c69e
show more ...
|
| df44616a | 08-Jan-2025 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): handle invalid entry point in cpu hotplug scenario
Invalid addresses are from 2G-4G and also address where TF-A is.
Change-Id: Iedb817a2f9667b7d0b9a3ac03891a5b93295bf87 Signed-off-by:
fix(zynqmp): handle invalid entry point in cpu hotplug scenario
Invalid addresses are from 2G-4G and also address where TF-A is.
Change-Id: Iedb817a2f9667b7d0b9a3ac03891a5b93295bf87 Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| fe81d9c9 | 04-Mar-2025 |
Carsten Hansen <Carsten.Hansen@bksv.com> |
feat(zynqmp): add pin group for lower qspi interface
ZynqMP provides two QSPI interfaces on MIO[0..12], but the existing pin group definitions only allow all or none of the pins to be configured for
feat(zynqmp): add pin group for lower qspi interface
ZynqMP provides two QSPI interfaces on MIO[0..12], but the existing pin group definitions only allow all or none of the pins to be configured for QSPI.
This is an issue on platforms that use only the lower QSPI interface and require the remaining pins to be configured for other purposes such as general I/O.
Add pin groups to support QSPI on MIO[0..4] with SS (slave select) on MIO5, freeing up MIO[7..12] for other uses.
The new pin groups can be accessed from Linux as 'qspi0_1_grp' and 'qspi_ss_1_grp'.
Change-Id: Ibdb3f13d4ba9194a3be8ce5e63478d9066d087ac Signed-off-by: Carsten Hansen <Carsten.Hansen@bksv.com> Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com>
show more ...
|
| 4c5cf47f | 04-Dec-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
refactor(xilinx): refactor console to support transfer list
Refactor console to support DTB console in case of transfer list. Simplify logic where SOC specific macros are moved to platform headers o
refactor(xilinx): refactor console to support transfer list
Refactor console to support DTB console in case of transfer list. Simplify logic where SOC specific macros are moved to platform headers or makefile where XLNX_DT_CFG macro describe if system is DT driven or not.
Change-Id: Id45c03a950b62e83e91a50e0485eacdb233ba745 Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| f535068c | 30-Jan-2025 |
Peter Robinson <pbrobinson@gmail.com> |
fix(zynqmp): fix length of clock name
The CLK_NAME_LEN variable is set to 15 but with more hardening we get the following error for the pss_alt_ref_clk name so bump the length slightly to take all t
fix(zynqmp): fix length of clock name
The CLK_NAME_LEN variable is set to 15 but with more hardening we get the following error for the pss_alt_ref_clk name so bump the length slightly to take all the requirements into account.
plat/xilinx/zynqmp/pm_service/pm_api_clock.c:2248:25: error: initializer-string for array of ‘char’ is too long [-Werror=unterminated-string-initialization] 2248 | .name = "pss_alt_ref_clk", | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors
Fixes: caae497df ("zynqmp: pm: Add clock control EEMI API and ioctl functions") Change-Id: I399271dd257c6e40a2d319c47f2588a958a5491b Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
show more ...
|
| fffde230 | 23-Jan-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge changes from topic "xlnx_fix_plat_single_ret" into integration
* changes: fix(versal2): modify function to have single return fix(versal-net): modify function to have single return fix(v
Merge changes from topic "xlnx_fix_plat_single_ret" into integration
* changes: fix(versal2): modify function to have single return fix(versal-net): modify function to have single return fix(versal): modify function to have single return fix(xilinx): modify function to have single return fix(zynqmp): modify function to have single return fix(versal-net): add unsigned suffix to match data type fix(versal): add unsigned suffix to match data type fix(versal2): add missing curly braces fix(versal-net): add missing curly braces fix(zynqmp): add missing curly braces
show more ...
|
| e14ae4b3 | 06-Jan-2025 |
Saivardhan Thatikonda <saivardhan.thatikonda@amd.com> |
fix(xilinx): dcc console tests failing
The commit a6485b2b3b2c ("refactor(delay-timer): add timer callback functions") is breaking DCC console due to uninitialized timer ops structure. Fix it by mov
fix(xilinx): dcc console tests failing
The commit a6485b2b3b2c ("refactor(delay-timer): add timer callback functions") is breaking DCC console due to uninitialized timer ops structure. Fix it by moving generic delay timer init prior to console setup to make sure that time is setup before DCC console setup.
Fixes: a6485b2b3b2c ("refactor(delay-timer): add timer callback functions")
Change-Id: I67910332773741c0b08f02feb232efab6356db12 Signed-off-by: Saivardhan Thatikonda <saivardhan.thatikonda@amd.com>
show more ...
|
| 3f6d4794 | 04-Nov-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): modify function to have single return
This corrects the MISRA violation C2012-15.5: A function should have a single point of exit at the end. Introduced a temporary variable to store th
fix(zynqmp): modify function to have single return
This corrects the MISRA violation C2012-15.5: A function should have a single point of exit at the end. Introduced a temporary variable to store the return value to ensure single return for the function.
Change-Id: Ibff3df16b4c591384467771bc7cb316f1773f1ea Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| e4a0c44f | 25-Apr-2024 |
Nithin G <nithing@amd.com> |
fix(zynqmp): add missing curly braces
This corrects the MISRA violation C2012-15.6: The body of an iteration-statement or a selection-statement shall be a compound-statement. Enclosed statement body
fix(zynqmp): add missing curly braces
This corrects the MISRA violation C2012-15.6: The body of an iteration-statement or a selection-statement shall be a compound-statement. Enclosed statement body within the curly braces.
Change-Id: I8941f3c713586c36396e1f3731b99ffadc28c6e8 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 6ae95624 | 24-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): typecast operands to match data type
This corrects the MISRA violation C2012-10.3: The value of an expression shall not be assigned to an object with a narrower essential type or of a d
fix(zynqmp): typecast operands to match data type
This corrects the MISRA violation C2012-10.3: The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category. The condition is explicitly checked against 0U, appending 'U' and typecasting for unsigned comparison.
Change-Id: I141fbc554265173df0ca90c2ddc7f28137c6b0f1 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 2863b0c4 | 24-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): typecast operands to match data type
This corrects the MISRA violation C2012-10.1: Operands shall not be of an inappropriate essential type. The condition is explicitly checked against
fix(zynqmp): typecast operands to match data type
This corrects the MISRA violation C2012-10.1: Operands shall not be of an inappropriate essential type. The condition is explicitly checked against 0U, appending 'U' and typecasting for unsigned comparison.
Change-Id: I016f9df3811d80cd230257b5533d4d15a15fe14f Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 895e8029 | 23-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): typecast expressions to match data type
This corrects the MISRA violation C2012-10.4: Both operands of an operator in which the usual arithmetic conversions are performed shall have the
fix(zynqmp): typecast expressions to match data type
This corrects the MISRA violation C2012-10.4: Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category. The condition is explicitly checked against 0U, appending 'U' and typecasting for unsigned comparison.
Change-Id: I847af07f5e4f139384c1ed50bee765b892a6e9cd Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 1877bf2c | 23-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): align essential type categories
This corrects the MISRA violation C2012-10.7: If a composite expression is used as one operand of an operator in which the usual arithmetic conversions a
fix(zynqmp): align essential type categories
This corrects the MISRA violation C2012-10.7: If a composite expression is used as one operand of an operator in which the usual arithmetic conversions are performed then the other operand shall not have wider essential type. Explicitly type casted to match the data type of both the operands.
Change-Id: I670304682cc4945b8575f125ac750d0dc69079a7 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| e2cc129b | 23-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): typecast expression to match data type
This corrects the MISRA violation C2012-10.6: The value of a composite expression shall not be assigned to an object with wider essential type. Ex
fix(zynqmp): typecast expression to match data type
This corrects the MISRA violation C2012-10.6: The value of a composite expression shall not be assigned to an object with wider essential type. Explicitly type casted to match the data type of composite expression.
Change-Id: I6497453f9f7455ae2f1ad8a18760ff0ef41d7c40 Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| eda23fa5 | 08-Oct-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): variable conflicting with external linkage
This corrects the MISRA violation C2012-5.8: Identifiers that define objects or functions with external linkage shall be unique. Modify the va
fix(zynqmp): variable conflicting with external linkage
This corrects the MISRA violation C2012-5.8: Identifiers that define objects or functions with external linkage shall be unique. Modify the variable name to prevent conflict with external object linkage.
Change-Id: I32bed542c4810508174029ab0aaec18bcdf849a5 Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|
| 6c08d1df | 19-Apr-2024 |
Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com> |
fix(zynqmp): add external declaration
This corrects the MISRA violation C2012-8.4: A compatible declaration shall be visible when an object or function with external linkage is defined.
Change-Id:
fix(zynqmp): add external declaration
This corrects the MISRA violation C2012-8.4: A compatible declaration shall be visible when an object or function with external linkage is defined.
Change-Id: I0e554972c24b70abd5b563639482f267cd4e1b5e Signed-off-by: Nithin G <nithing@amd.com> Signed-off-by: Maheedhar Bollapalli <maheedharsai.bollapalli@amd.com>
show more ...
|