1
2
3
4
5
6#include <config.h>
7#include <common.h>
8#include <spl.h>
9#include <dm.h>
10#include <ram.h>
11#include <asm/io.h>
12#include <power/pmic.h>
13#include <power/stpmic1.h>
14#include <asm/arch/ddr.h>
15
16void spl_board_init(void)
17{
18
19#if defined(CONFIG_PMIC_STPMIC1) && defined(CONFIG_SPL_POWER_SUPPORT)
20 struct udevice *dev;
21 int ret;
22
23 ret = uclass_get_device_by_driver(UCLASS_PMIC,
24 DM_GET_DRIVER(pmic_stpmic1), &dev);
25 if (!ret)
26 pmic_clrsetbits(dev,
27 STPMIC1_BUCKS_MRST_CR,
28 STPMIC1_MRST_BUCK(STPMIC1_BUCK3),
29 STPMIC1_MRST_BUCK(STPMIC1_BUCK3));
30
31
32 if ((readl(TAMP_BOOT_CONTEXT) & TAMP_BOOT_DEBUG_ON) && !ret) {
33 printf("Keep debug unit ON\n");
34
35 pmic_clrsetbits(dev, STPMIC1_BUCKS_MRST_CR,
36 STPMIC1_MRST_BUCK_DEBUG,
37 STPMIC1_MRST_BUCK_DEBUG);
38
39 if (STPMIC1_MRST_LDO_DEBUG)
40 pmic_clrsetbits(dev, STPMIC1_LDOS_MRST_CR,
41 STPMIC1_MRST_LDO_DEBUG,
42 STPMIC1_MRST_LDO_DEBUG);
43 }
44#endif
45}
46