rockchip: rk3399: make spl_board_init board-specific
The later-stage spl_board_init (as opposed to board_init_f) should set up board-specific details: these differ between the EVB-RK3399 and the RK3399-Q7 (Puma). This moves spl_board_init back into the individual boards and removes the unneeded functionality from Puma. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This commit is contained in:
parent
861ff27757
commit
fb7406469c
@ -149,33 +149,6 @@ void board_init_f(ulong dummy)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void spl_board_init(void)
|
|
||||||
{
|
|
||||||
struct udevice *pinctrl;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
|
|
||||||
if (ret) {
|
|
||||||
debug("%s: Cannot find pinctrl device\n", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Enable debug UART */
|
|
||||||
ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG);
|
|
||||||
if (ret) {
|
|
||||||
debug("%s: Failed to set up console UART\n", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
preloader_console_init();
|
|
||||||
return;
|
|
||||||
err:
|
|
||||||
printf("spl_board_init: Error %d\n", ret);
|
|
||||||
|
|
||||||
/* No way to report error here */
|
|
||||||
hang();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPL_LOAD_FIT
|
#ifdef CONFIG_SPL_LOAD_FIT
|
||||||
int board_fit_config_name_match(const char *name)
|
int board_fit_config_name_match(const char *name)
|
||||||
{
|
{
|
||||||
|
@ -3,13 +3,14 @@
|
|||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-2.0+
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <dm.h>
|
#include <dm.h>
|
||||||
#include <ram.h>
|
|
||||||
#include <dm/pinctrl.h>
|
#include <dm/pinctrl.h>
|
||||||
#include <dm/uclass-internal.h>
|
#include <dm/uclass-internal.h>
|
||||||
#include <asm/arch/periph.h>
|
#include <asm/arch/periph.h>
|
||||||
#include <power/regulator.h>
|
#include <power/regulator.h>
|
||||||
|
#include <spl.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
@ -67,3 +68,30 @@ int board_init(void)
|
|||||||
out:
|
out:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void spl_board_init(void)
|
||||||
|
{
|
||||||
|
struct udevice *pinctrl;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
|
||||||
|
if (ret) {
|
||||||
|
debug("%s: Cannot find pinctrl device\n", __func__);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Enable debug UART */
|
||||||
|
ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART_DBG);
|
||||||
|
if (ret) {
|
||||||
|
debug("%s: Failed to set up console UART\n", __func__);
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
|
preloader_console_init();
|
||||||
|
return;
|
||||||
|
err:
|
||||||
|
printf("%s: Error %d\n", __func__, ret);
|
||||||
|
|
||||||
|
/* No way to report error here */
|
||||||
|
hang();
|
||||||
|
}
|
||||||
|
@ -3,15 +3,16 @@
|
|||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-2.0+
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <dm.h>
|
#include <dm.h>
|
||||||
#include <misc.h>
|
#include <misc.h>
|
||||||
#include <ram.h>
|
|
||||||
#include <dm/pinctrl.h>
|
#include <dm/pinctrl.h>
|
||||||
#include <dm/uclass-internal.h>
|
#include <dm/uclass-internal.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
#include <asm/arch/periph.h>
|
#include <asm/arch/periph.h>
|
||||||
#include <power/regulator.h>
|
#include <power/regulator.h>
|
||||||
|
#include <spl.h>
|
||||||
#include <u-boot/sha256.h>
|
#include <u-boot/sha256.h>
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
@ -59,6 +60,11 @@ out:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void spl_board_init(void)
|
||||||
|
{
|
||||||
|
preloader_console_init();
|
||||||
|
}
|
||||||
|
|
||||||
static void setup_macaddr(void)
|
static void setup_macaddr(void)
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(CMD_NET)
|
#if CONFIG_IS_ENABLED(CMD_NET)
|
||||||
@ -91,8 +97,6 @@ static void setup_macaddr(void)
|
|||||||
mac_addr[0] |= 0x02; /* set local assignment bit (IEEE802) */
|
mac_addr[0] |= 0x02; /* set local assignment bit (IEEE802) */
|
||||||
eth_env_set_enetaddr("ethaddr", mac_addr);
|
eth_env_set_enetaddr("ethaddr", mac_addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setup_serial(void)
|
static void setup_serial(void)
|
||||||
@ -147,8 +151,6 @@ static void setup_serial(void)
|
|||||||
env_set("cpuid#", cpuid_str);
|
env_set("cpuid#", cpuid_str);
|
||||||
env_set("serial#", serialno_str);
|
env_set("serial#", serialno_str);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user