[1/2] rockchip: rk3399: split roc-rk3399-pc out of evb_rk3399
Commit Message
From: Suniel Mahesh <sunil@amarulasolutions.com>
roc-rk3399-pc board has one user button & three user LED's (red, green,
yellow). At present there is no code to use them in full effect(for instance
yellow led can be used to indicate low power mode and red led can be used to
indicate full power mode with the help of push button). Split into its own
board file to acheive any custom functionality.
Signed-off-by: Suniel Mahesh <sunil@amarulasolutions.com>
---
arch/arm/mach-rockchip/rk3399/Kconfig | 20 ++++++++++++++++++++
board/firefly/roc-rk3399-pc/Kconfig | 16 ++++++++++++++++
board/firefly/roc-rk3399-pc/MAINTAINERS | 6 ++++++
board/firefly/roc-rk3399-pc/Makefile | 7 +++++++
board/firefly/roc-rk3399-pc/roc-rk3399-pc.c | 29 +++++++++++++++++++++++++++++
configs/roc-pc-rk3399_defconfig | 1 +
include/configs/roc-rk3399-pc.h | 15 +++++++++++++++
7 files changed, 94 insertions(+)
create mode 100644 board/firefly/roc-rk3399-pc/Kconfig
create mode 100644 board/firefly/roc-rk3399-pc/MAINTAINERS
create mode 100644 board/firefly/roc-rk3399-pc/Makefile
create mode 100644 board/firefly/roc-rk3399-pc/roc-rk3399-pc.c
create mode 100644 include/configs/roc-rk3399-pc.h
@@ -81,6 +81,25 @@ config TARGET_ROCKPRO64_RK3399
* GPIO expansion ports
* DC 12V/2A
+config TARGET_ROC_RK3399_PC
+ bool "Firefly ROC-RK3399-PC board"
+ help
+ ROC-RK3399-PC is SBC produced by Firefly. Key features:
+
+ * Rockchip RK3399
+ * 4GB Dual-Channel LPDDR4 64-bit
+ * SD card slot
+ * eMMC socket
+ * 16MB SPI Flash
+ * Gigabit ethernet
+ * PCIe
+ * HDMI In/Out, DP, MIPI DSI/CSI, eDP
+ * USB 3.0, 2.0
+ * USB Type C power and data
+ * GPIO expansion ports
+ * wide voltage input(5V-15V), dual cell battery
+ * Wifi/BT accessible via expansion board M.2
+
endchoice
config ROCKCHIP_BOOT_MODE_REG
@@ -128,5 +147,6 @@ source "board/theobroma-systems/puma_rk3399/Kconfig"
source "board/vamrs/rock960_rk3399/Kconfig"
source "board/google/gru/Kconfig"
source "board/pine64/rockpro64_rk3399/Kconfig"
+source "board/firefly/roc-rk3399-pc/Kconfig"
endif
new file mode 100644
@@ -0,0 +1,16 @@
+if TARGET_ROC_RK3399_PC
+
+config SYS_BOARD
+ default "roc-rk3399-pc"
+
+config SYS_VENDOR
+ default "firefly"
+
+config SYS_CONFIG_NAME
+ default "roc-rk3399-pc"
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+ def_bool y
+
+endif
+
new file mode 100644
@@ -0,0 +1,6 @@
+ROC-RK3399-PC
+M: Kever Yang <kever.yang@rock-chips.com>
+S: Maintained
+F: board/firefly/roc-rk3399-pc/roc-rk3399-pc
+F: include/configs/roc-rk3399-pc.h
+F: configs/roc-pc-rk3399_defconfig
new file mode 100644
@@ -0,0 +1,7 @@
+#
+# (C) Copyright 2016 Rockchip Electronics Co., Ltd
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+obj-y += roc-rk3399-pc.o
new file mode 100644
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/arch-rockchip/periph.h>
+#include <power/regulator.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;
+}
+#endif
@@ -2,6 +2,7 @@ CONFIG_ARM=y
CONFIG_ARCH_ROCKCHIP=y
CONFIG_SYS_TEXT_BASE=0x00200000
CONFIG_ROCKCHIP_RK3399=y
+CONFIG_TARGET_ROC_RK3399_PC=y
CONFIG_ENV_OFFSET=0x3F8000
CONFIG_NR_DRAM_BANKS=1
CONFIG_DEBUG_UART_BASE=0xFF1A0000
new file mode 100644
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
+ */
+
+#ifndef __EVB_RK3399_H
+#define __EVB_RK3399_H
+
+#include <configs/rk3399_common.h>
+
+#define CONFIG_SYS_MMC_ENV_DEV 0
+
+#define SDRAM_BANK_SIZE (2UL << 30)
+
+#endif