| /* |
| * Copyright (c) 2015-2020, Broadcom |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #include <arch_helpers.h> |
| #include <common/debug.h> |
| |
| #include <cmn_plat_util.h> |
| #include <platform_def.h> |
| |
| uint32_t boot_source_get(void) |
| { |
| /* For now return BOOT_SOURCE_QSPI */ |
| return BOOT_SOURCE_QSPI; |
| } |
| |
| void __dead2 plat_soft_reset(uint32_t reset) |
| { |
| if (reset == SOFT_RESET_L3) { |
| mmio_setbits_32(CRMU_IHOST_SW_PERSISTENT_REG1, reset); |
| mmio_write_32(CRMU_MAIL_BOX0, 0x0); |
| mmio_write_32(CRMU_MAIL_BOX1, 0xFFFFFFFF); |
| } |
| |
| if (reset != SOFT_SYS_RESET_L1) |
| reset = SOFT_PWR_UP_RESET_L0; |
| |
| if (reset == SOFT_PWR_UP_RESET_L0) |
| INFO("L0 RESET...\n"); |
| |
| if (reset == SOFT_SYS_RESET_L1) |
| INFO("L1 RESET...\n"); |
| |
| console_flush(); |
| |
| mmio_clrbits_32(CRMU_SOFT_RESET_CTRL, 1 << reset); |
| |
| while (1) { |
| ; |
| } |
| } |