blob: a7844f244bc5ad5ef0fce871298060bedc9541bd [file] [log] [blame]
Tom Rini8b0c8a12018-05-06 18:27:01 -04001// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +01002/*
3 * Copyright (C) 2018, STMicroelectronics - All Rights Reserved
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +01004 */
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 <post.h>
13#include <power/pmic.h>
Patrick Delaunay91be5942019-02-04 11:26:16 +010014#include <power/stpmic1.h>
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +010015#include <asm/arch/ddr.h>
16
17void spl_board_init(void)
18{
19 /* Keep vdd on during the reset cycle */
Patrick Delaunayd79218f2019-02-04 11:26:17 +010020#if defined(CONFIG_PMIC_STPMIC1) && defined(CONFIG_SPL_POWER_SUPPORT)
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +010021 struct udevice *dev;
22 int ret;
23
24 ret = uclass_get_device_by_driver(UCLASS_PMIC,
Patrick Delaunayd79218f2019-02-04 11:26:17 +010025 DM_GET_DRIVER(pmic_stpmic1), &dev);
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +010026 if (!ret)
27 pmic_clrsetbits(dev,
Patrick Delaunay880f29b2019-02-04 11:26:18 +010028 STPMIC1_BUCKS_MRST_CR,
29 STPMIC1_MRST_BUCK(STPMIC1_BUCK3),
30 STPMIC1_MRST_BUCK(STPMIC1_BUCK3));
Patrick Delaunay8eb3b1e2018-03-12 10:46:18 +010031#endif
32}