mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-20 00:48:52 +09:00
![Patrick Delaunay](/assets/img/avatar_default.png)
Depending on backup register value, we maintain the debug unit powered-on for debugging purpose. Only BUCK1 is required for powering the debug unit, so revert the setting for all the other power lanes, except BUCK3 that has to be always on. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
|
/*
|
|
* Copyright (C) 2018, STMicroelectronics - All Rights Reserved
|
|
*/
|
|
|
|
#include <config.h>
|
|
#include <common.h>
|
|
#include <spl.h>
|
|
#include <dm.h>
|
|
#include <ram.h>
|
|
#include <asm/io.h>
|
|
#include <power/pmic.h>
|
|
#include <power/stpmic1.h>
|
|
#include <asm/arch/ddr.h>
|
|
|
|
void spl_board_init(void)
|
|
{
|
|
/* Keep vdd on during the reset cycle */
|
|
#if defined(CONFIG_PMIC_STPMIC1) && defined(CONFIG_SPL_POWER_SUPPORT)
|
|
struct udevice *dev;
|
|
int ret;
|
|
|
|
ret = uclass_get_device_by_driver(UCLASS_PMIC,
|
|
DM_GET_DRIVER(pmic_stpmic1), &dev);
|
|
if (!ret)
|
|
pmic_clrsetbits(dev,
|
|
STPMIC1_BUCKS_MRST_CR,
|
|
STPMIC1_MRST_BUCK(STPMIC1_BUCK3),
|
|
STPMIC1_MRST_BUCK(STPMIC1_BUCK3));
|
|
|
|
/* Check if debug is enabled to program PMIC according to the bit */
|
|
if ((readl(TAMP_BOOT_CONTEXT) & TAMP_BOOT_DEBUG_ON) && !ret) {
|
|
printf("Keep debug unit ON\n");
|
|
|
|
pmic_clrsetbits(dev, STPMIC1_BUCKS_MRST_CR,
|
|
STPMIC1_MRST_BUCK_DEBUG,
|
|
STPMIC1_MRST_BUCK_DEBUG);
|
|
|
|
if (STPMIC1_MRST_LDO_DEBUG)
|
|
pmic_clrsetbits(dev, STPMIC1_LDOS_MRST_CR,
|
|
STPMIC1_MRST_LDO_DEBUG,
|
|
STPMIC1_MRST_LDO_DEBUG);
|
|
}
|
|
#endif
|
|
}
|