Commit 9935047b authored by Manish Pandey's avatar Manish Pandey Committed by TrustedFirmware Code Review
Browse files

Merge changes I80316689,I23cac4fb,If911e7de,I169ff358,I4e040cd5, ... into integration

* changes:
  ddr: a80x0: add DDR 32-bit ECC mode support
  ble: ap807: improve PLL configuration sequence
  ble: ap807: clean-up PLL configuration sequence
  ddr: a80x0: add DDR 32-bit mode support
  plat: marvell: mci: perform mci link tuning for all mci interfaces
  plat: marvell: mci: use more meaningful name for mci link tuning
  plat: marvell: a8k: remove wrong or unnecessary comments
  plat: marvell: ap807: enable snoop filter for ap807
  plat: marvell: ap807: update configuration space of each CP
  plat: marvell: ap807: use correct address for MCIx4 register
  plat: marvell: add support for PLL 2.2GHz mode
  plat: marvell: armada: make a8k_common.mk and mss_common.mk more generic
  marvell: armada: add extra level in marvell platform hierarchy
parents a53e89bc 32b3b999
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# https://spdx.org/licenses # https://spdx.org/licenses
# #
PLAT_MARVELL := plat/marvell PLAT_MARVELL := plat/marvell/armada
A8K_MSS_SOURCE := $(PLAT_MARVELL)/a8k/common/mss A8K_MSS_SOURCE := $(PLAT_MARVELL)/a8k/common/mss
BL2_SOURCES += $(A8K_MSS_SOURCE)/mss_bl2_setup.c \ BL2_SOURCES += $(A8K_MSS_SOURCE)/mss_bl2_setup.c \
......
...@@ -116,18 +116,24 @@ void bl31_plat_arch_setup(void) ...@@ -116,18 +116,24 @@ void bl31_plat_arch_setup(void)
marvell_bl31_plat_arch_setup(); marvell_bl31_plat_arch_setup();
for (cp = 0; cp < CP_COUNT; cp++) { for (cp = 0; cp < CP_COUNT; cp++) {
/* configure cp110 for CP0*/ if (cp >= 1)
if (cp == 1) update_cp110_default_win(cp);
mci_initialize(MVEBU_MCI0);
/* initialize MCI & CP1 */
cp110_init(MVEBU_CP_REGS_BASE(cp), cp110_init(MVEBU_CP_REGS_BASE(cp),
STREAM_ID_BASE + (cp * MAX_STREAM_ID_PER_CP)); STREAM_ID_BASE + (cp * MAX_STREAM_ID_PER_CP));
/* Should be called only after setting IOB windows */
marvell_bl31_mpp_init(cp); marvell_bl31_mpp_init(cp);
} }
/*
* There is need to configure IO_WIN windows again to overwrite
* temporary configuration done during update_cp110_default_win
*/
init_io_win(MVEBU_AP0);
for (cp = 1; cp < CP_COUNT; cp++)
mci_link_tune(cp - 1);
/* initialize IPC between MSS and ATF */ /* initialize IPC between MSS and ATF */
if (mailbox[MBOX_IDX_MAGIC] != MVEBU_MAILBOX_MAGIC_NUM || if (mailbox[MBOX_IDX_MAGIC] != MVEBU_MAILBOX_MAGIC_NUM ||
mailbox[MBOX_IDX_SUSPEND_MAGIC] != MVEBU_MAILBOX_SUSPEND_STATE) mailbox[MBOX_IDX_SUSPEND_MAGIC] != MVEBU_MAILBOX_SUSPEND_STATE)
......
...@@ -89,6 +89,12 @@ ...@@ -89,6 +89,12 @@
(0x1 << AVS_SOFT_RESET_OFFSET) | \ (0x1 << AVS_SOFT_RESET_OFFSET) | \
(0x1 << AVS_ENABLE_OFFSET)) (0x1 << AVS_ENABLE_OFFSET))
#define AVS_CN9130_HIGH_CLK_VALUE ((0x80 << 24) | \
(0x2dc << 13) | \
(0x2dc << 3) | \
(0x1 << AVS_SOFT_RESET_OFFSET) | \
(0x1 << AVS_ENABLE_OFFSET))
#define MVEBU_AP_EFUSE_SRV_CTRL_REG (MVEBU_AP_GEN_MGMT_BASE + 0x8) #define MVEBU_AP_EFUSE_SRV_CTRL_REG (MVEBU_AP_GEN_MGMT_BASE + 0x8)
#define EFUSE_SRV_CTRL_LD_SELECT_OFFS 6 #define EFUSE_SRV_CTRL_LD_SELECT_OFFS 6
#define EFUSE_SRV_CTRL_LD_SEL_USER_MASK (1 << EFUSE_SRV_CTRL_LD_SELECT_OFFS) #define EFUSE_SRV_CTRL_LD_SEL_USER_MASK (1 << EFUSE_SRV_CTRL_LD_SELECT_OFFS)
...@@ -224,10 +230,19 @@ static void ble_plat_avs_config(void) ...@@ -224,10 +230,19 @@ static void ble_plat_avs_config(void)
/* Check which SoC is running and act accordingly */ /* Check which SoC is running and act accordingly */
if (ble_get_ap_type() == CHIP_ID_AP807) { if (ble_get_ap_type() == CHIP_ID_AP807) {
/* Increase CPU voltage for higher CPU clock */ /* Increase CPU voltage for higher CPU clock */
if (freq_mode == CPU_2000_DDR_1200_RCLK_1200) switch (freq_mode) {
case CPU_2000_DDR_1200_RCLK_1200:
avs_val = AVS_A3900_HIGH_CLK_VALUE; avs_val = AVS_A3900_HIGH_CLK_VALUE;
else break;
#ifdef MVEBU_SOC_AP807
case CPU_2200_DDR_1200_RCLK_1200:
avs_val = AVS_CN9130_HIGH_CLK_VALUE;
break;
#endif
default:
avs_val = AVS_A3900_CLK_VALUE; avs_val = AVS_A3900_CLK_VALUE;
}
} else { } else {
/* Check which SoC is running and act accordingly */ /* Check which SoC is running and act accordingly */
device_id = cp110_device_id_get(MVEBU_CP_REGS_BASE(0)); device_id = cp110_device_id_get(MVEBU_CP_REGS_BASE(0));
...@@ -463,7 +478,6 @@ static void ble_plat_svc_config(void) ...@@ -463,7 +478,6 @@ static void ble_plat_svc_config(void)
NOTICE("SVC: DEV ID: %s, FREQ Mode: 0x%x\n", NOTICE("SVC: DEV ID: %s, FREQ Mode: 0x%x\n",
single_cluster == 0 ? "8040" : "8020", freq_pidi_mode); single_cluster == 0 ? "8040" : "8020", freq_pidi_mode);
switch (freq_pidi_mode) { switch (freq_pidi_mode) {
case CPU_1800_DDR_1200_RCLK_1200:
case CPU_1800_DDR_1050_RCLK_1050: case CPU_1800_DDR_1050_RCLK_1050:
if (perr[1]) if (perr[1])
goto perror; goto perror;
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
# SPDX-License-Identifier: BSD-3-Clause # SPDX-License-Identifier: BSD-3-Clause
# https://spdx.org/licenses # https://spdx.org/licenses
MARVELL_PLAT_BASE := plat/marvell MARVELL_PLAT_BASE := plat/marvell/armada
MARVELL_PLAT_INCLUDE_BASE := include/plat/marvell MARVELL_PLAT_INCLUDE_BASE := include/plat/marvell/armada
include $(MARVELL_PLAT_BASE)/version.mk include plat/marvell/version.mk
include $(MARVELL_PLAT_BASE)/marvell.mk include plat/marvell/marvell.mk
VERSION_STRING +=(Marvell-${SUBVERSION}) VERSION_STRING +=(Marvell-${SUBVERSION})
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment