rockchip: rk3399: split roc-rk3399-pc out of evb_rk3399

Message ID 1579798882-8325-1-git-send-email-sunil@amarulasolutions.com
State New
Headers show
Series
  • rockchip: rk3399: split roc-rk3399-pc out of evb_rk3399
Related show

Commit Message

Suniel Mahesh Jan. 23, 2020, 5:01 p.m. UTC
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). This adds that required
support by splitting into its own board file and configuring them there.

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

Patch

diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
index 868e85f..0252c36 100644
--- a/arch/arm/mach-rockchip/rk3399/Kconfig
+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
@@ -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
@@ -118,5 +137,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
diff --git a/board/firefly/roc-rk3399-pc/Kconfig b/board/firefly/roc-rk3399-pc/Kconfig
new file mode 100644
index 0000000..26dce89
--- /dev/null
+++ b/board/firefly/roc-rk3399-pc/Kconfig
@@ -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
+
diff --git a/board/firefly/roc-rk3399-pc/MAINTAINERS b/board/firefly/roc-rk3399-pc/MAINTAINERS
new file mode 100644
index 0000000..ba6bec9
--- /dev/null
+++ b/board/firefly/roc-rk3399-pc/MAINTAINERS
@@ -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
diff --git a/board/firefly/roc-rk3399-pc/Makefile b/board/firefly/roc-rk3399-pc/Makefile
new file mode 100644
index 0000000..200dab0
--- /dev/null
+++ b/board/firefly/roc-rk3399-pc/Makefile
@@ -0,0 +1,7 @@ 
+#
+# (C) Copyright 2016 Rockchip Electronics Co., Ltd
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y	+= roc-rk3399-pc.o
diff --git a/board/firefly/roc-rk3399-pc/roc-rk3399-pc.c b/board/firefly/roc-rk3399-pc/roc-rk3399-pc.c
new file mode 100644
index 0000000..d47dba8
--- /dev/null
+++ b/board/firefly/roc-rk3399-pc/roc-rk3399-pc.c
@@ -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", &regulator);
+	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
diff --git a/configs/roc-pc-rk3399_defconfig b/configs/roc-pc-rk3399_defconfig
index 39c3e18..7da80e0 100644
--- a/configs/roc-pc-rk3399_defconfig
+++ b/configs/roc-pc-rk3399_defconfig
@@ -3,6 +3,7 @@  CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00200000
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ROCKCHIP_RK3399=y
+CONFIG_TARGET_ROC_RK3399_PC=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_DEBUG_UART_BASE=0xFF1A0000
 CONFIG_DEBUG_UART_CLOCK=24000000
diff --git a/include/configs/roc-rk3399-pc.h b/include/configs/roc-rk3399-pc.h
new file mode 100644
index 0000000..b9c4d68
--- /dev/null
+++ b/include/configs/roc-rk3399-pc.h
@@ -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