blob: 46524900def4dbfb629b22a36e9d8abb67b0a61c [file] [log] [blame]
Andy Yane3067792017-10-11 15:00:16 +08001/*
2 * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#include <common.h>
8#include <asm/io.h>
9#include <asm/arch/boot_mode.h>
10
11int setup_boot_mode(void)
12{
13 void *reg = (void *)CONFIG_ROCKCHIP_BOOT_MODE_REG;
14 int boot_mode = readl(reg);
15
16 debug("boot mode %x.\n", boot_mode);
17
18 /* Clear boot mode */
19 writel(BOOT_NORMAL, reg);
20
21 switch (boot_mode) {
22 case BOOT_FASTBOOT:
23 printf("enter fastboot!\n");
24 env_set("preboot", "setenv preboot; fastboot usb0");
25 break;
26 case BOOT_UMS:
27 printf("enter UMS!\n");
28 env_set("preboot", "setenv preboot; ums mmc 0");
29 break;
30 }
31
32 return 0;
33}