You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
5 years ago
|
/*
|
||
|
* Copyright (c) 2017 - 2020, Broadcom
|
||
|
*
|
||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||
|
*/
|
||
|
|
||
|
#ifndef SR_UTILS_H
|
||
|
#define SR_UTILS_H
|
||
|
|
||
|
#include <lib/mmio.h>
|
||
|
|
||
|
#include <chip_id.h>
|
||
|
#include <cmn_plat_util.h>
|
||
|
#include <sr_def.h>
|
||
|
|
||
|
static inline void brcm_stingray_set_qspi_mux(int enable_ap)
|
||
|
{
|
||
|
mmio_write_32(QSPI_HOLD_N_MODE_SEL_CONTROL, enable_ap);
|
||
|
mmio_write_32(QSPI_WP_N_MODE_SEL_CONTROL, enable_ap);
|
||
|
mmio_write_32(QSPI_SCK_MODE_SEL_CONTROL, enable_ap);
|
||
|
mmio_write_32(QSPI_CS_N_MODE_SEL_CONTROL, enable_ap);
|
||
|
mmio_write_32(QSPI_MOSI_MODE_SEL_CONTROL, enable_ap);
|
||
|
mmio_write_32(QSPI_MISO_MODE_SEL_CONTROL, enable_ap);
|
||
|
}
|
||
|
|
||
|
static inline void brcm_stingray_set_straps(uint32_t boot_source)
|
||
|
{
|
||
|
/* Enable software strap override */
|
||
|
mmio_setbits_32(CDRU_CHIP_STRAP_CTRL,
|
||
|
BIT(CDRU_CHIP_STRAP_CTRL__SOFTWARE_OVERRIDE));
|
||
|
|
||
|
/* set straps to the next boot source */
|
||
|
mmio_clrsetbits_32(CDRU_CHIP_STRAP_DATA,
|
||
|
BOOT_SOURCE_MASK,
|
||
|
boot_source);
|
||
|
|
||
|
/* Disable software strap override */
|
||
|
mmio_clrbits_32(CDRU_CHIP_STRAP_CTRL,
|
||
|
BIT(CDRU_CHIP_STRAP_CTRL__SOFTWARE_OVERRIDE));
|
||
|
}
|
||
|
|
||
|
#endif
|