Skip to content
Snippets Groups Projects
Commit 5a6d3d1f authored by Suniel Mahesh's avatar Suniel Mahesh Committed by Kever Yang
Browse files

board: roc-pc-rk3399: Add support for onboard LED's and push button to indicate power mode


Added support for onboard LED's and push button. When powered board will be
in low power mode(yellow LED), on button press, board enters full power mode
(red LED) and boots u-boot.

Signed-off-by: default avatarSuniel Mahesh <sunil@amarulasolutions.com>
Reviewed-by: default avatarKever Yang <kever.yang@rock-chips.com>
parent 01892d23
No related branches found
No related tags found
No related merge requests found
......@@ -40,11 +40,18 @@ __weak void rockchip_stimer_init(void)
TIMER_CONTROL_REG);
}
__weak int board_early_init_f(void)
{
return 0;
}
void board_init_f(ulong dummy)
{
struct udevice *dev;
int ret;
board_early_init_f();
#if defined(CONFIG_DEBUG_UART) && defined(CONFIG_TPL_SERIAL_SUPPORT)
/*
* Debug UART can be used from here if required:
......
......@@ -7,6 +7,10 @@
#include <dm.h>
#include <asm/arch-rockchip/periph.h>
#include <power/regulator.h>
#include <spl_gpio.h>
#include <asm/io.h>
#include <asm/arch-rockchip/gpio.h>
#include <asm/arch-rockchip/grf_rk3399.h>
#ifndef CONFIG_SPL_BUILD
int board_early_init_f(void)
......@@ -27,3 +31,31 @@ out:
return 0;
}
#endif
#if defined(CONFIG_TPL_BUILD)
#define PMUGRF_BASE 0xff320000
#define GPIO0_BASE 0xff720000
int board_early_init_f(void)
{
struct rockchip_gpio_regs * const gpio0 = (void *)GPIO0_BASE;
struct rk3399_pmugrf_regs * const pmugrf = (void *)PMUGRF_BASE;
/**
* 1. Glow yellow LED, termed as low power
* 2. Poll for on board power key press
* 3. Once 2 done, off yellow and glow red LED, termed as full power
* 4. Continue booting...
*/
spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5), GPIO_PULL_NORMAL);
while (readl(&gpio0->ext_port) & 0x20);
spl_gpio_output(gpio0, GPIO(BANK_A, 2), 0);
spl_gpio_output(gpio0, GPIO(BANK_B, 5), 1);
return 0;
}
#endif
......@@ -57,3 +57,4 @@ CONFIG_USB_ETHER_RTL8152=y
CONFIG_USB_ETHER_SMSC95XX=y
CONFIG_SPL_TINY_MEMSET=y
CONFIG_ERRNO_STR=y
CONFIG_TPL_GPIO_SUPPORT=y
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment