mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-11 13:46:17 +09:00
![Jagan Teki](/assets/img/avatar_default.png)
roc-rk3399-pc has some specific requirements to support LEDS, environment. board detection and etc prior to U-Boot proper. So as of now SPL would be a better stage for these custom board requirements to support unlike TPL. Adding few of these custom requirements like LEDS in TPL would require extra code pulling and also the size of TPL can grow. So, this patch moves the leds code from TPL into SPL Board init led_setup code. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> (split tpl.c change as separate patch) Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
45 lines
873 B
C
45 lines
873 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm.h>
|
|
#include <log.h>
|
|
#include <power/regulator.h>
|
|
#include <spl_gpio.h>
|
|
#include <asm/io.h>
|
|
#include <asm/arch-rockchip/gpio.h>
|
|
|
|
#ifndef CONFIG_SPL_BUILD
|
|
int board_early_init_f(void)
|
|
{
|
|
struct udevice *regulator;
|
|
int ret;
|
|
|
|
ret = regulator_get_by_platname("vcc5v0_host", ®ulator);
|
|
if (ret) {
|
|
debug("%s vcc5v0_host init fail! ret %d\n", __func__, ret);
|
|
goto out;
|
|
}
|
|
|
|
ret = regulator_set_enable(regulator, true);
|
|
if (ret)
|
|
debug("%s vcc5v0-host-en set fail! ret %d\n", __func__, ret);
|
|
out:
|
|
return 0;
|
|
}
|
|
|
|
#else
|
|
|
|
#define GPIO0_BASE 0xff720000
|
|
|
|
void led_setup(void)
|
|
{
|
|
struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
|
|
|
|
/* Turn on red LED, indicating full power mode */
|
|
spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
|
|
}
|
|
#endif
|