summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bl31/bl31_traps.c4
-rw-r--r--drivers/cadence/combo_phy/cdns_combo_phy.c17
-rw-r--r--drivers/cadence/emmc/cdns_sdmmc.c75
-rw-r--r--include/arch/aarch32/asm_macros.S8
-rw-r--r--include/drivers/cadence/cdns_combo_phy.h1
-rw-r--r--include/drivers/cadence/cdns_sdmmc.h12
-rw-r--r--lib/cpus/aarch64/c1_nano.S4
-rw-r--r--lib/cpus/aarch64/c1_premium.S4
-rw-r--r--lib/cpus/aarch64/c1_pro.S4
-rw-r--r--lib/cpus/aarch64/c1_ultra.S4
-rw-r--r--lib/cpus/aarch64/cortex_a320.S4
-rw-r--r--lib/cpus/aarch64/cortex_a35.S4
-rw-r--r--lib/cpus/aarch64/cortex_a510.S4
-rw-r--r--lib/cpus/aarch64/cortex_a520.S4
-rw-r--r--lib/cpus/aarch64/cortex_a520ae.S4
-rw-r--r--lib/cpus/aarch64/cortex_a53.S4
-rw-r--r--lib/cpus/aarch64/cortex_a55.S4
-rw-r--r--lib/cpus/aarch64/cortex_a57.S4
-rw-r--r--lib/cpus/aarch64/cortex_a65.S4
-rw-r--r--lib/cpus/aarch64/cortex_a65ae.S4
-rw-r--r--lib/cpus/aarch64/cortex_a710.S4
-rw-r--r--lib/cpus/aarch64/cortex_a715.S4
-rw-r--r--lib/cpus/aarch64/cortex_a72.S4
-rw-r--r--lib/cpus/aarch64/cortex_a720.S4
-rw-r--r--lib/cpus/aarch64/cortex_a720ae.S4
-rw-r--r--lib/cpus/aarch64/cortex_a725.S4
-rw-r--r--lib/cpus/aarch64/cortex_a73.S4
-rw-r--r--lib/cpus/aarch64/cortex_a75.S4
-rw-r--r--lib/cpus/aarch64/cortex_a76.S4
-rw-r--r--lib/cpus/aarch64/cortex_a76ae.S4
-rw-r--r--lib/cpus/aarch64/cortex_a77.S4
-rw-r--r--lib/cpus/aarch64/cortex_a78.S4
-rw-r--r--lib/cpus/aarch64/cortex_a78ae.S4
-rw-r--r--lib/cpus/aarch64/cortex_a78c.S4
-rw-r--r--lib/cpus/aarch64/cortex_x1.S4
-rw-r--r--lib/cpus/aarch64/cortex_x1c.S4
-rw-r--r--lib/cpus/aarch64/cortex_x2.S4
-rw-r--r--lib/cpus/aarch64/cortex_x3.S4
-rw-r--r--lib/cpus/aarch64/cortex_x4.S4
-rw-r--r--lib/cpus/aarch64/cortex_x925.S4
-rw-r--r--lib/cpus/aarch64/neoverse_e1.S4
-rw-r--r--lib/cpus/aarch64/neoverse_n1.S4
-rw-r--r--lib/cpus/aarch64/neoverse_n2.S4
-rw-r--r--lib/cpus/aarch64/neoverse_n3.S4
-rw-r--r--lib/cpus/aarch64/neoverse_v1.S4
-rw-r--r--lib/cpus/aarch64/neoverse_v2.S4
-rw-r--r--lib/cpus/aarch64/neoverse_v3.S4
-rw-r--r--lib/cpus/aarch64/neoverse_v3ae.S4
-rw-r--r--plat/intel/soc/common/soc/socfpga_reset_manager.c31
-rw-r--r--plat/qemu/qemu_sbsa/platform.mk3
-rw-r--r--plat/qti/hoya/kodiak/sc7280_chrome/platform.mk5
-rw-r--r--plat/qti/hoya/qcs615/platform.mk6
-rw-r--r--plat/qti/hoya/sc7180/platform.mk6
-rw-r--r--plat/rockchip/px30/platform.mk4
-rw-r--r--plat/rockchip/rk3568/platform.mk3
-rw-r--r--plat/rockchip/rk3576/platform.mk3
-rw-r--r--plat/rockchip/rk3588/platform.mk1
-rw-r--r--plat/rockchip/rv1126b/platform.mk1
-rw-r--r--plat/xilinx/common/pm_service/pm_ipi.c4
59 files changed, 170 insertions, 182 deletions
diff --git a/bl31/bl31_traps.c b/bl31/bl31_traps.c
index e4cad2f3e..940ec8834 100644
--- a/bl31/bl31_traps.c
+++ b/bl31/bl31_traps.c
@@ -26,7 +26,7 @@ int handle_sysreg_trap(uint64_t esr_el3, cpu_context_t *ctx, u_register_t flags)
{
uint64_t opcode = EXTRACT(ESR_ISS, esr_el3) & ~(MASK(ISS_SYS64_DIR) | MASK(ISS_SYS64_RT));
uint8_t rt = EXTRACT(ISS_SYS64_RT, esr_el3);
- bool is_read = EXTRACT(ISS_SYS64_DIR, opcode);
+ bool is_read = EXTRACT(ISS_SYS64_DIR, esr_el3);
if (is_feat_idte3_supported() &&
((opcode >= ISS_SYSREG_OPCODE_IDREG_MIN &&
@@ -113,7 +113,7 @@ int handle_sysreg_trap(uint64_t esr_el3, cpu_context_t *ctx, u_register_t flags)
* The code here is based on pseudocode described in the Arm ARM (DDI0487). They
* can also be found in the Arm A-profile A64 Instruction Set Architecture
* document (DDI0602) available at
- * https://developer.arm.com/documentation/ddi0602/latest/.
+ * https://support.arm.com/documentation/ddi0602/latest/Shared-Pseudocode.
*
* NOTE: This piece of code must be reviewed every release against the latest
* sequence to ensure that we keep up with new arch features.
diff --git a/drivers/cadence/combo_phy/cdns_combo_phy.c b/drivers/cadence/combo_phy/cdns_combo_phy.c
index f00d0c100..87f176f9c 100644
--- a/drivers/cadence/combo_phy/cdns_combo_phy.c
+++ b/drivers/cadence/combo_phy/cdns_combo_phy.c
@@ -64,20 +64,3 @@ int cdns_sd_card_detect(void)
return 0;
}
-
-int cdns_emmc_card_reset(void)
-{
- uint32_t _status = 0;
-
- /* Reset embedded card */
- mmio_write_32(SDMMC_CDN(SRS10), (7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP) | _status);
- mdelay(68680); /* ~68680us */
- mmio_write_32(SDMMC_CDN(SRS10), (7 << SDMMC_CDN_BVS) | (0 << SDMMC_CDN_BP));
- udelay(340); /* ~340us */
-
- /* Turn on supply voltage */
- /* BVS = 7, BP = 1, BP2 only in UHS2 mode */
- mmio_write_32(SDMMC_CDN(SRS10), (7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP) | _status);
-
- return 0;
-}
diff --git a/drivers/cadence/emmc/cdns_sdmmc.c b/drivers/cadence/emmc/cdns_sdmmc.c
index 1dd81f8ed..b984cf5d4 100644
--- a/drivers/cadence/emmc/cdns_sdmmc.c
+++ b/drivers/cadence/emmc/cdns_sdmmc.c
@@ -427,20 +427,23 @@ void sd_host_oper_mode(enum sd_opr_modes opr_mode)
}
}
-void card_reset(bool power_enable)
+void cdns_sdmmc_card_reset(void)
{
uint32_t reg_value = 0;
- /* Reading SRS10 value before writing */
+ /* Power off: per SDHCI/JEDEC spec, BVS must be cleared when BP=0 */
reg_value = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS10);
+ reg_value &= ~((7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP));
+ mmio_write_32(cdns_params.reg_base + SDHC_CDNS_SRS10, reg_value);
+ mdelay(20);
- if (power_enable == true) {
- reg_value &= ~((7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP));
- reg_value = ((1 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP));
- } else {
- reg_value &= ~((7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP));
- }
+ /*
+ * BVS=0b111 = 3.3V ; BVS=0b101 = 1.8V
+ * Using 3.3V for High Speed(SD)/legacy(eMMC) protocol.
+ */
+ reg_value |= ((7 << SDMMC_CDN_BVS) | (1 << SDMMC_CDN_BP));
mmio_write_32(cdns_params.reg_base + SDHC_CDNS_SRS10, reg_value);
+ mdelay(50);
}
void high_speed_enable(bool mode)
@@ -501,14 +504,8 @@ void sdmmc_host_init(bool uhs2_enable)
/** need to implement*/
}
- /* Card reset */
-
- card_reset(1);
- udelay(2500);
- card_reset(0);
- udelay(2500);
- card_reset(1);
- udelay(2500);
+ /* Card reset - for both eMMC and SD card */
+ cdns_sdmmc_card_reset();
/* Enable Interrupt Flags*/
mmio_write_32((cdns_params.reg_base + SDHC_CDNS_SRS13), ~0);
@@ -558,7 +555,7 @@ int cdns_send_cmd(struct mmc_cmd *cmd)
timeout = TIMEOUT;
do {
udelay(100);
- if (--timeout <= 0) {
+ if (--timeout == 0) {
udelay(50);
NOTICE("Timeout occur data and cmd line %x\n",
mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS09));
@@ -622,10 +619,42 @@ int cdns_send_cmd(struct mmc_cmd *cmd)
timeout = TIMEOUT;
+ /* Wait for command completion or error */
do {
udelay(CDNS_TIMEOUT);
status = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS12);
- } while (((status & (INT_CMD_DONE | ERROR_INT)) == 0) && (timeout-- > 0));
+ if (--timeout == 0) {
+ ERROR("Command %u timeout waiting for response\n",
+ cmd->cmd_idx);
+ break;
+ }
+ } while (((status & (INT_CMD_DONE | ERROR_INT)) == 0));
+
+ /* For data commands, wait for Data Transfer Over (DTO) or data ready */
+ if ((cmd_flags & DATA_PRESENT) != 0U) {
+ timeout = TIMEOUT;
+ do {
+ udelay(100);
+ status = mmio_read_32(cdns_params.reg_base +
+ SDHC_CDNS_SRS12);
+ if (--timeout == 0) {
+ ERROR("Command %u timeout waiting for data\n",
+ cmd->cmd_idx);
+ ERROR("SRS12=0x%08x SRS09=0x%08x\n",
+ mmio_read_32(cdns_params.reg_base +
+ SDHC_CDNS_SRS12),
+ mmio_read_32(cdns_params.reg_base +
+ SDHC_CDNS_SRS09));
+ break;
+ }
+ /*
+ * In ADMA2 mode the controller raises Transfer Complete (bit 1)
+ * when the DMA finishes, TRAN_COMP.
+ */
+ } while (((status &
+ (INT_DTO | INT_TXDR | INT_RXDR | TRAN_COMP)) == 0) &&
+ ((status & ERROR_INT) == 0));
+ }
mmio_write_32(cdns_params.reg_base + SDHC_CDNS_SRS12, (SRS_12_CC_EN));
status_check = mmio_read_32(cdns_params.reg_base + SDHC_CDNS_SRS12) & 0xffff8000;
@@ -735,17 +764,23 @@ int cdns_mmc_init(struct cdns_sdmmc_params *params,
memcpy(&cdns_params, params, sizeof(struct cdns_sdmmc_params));
+ /*
+ * Set device type before cdns_sd_host_init() so sdmmc_host_init()
+ * can branch between eMMC and SD card reset sequences.
+ */
+ cdns_params.cdn_sdmmc_dev_type = info->mmc_dev_type;
+
cdns_set_sdmmc_var(&sdmmc_combo_phy_reg, &sdmmc_sdhc_reg);
result = cdns_sd_host_init(&sdmmc_combo_phy_reg, &sdmmc_sdhc_reg);
if (result < 0) {
return result;
}
- cdns_params.cdn_sdmmc_dev_type = info->mmc_dev_type;
cdns_params.cdn_sdmmc_dev_mode = SD_DS;
+ /* Select operating clock based on detected device type */
result = mmc_init(&cdns_sdmmc_ops, params->clk_rate, params->bus_width,
- params->flags, info);
+ params->flags, info);
return result;
}
diff --git a/include/arch/aarch32/asm_macros.S b/include/arch/aarch32/asm_macros.S
index 4faa13abe..e9f7b1628 100644
--- a/include/arch/aarch32/asm_macros.S
+++ b/include/arch/aarch32/asm_macros.S
@@ -121,14 +121,6 @@
.endm
#endif
- /* Macro for error synchronization */
- .macro synchronize_errors
- /* Complete any stores that may return an abort */
- dsb sy
- /* Synchronise the CPU context with the completion of the dsb */
- isb
- .endm
-
/*
* Helper macro to generate the best mov/movw/movt combinations
* according to the value to be moved.
diff --git a/include/drivers/cadence/cdns_combo_phy.h b/include/drivers/cadence/cdns_combo_phy.h
index 4d3a75394..8dddbee16 100644
--- a/include/drivers/cadence/cdns_combo_phy.h
+++ b/include/drivers/cadence/cdns_combo_phy.h
@@ -234,6 +234,5 @@ struct cdns_sdmmc_combo_phy {
int cdns_sdmmc_write_phy_reg(uint32_t phy_reg_addr, uint32_t phy_reg_addr_value,
uint32_t phy_reg_data, uint32_t phy_reg_data_value);
int cdns_sd_card_detect(void);
-int cdns_emmc_card_reset(void);
#endif \ No newline at end of file
diff --git a/include/drivers/cadence/cdns_sdmmc.h b/include/drivers/cadence/cdns_sdmmc.h
index f4485ca8d..69ee5a1c9 100644
--- a/include/drivers/cadence/cdns_sdmmc.h
+++ b/include/drivers/cadence/cdns_sdmmc.h
@@ -12,6 +12,8 @@
#include <drivers/cadence/cdns_combo_phy.h>
#include <drivers/mmc.h>
+#include <platform_def.h>
+
#if MMC_DEVICE_TYPE == 0
#define CONFIG_DMA_ADDR_T_64BIT 0
#endif
@@ -446,10 +448,16 @@
#define CONFIG_CDNS_DESC_COUNT 8
/*
- * To accommodate SDMCLK set to 200MHz
- * TODO: To support various clock range
+ * SD card, according to SD Host Controller Simplified Specification
+ * will be using High Speed default 50MHz as we have enabled HS mode.
+ * eMMC, according to JEDEC JESD84-B51, will be using legacy default
+ * 26MHz for max compatibility.
*/
+#if MMC_DEVICE_TYPE == 1
#define SDEMMC_SDCLK 50000000U
+#else
+#define SDEMMC_SDCLK 26000000U
+#endif
enum sd_opcode {
SD_GO_IDLE_STATE = 0,
diff --git a/lib/cpus/aarch64/c1_nano.S b/lib/cpus/aarch64/c1_nano.S
index 26828ceb8..491f016c8 100644
--- a/lib/cpus/aarch64/c1_nano.S
+++ b/lib/cpus/aarch64/c1_nano.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107753/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-3273788/latest
+ * TRM: https://support.arm.com/documentation/107753/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-3273788/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/c1_premium.S b/lib/cpus/aarch64/c1_premium.S
index 4444574d1..06cf1fae5 100644
--- a/lib/cpus/aarch64/c1_premium.S
+++ b/lib/cpus/aarch64/c1_premium.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/109416/latest
- * SDEN: https://developer.arm.com/documentation/111078/latest
+ * TRM: https://support.arm.com/documentation/109416/latest
+ * SDEN: https://support.arm.com/documentation/111078/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/c1_pro.S b/lib/cpus/aarch64/c1_pro.S
index 782e3cc4d..44b3c758e 100644
--- a/lib/cpus/aarch64/c1_pro.S
+++ b/lib/cpus/aarch64/c1_pro.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107771/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-3273080/latest
+ * TRM: https://support.arm.com/documentation/107771/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-3273080/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/c1_ultra.S b/lib/cpus/aarch64/c1_ultra.S
index fcef72e0f..2a1beea1e 100644
--- a/lib/cpus/aarch64/c1_ultra.S
+++ b/lib/cpus/aarch64/c1_ultra.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/108014/latest
- * SDEN: https://developer.arm.com/documentation/111077/latest
+ * TRM: https://support.arm.com/documentation/108014/latest
+ * SDEN: https://support.arm.com/documentation/111077/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a320.S b/lib/cpus/aarch64/cortex_a320.S
index f5dad5459..21e4f7d87 100644
--- a/lib/cpus/aarch64/cortex_a320.S
+++ b/lib/cpus/aarch64/cortex_a320.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/109551/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2877630/latest
+ * TRM: https://support.arm.com/documentation/109551/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2877630/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a35.S b/lib/cpus/aarch64/cortex_a35.S
index cb560031e..7fc51853a 100644
--- a/lib/cpus/aarch64/cortex_a35.S
+++ b/lib/cpus/aarch64/cortex_a35.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100236/latest
- * SDEN: https://developer.arm.com/documentation/SDEN843627/latest
+ * TRM: https://support.arm.com/documentation/100236/latest
+ * SDEN: https://support.arm.com/documentation/SDEN843627/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a510.S b/lib/cpus/aarch64/cortex_a510.S
index 491ee64cf..9813172ff 100644
--- a/lib/cpus/aarch64/cortex_a510.S
+++ b/lib/cpus/aarch64/cortex_a510.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101604/latest
- * SDEN: https://developer.arm.com/documentation/SDEN1873351/latest
+ * TRM: https://support.arm.com/documentation/101604/latest
+ * SDEN: https://support.arm.com/documentation/SDEN1873351/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a520.S b/lib/cpus/aarch64/cortex_a520.S
index b62622e22..a0a65abcf 100644
--- a/lib/cpus/aarch64/cortex_a520.S
+++ b/lib/cpus/aarch64/cortex_a520.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102517/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2444153/latest
+ * TRM: https://support.arm.com/documentation/102517/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2444153/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a520ae.S b/lib/cpus/aarch64/cortex_a520ae.S
index abc1a1e20..7af7a6c82 100644
--- a/lib/cpus/aarch64/cortex_a520ae.S
+++ b/lib/cpus/aarch64/cortex_a520ae.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107726/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2343003/latest
+ * TRM: https://support.arm.com/documentation/107726/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2343003/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a53.S b/lib/cpus/aarch64/cortex_a53.S
index ccda4c4d8..095c14611 100644
--- a/lib/cpus/aarch64/cortex_a53.S
+++ b/lib/cpus/aarch64/cortex_a53.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/ddi0500/latest
- * SDEN: https://developer.arm.com/documentation/epm048406/latest
+ * TRM: https://support.arm.com/documentation/ddi0500/latest
+ * SDEN: https://support.arm.com/documentation/epm048406/latest
*/
#include <arch.h>
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_a55.S b/lib/cpus/aarch64/cortex_a55.S
index 70b710719..30bc61703 100644
--- a/lib/cpus/aarch64/cortex_a55.S
+++ b/lib/cpus/aarch64/cortex_a55.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100442/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-859338/latest
+ * TRM: https://support.arm.com/documentation/100442/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-859338/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a57.S b/lib/cpus/aarch64/cortex_a57.S
index c386c7a9b..bdde84da9 100644
--- a/lib/cpus/aarch64/cortex_a57.S
+++ b/lib/cpus/aarch64/cortex_a57.S
@@ -4,8 +4,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/ddi0488/latest
- * SDEN: https://developer.arm.com/documentation/epm049219/latest
+ * TRM: https://support.arm.com/documentation/ddi0488/latest
+ * SDEN: https://support.arm.com/documentation/epm049219/latest
*/
#include <arch.h>
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_a65.S b/lib/cpus/aarch64/cortex_a65.S
index 0eee1946c..650a4623b 100644
--- a/lib/cpus/aarch64/cortex_a65.S
+++ b/lib/cpus/aarch64/cortex_a65.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100439/latest
- * SDEN: https://developer.arm.com/documentation/SDEN1065159/latest/
+ * TRM: https://support.arm.com/documentation/100439/latest
+ * SDEN: https://support.arm.com/documentation/SDEN1065159/latest/
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a65ae.S b/lib/cpus/aarch64/cortex_a65ae.S
index fef56b8e2..ad6945004 100644
--- a/lib/cpus/aarch64/cortex_a65ae.S
+++ b/lib/cpus/aarch64/cortex_a65ae.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101385/latest
- * SDEN: https://developer.arm.com/documentation/SDEN1344564/latest
+ * TRM: https://support.arm.com/documentation/101385/latest
+ * SDEN: https://support.arm.com/documentation/SDEN1344564/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a710.S b/lib/cpus/aarch64/cortex_a710.S
index 7b430aea9..016f0b108 100644
--- a/lib/cpus/aarch64/cortex_a710.S
+++ b/lib/cpus/aarch64/cortex_a710.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101800/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1775101/latest
+ * TRM: https://support.arm.com/documentation/101800/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1775101/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a715.S b/lib/cpus/aarch64/cortex_a715.S
index 4fcdb9cee..acf35607d 100644
--- a/lib/cpus/aarch64/cortex_a715.S
+++ b/lib/cpus/aarch64/cortex_a715.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101590/latest
- * SDEN: https://developer.arm.com/documentation/SDEN2148827/latest
+ * TRM: https://support.arm.com/documentation/101590/latest
+ * SDEN: https://support.arm.com/documentation/SDEN2148827/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a72.S b/lib/cpus/aarch64/cortex_a72.S
index 2effc666e..7b45e5989 100644
--- a/lib/cpus/aarch64/cortex_a72.S
+++ b/lib/cpus/aarch64/cortex_a72.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100095/latest
- * SDEN: https://developer.arm.com/documentation/epm012079/latest
+ * TRM: https://support.arm.com/documentation/100095/latest
+ * SDEN: https://support.arm.com/documentation/epm012079/latest
*/
#include <arch.h>
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_a720.S b/lib/cpus/aarch64/cortex_a720.S
index a7c5ffe4e..f73ff3ea4 100644
--- a/lib/cpus/aarch64/cortex_a720.S
+++ b/lib/cpus/aarch64/cortex_a720.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102530/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2439421/latest
+ * TRM: https://support.arm.com/documentation/102530/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2439421/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a720ae.S b/lib/cpus/aarch64/cortex_a720ae.S
index 7d96b3483..cfce9f9d4 100644
--- a/lib/cpus/aarch64/cortex_a720ae.S
+++ b/lib/cpus/aarch64/cortex_a720ae.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102828/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-3090091/latest
+ * TRM: https://support.arm.com/documentation/102828/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-3090091/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a725.S b/lib/cpus/aarch64/cortex_a725.S
index f1577c130..bf63bfa3a 100644
--- a/lib/cpus/aarch64/cortex_a725.S
+++ b/lib/cpus/aarch64/cortex_a725.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107652/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2832921/latest
+ * TRM: https://support.arm.com/documentation/107652/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2832921/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a73.S b/lib/cpus/aarch64/cortex_a73.S
index 9d9d282aa..b309be19d 100644
--- a/lib/cpus/aarch64/cortex_a73.S
+++ b/lib/cpus/aarch64/cortex_a73.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100048/latest
- * SDEN: https://developer.arm.com/documentation/epm086451/latest
+ * TRM: https://support.arm.com/documentation/100048/latest
+ * SDEN: https://support.arm.com/documentation/epm086451/latest
*/
#include <arch.h>
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_a75.S b/lib/cpus/aarch64/cortex_a75.S
index e24d5de85..be3dd17b7 100644
--- a/lib/cpus/aarch64/cortex_a75.S
+++ b/lib/cpus/aarch64/cortex_a75.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100403/latest
- * SDEN: https://developer.arm.com/documentation/SDEN859515/latest
+ * TRM: https://support.arm.com/documentation/100403/latest
+ * SDEN: https://support.arm.com/documentation/SDEN859515/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a76.S b/lib/cpus/aarch64/cortex_a76.S
index 6d2619cfb..1b3b563e7 100644
--- a/lib/cpus/aarch64/cortex_a76.S
+++ b/lib/cpus/aarch64/cortex_a76.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100798/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-885749/latest
+ * TRM: https://support.arm.com/documentation/100798/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-885749/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a76ae.S b/lib/cpus/aarch64/cortex_a76ae.S
index 053579a02..14b8954a7 100644
--- a/lib/cpus/aarch64/cortex_a76ae.S
+++ b/lib/cpus/aarch64/cortex_a76ae.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101392/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1277541/latest
+ * TRM: https://support.arm.com/documentation/101392/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1277541/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a77.S b/lib/cpus/aarch64/cortex_a77.S
index 24372b14c..2b5dec8e9 100644
--- a/lib/cpus/aarch64/cortex_a77.S
+++ b/lib/cpus/aarch64/cortex_a77.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101111/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1152370/latest
+ * TRM: https://support.arm.com/documentation/101111/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1152370/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a78.S b/lib/cpus/aarch64/cortex_a78.S
index 1f617bb53..6a014780f 100644
--- a/lib/cpus/aarch64/cortex_a78.S
+++ b/lib/cpus/aarch64/cortex_a78.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101430/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1401784/latest
+ * TRM: https://support.arm.com/documentation/101430/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1401784/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a78ae.S b/lib/cpus/aarch64/cortex_a78ae.S
index cb63a8f36..d159a2bee 100644
--- a/lib/cpus/aarch64/cortex_a78ae.S
+++ b/lib/cpus/aarch64/cortex_a78ae.S
@@ -4,8 +4,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101779/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1707912/latest
+ * TRM: https://support.arm.com/documentation/101779/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1707912/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_a78c.S b/lib/cpus/aarch64/cortex_a78c.S
index 989675c77..dc0b9ec26 100644
--- a/lib/cpus/aarch64/cortex_a78c.S
+++ b/lib/cpus/aarch64/cortex_a78c.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102226/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1707916/latest
+ * TRM: https://support.arm.com/documentation/102226/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1707916/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_x1.S b/lib/cpus/aarch64/cortex_x1.S
index 9ad9c5f66..1c011fc00 100644
--- a/lib/cpus/aarch64/cortex_x1.S
+++ b/lib/cpus/aarch64/cortex_x1.S
@@ -4,8 +4,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101433/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1401782/latest
+ * TRM: https://support.arm.com/documentation/101433/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1401782/latest
*/
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_x1c.S b/lib/cpus/aarch64/cortex_x1c.S
index 26d9baf7e..268852539 100644
--- a/lib/cpus/aarch64/cortex_x1c.S
+++ b/lib/cpus/aarch64/cortex_x1c.S
@@ -4,8 +4,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101968/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1707914/latest
+ * TRM: https://support.arm.com/documentation/101968/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1707914/latest
*/
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/cortex_x2.S b/lib/cpus/aarch64/cortex_x2.S
index 1d6d5d08d..e89ebf96a 100644
--- a/lib/cpus/aarch64/cortex_x2.S
+++ b/lib/cpus/aarch64/cortex_x2.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101803/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1775100/latest
+ * TRM: https://support.arm.com/documentation/101803/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1775100/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_x3.S b/lib/cpus/aarch64/cortex_x3.S
index 3333a54a0..8e0295bb3 100644
--- a/lib/cpus/aarch64/cortex_x3.S
+++ b/lib/cpus/aarch64/cortex_x3.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101593/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2055130/latest
+ * TRM: https://support.arm.com/documentation/101593/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2055130/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_x4.S b/lib/cpus/aarch64/cortex_x4.S
index da68caf63..3117630d7 100644
--- a/lib/cpus/aarch64/cortex_x4.S
+++ b/lib/cpus/aarch64/cortex_x4.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102484/latest
- * SDEN: https://developer.arm.com/documentation/109148/latest
+ * TRM: https://support.arm.com/documentation/102484/latest
+ * SDEN: https://support.arm.com/documentation/109148/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/cortex_x925.S b/lib/cpus/aarch64/cortex_x925.S
index 3d1574246..6c477a10f 100644
--- a/lib/cpus/aarch64/cortex_x925.S
+++ b/lib/cpus/aarch64/cortex_x925.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102807/latest
- * SDEN: https://developer.arm.com/documentation/109180/latest/
+ * TRM: https://support.arm.com/documentation/102807/latest
+ * SDEN: https://support.arm.com/documentation/109180/latest/
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_e1.S b/lib/cpus/aarch64/neoverse_e1.S
index e38ebb9f9..335fff211 100644
--- a/lib/cpus/aarch64/neoverse_e1.S
+++ b/lib/cpus/aarch64/neoverse_e1.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101560/latest
- * SDEN: https://developer.arm.com/documentation/SDEN1402034/latest
+ * TRM: https://support.arm.com/documentation/101560/latest
+ * SDEN: https://support.arm.com/documentation/SDEN1402034/latest
*/
#include <arch.h>
#include <asm_macros.S>
diff --git a/lib/cpus/aarch64/neoverse_n1.S b/lib/cpus/aarch64/neoverse_n1.S
index 8019f35e4..545fb5f0c 100644
--- a/lib/cpus/aarch64/neoverse_n1.S
+++ b/lib/cpus/aarch64/neoverse_n1.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/100616/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-885747/latest
+ * TRM: https://support.arm.com/documentation/100616/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-885747/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_n2.S b/lib/cpus/aarch64/neoverse_n2.S
index 249a393a0..9b09035e4 100644
--- a/lib/cpus/aarch64/neoverse_n2.S
+++ b/lib/cpus/aarch64/neoverse_n2.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102099/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1982442/latest
+ * TRM: https://support.arm.com/documentation/102099/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1982442/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_n3.S b/lib/cpus/aarch64/neoverse_n3.S
index 19a4c4236..632512350 100644
--- a/lib/cpus/aarch64/neoverse_n3.S
+++ b/lib/cpus/aarch64/neoverse_n3.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107997/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-3050973/latest
+ * TRM: https://support.arm.com/documentation/107997/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-3050973/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_v1.S b/lib/cpus/aarch64/neoverse_v1.S
index 2509bdc1c..63b369082 100644
--- a/lib/cpus/aarch64/neoverse_v1.S
+++ b/lib/cpus/aarch64/neoverse_v1.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101427/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-1401781/latest
+ * TRM: https://support.arm.com/documentation/101427/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-1401781/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_v2.S b/lib/cpus/aarch64/neoverse_v2.S
index 314d4d2aa..599af6529 100644
--- a/lib/cpus/aarch64/neoverse_v2.S
+++ b/lib/cpus/aarch64/neoverse_v2.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/102375/latest
- * SDEN: https://developer.arm.com/documentation/SDEN-2332927/latest
+ * TRM: https://support.arm.com/documentation/102375/latest
+ * SDEN: https://support.arm.com/documentation/SDEN-2332927/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_v3.S b/lib/cpus/aarch64/neoverse_v3.S
index 12f64621a..4ab3a3528 100644
--- a/lib/cpus/aarch64/neoverse_v3.S
+++ b/lib/cpus/aarch64/neoverse_v3.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/107734/latest
- * SDEN: https://developer.arm.com/documentation/109231/latest
+ * TRM: https://support.arm.com/documentation/107734/latest
+ * SDEN: https://support.arm.com/documentation/109231/latest
*/
#include <arch.h>
diff --git a/lib/cpus/aarch64/neoverse_v3ae.S b/lib/cpus/aarch64/neoverse_v3ae.S
index 06080cd7e..f5d8858f1 100644
--- a/lib/cpus/aarch64/neoverse_v3ae.S
+++ b/lib/cpus/aarch64/neoverse_v3ae.S
@@ -3,8 +3,8 @@
*
* SPDX-License-Identifier: BSD-3-Clause
*
- * TRM: https://developer.arm.com/documentation/101595/latest
- * SDEN: https://developer.arm.com/documentation/109704/latest
+ * TRM: https://support.arm.com/documentation/101595/latest
+ * SDEN: https://support.arm.com/documentation/109704/latest
*/
#include <arch.h>
diff --git a/plat/intel/soc/common/soc/socfpga_reset_manager.c b/plat/intel/soc/common/soc/socfpga_reset_manager.c
index c9145e687..e461810fa 100644
--- a/plat/intel/soc/common/soc/socfpga_reset_manager.c
+++ b/plat/intel/soc/common/soc/socfpga_reset_manager.c
@@ -836,35 +836,23 @@ int socfpga_bridges_enable(uint32_t mask)
return ret;
}
-int socfpga_bridge_nongraceful_disable(uint32_t mask)
+int socfpga_bridge_nongraceful_disable(uint32_t f2s_force_drain,
+ uint32_t f2s_respempty)
{
int ret = 0;
- int timeout = 1000;
- uint32_t brg_mask = 0;
- uint32_t f2s_idlereq = 0;
- uint32_t f2s_force_drain = 0;
- uint32_t f2s_en = 0;
- uint32_t f2s_idleack = 0;
- uint32_t f2s_respempty = 0;
- uint32_t f2s_cmdidle = 0;
-
- socfpga_f2s_bridge_mask(mask, &brg_mask, &f2s_idlereq,
- &f2s_force_drain, &f2s_en,
- &f2s_idleack, &f2s_respempty, &f2s_cmdidle);
-
- mmio_setbits_32(SOCFPGA_F2SDRAMMGR(SIDEBANDMGR_FLAGOUTSET0),
- f2s_idlereq);
+ int timeout = 300;
+ uint32_t idle_status = 0;
/* Time out Error - Bus is still active */
/* Performing a non-graceful shutdown with Force drain */
mmio_setbits_32(SOCFPGA_F2SDRAMMGR(SIDEBANDMGR_FLAGOUTSET0),
f2s_force_drain);
+ udelay(5);
ret = -ETIMEDOUT;
- do {
- /* Read response queue status to ensure it is empty */
- uint32_t idle_status;
+ /* Read response queue status to ensure it is empty */
+ do {
idle_status = mmio_read_32(SOCFPGA_F2SDRAMMGR(SIDEBANDMGR_FLAGINSTATUS0));
if ((idle_status & f2s_respempty) != 0U) {
idle_status = mmio_read_32(SOCFPGA_F2SDRAMMGR(SIDEBANDMGR_FLAGINSTATUS0));
@@ -875,7 +863,7 @@ int socfpga_bridge_nongraceful_disable(uint32_t mask)
}
}
- asm("nop");
+ udelay(1000);
} while (timeout-- > 0);
@@ -1188,7 +1176,8 @@ int socfpga_bridges_disable(uint32_t mask)
f2s_en);
udelay(5);
- ret = socfpga_bridge_nongraceful_disable(mask);
+ ret = socfpga_bridge_nongraceful_disable(f2s_force_drain,
+ f2s_respempty);
/* Bridge reset */
#if PLATFORM_MODEL == PLAT_SOCFPGA_STRATIX10
diff --git a/plat/qemu/qemu_sbsa/platform.mk b/plat/qemu/qemu_sbsa/platform.mk
index b0bbbc9ae..646503d6c 100644
--- a/plat/qemu/qemu_sbsa/platform.mk
+++ b/plat/qemu/qemu_sbsa/platform.mk
@@ -9,9 +9,6 @@ PLAT_QEMU_COMMON_PATH := plat/qemu/common
CRASH_REPORTING := 1
-# Disable the PSCI platform compatibility layer
-ENABLE_PLAT_COMPAT := 0
-
SEPARATE_CODE_AND_RODATA := 1
ENABLE_STACK_PROTECTOR := 0
diff --git a/plat/qti/hoya/kodiak/sc7280_chrome/platform.mk b/plat/qti/hoya/kodiak/sc7280_chrome/platform.mk
index 22a794c20..fa2d50b4c 100644
--- a/plat/qti/hoya/kodiak/sc7280_chrome/platform.mk
+++ b/plat/qti/hoya/kodiak/sc7280_chrome/platform.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2017-2025, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2017-2026, Arm Limited and Contributors. All rights reserved.
# Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
@@ -22,9 +22,6 @@ ERRATA_A78_1941498 := 1
ERRATA_A78_1951500 := 1
WORKAROUND_CVE_2025_10263 := 1
-# Disable the PSCI platform compatibility layer
-ENABLE_PLAT_COMPAT := 0
-
# Enable PSCI v1.0 extended state ID format
PSCI_EXTENDED_STATE_ID := 1
ARM_RECOM_STATE_ID_ENC := 1
diff --git a/plat/qti/hoya/qcs615/platform.mk b/plat/qti/hoya/qcs615/platform.mk
index 432a21e52..173cdc288 100644
--- a/plat/qti/hoya/qcs615/platform.mk
+++ b/plat/qti/hoya/qcs615/platform.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2024-2025, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2024-2026, Arm Limited and Contributors. All rights reserved.
# Copyright (c) 2024, The Linux Foundation. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
@@ -34,9 +34,6 @@ ERRATA_A76_1946160 := 1
ERRATA_A76_2743102 := 1
WORKAROUND_CVE_2025_10263 := 1
-# Disable the PSCI platform compatibility layer
-ENABLE_PLAT_COMPAT := 0
-
# Enable PSCI v1.0 extended state ID format
PSCI_EXTENDED_STATE_ID := 1
ARM_RECOM_STATE_ID_ENC := 1
@@ -154,4 +151,3 @@ else
# use library provided by QTISECLIB_PATH
LDLIBS += $(QTISECLIB_PATH)
endif
-
diff --git a/plat/qti/hoya/sc7180/platform.mk b/plat/qti/hoya/sc7180/platform.mk
index 617e90692..442e8f213 100644
--- a/plat/qti/hoya/sc7180/platform.mk
+++ b/plat/qti/hoya/sc7180/platform.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2017-2025, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2017-2026, Arm Limited and Contributors. All rights reserved.
# Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
@@ -16,9 +16,6 @@ USE_COHERENT_MEM := 0
WARMBOOT_ENABLE_DCACHE_EARLY := 1
HW_ASSISTED_COHERENCY := 1
-# Disable the PSCI platform compatibility layer
-ENABLE_PLAT_COMPAT := 0
-
#Enable errata for cortex_a55 and cortex_a76
ERRATA_A55_1530923 := 1
ERRATA_A76_1165522 := 1
@@ -138,4 +135,3 @@ else
# use library provided by QTISECLIB_PATH
LDLIBS += $(QTISECLIB_PATH)
endif
-
diff --git a/plat/rockchip/px30/platform.mk b/plat/rockchip/px30/platform.mk
index 2fdbec580..aaaec73c2 100644
--- a/plat/rockchip/px30/platform.mk
+++ b/plat/rockchip/px30/platform.mk
@@ -1,5 +1,5 @@
#
-#Copyright (c) 2019-2025, Arm Limited and Contributors. All rights reserved.
+#Copyright (c) 2019-2026, Arm Limited and Contributors. All rights reserved.
#
#SPDX-License-Identifier: BSD-3-Clause
#
@@ -63,8 +63,6 @@ ifdef PLAT_RK_SECURE_DDR_MINILOADER
BL31_SOURCES += ${RK_PLAT_COMMON}/drivers/parameter/ddr_parameter.c
endif
-ENABLE_PLAT_COMPAT := 0
-
include lib/libfdt/libfdt.mk
PLAT_EXTRA_LD_SCRIPT := 1
diff --git a/plat/rockchip/rk3568/platform.mk b/plat/rockchip/rk3568/platform.mk
index 1e130c7ee..8b49c7627 100644
--- a/plat/rockchip/rk3568/platform.mk
+++ b/plat/rockchip/rk3568/platform.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2023-2025, Arm Limited and Contributors. All rights reserved.
+# Copyright (c) 2023-2026, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -94,7 +94,6 @@ BL31_SOURCES += ${RK_GIC_SOURCES} \
${RK_PLAT_SOC}/drivers/pmu/pmu.c \
${RK_PLAT_SOC}/plat_sip_calls.c
-ENABLE_PLAT_COMPAT := 0
MULTI_CONSOLE_API := 1
# System coherency is managed in hardware
HW_ASSISTED_COHERENCY := 1
diff --git a/plat/rockchip/rk3576/platform.mk b/plat/rockchip/rk3576/platform.mk
index da7eae136..9d33f8a03 100644
--- a/plat/rockchip/rk3576/platform.mk
+++ b/plat/rockchip/rk3576/platform.mk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2025, ARM Limited and Contributors. All rights reserved.
+# Copyright (c) 2025-2026, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
@@ -101,7 +101,6 @@ ERRATA_A53_1530924 := 1
ERRATA_A72_1319367 := 1
-ENABLE_PLAT_COMPAT := 0
MULTI_CONSOLE_API := 1
CTX_INCLUDE_EL2_REGS := 0
CTX_INCLUDE_AARCH32_REGS := 0
diff --git a/plat/rockchip/rk3588/platform.mk b/plat/rockchip/rk3588/platform.mk
index 413a20c16..5c351f32f 100644
--- a/plat/rockchip/rk3588/platform.mk
+++ b/plat/rockchip/rk3588/platform.mk
@@ -81,7 +81,6 @@ BL31_SOURCES += ${RK_GIC_SOURCES} \
${RK_PLAT_SOC}/drivers/scmi/rk3588_rstd.c
CTX_INCLUDE_AARCH32_REGS := 0
-ENABLE_PLAT_COMPAT := 0
MULTI_CONSOLE_API := 1
ERRATA_A55_1530923 := 1
WORKAROUND_CVE_2025_10263 := 1
diff --git a/plat/rockchip/rv1126b/platform.mk b/plat/rockchip/rv1126b/platform.mk
index 41efa2422..ec8c1ea1b 100644
--- a/plat/rockchip/rv1126b/platform.mk
+++ b/plat/rockchip/rv1126b/platform.mk
@@ -99,7 +99,6 @@ ERRATA_A53_843419 := 1
ERRATA_A53_855873 := 1
ERRATA_A53_1530924 := 1
-ENABLE_PLAT_COMPAT := 0
MULTI_CONSOLE_API := 1
CTX_INCLUDE_EL2_REGS := 0
CTX_INCLUDE_AARCH32_REGS := 0
diff --git a/plat/xilinx/common/pm_service/pm_ipi.c b/plat/xilinx/common/pm_service/pm_ipi.c
index b67e44296..c3ba06b0b 100644
--- a/plat/xilinx/common/pm_service/pm_ipi.c
+++ b/plat/xilinx/common/pm_service/pm_ipi.c
@@ -225,7 +225,8 @@ enum pm_ret_status pm_ipi_buff_read_callb(uint32_t *value, size_t count)
enum pm_ret_status ret = PM_RET_SUCCESS;
if (count > (size_t)IPI_BUFFER_MAX_WORDS) {
- return PM_RET_ERROR_ARGS;
+ ret = PM_RET_ERROR_ARGS;
+ goto exit_label;
}
for (i = 0; i < count; i++) {
@@ -246,6 +247,7 @@ enum pm_ret_status pm_ipi_buff_read_callb(uint32_t *value, size_t count)
memset(value, 0, local_count);
}
#endif
+exit_label:
return ret;
}