[U-Boot] [PATCH 2/2] rockchip: Add basic support for kylin board

Lin Huang hl at rock-chips.com
Mon Dec 7 04:08:57 CET 2015


kylin board use rk3036 SOC, 512M sdram, 8G emmc.
This add some basic files required to allow the board
to output serial message and can run command(mmc info etc).

Signed-off-by: Lin Huang <hl at rock-chips.com>
---
 arch/arm/mach-rockchip/rk3036/Kconfig   |  4 +++
 board/kylin/kylin_rk3036/Kconfig        | 15 ++++++++++
 board/kylin/kylin_rk3036/MAINTAINERS    |  0
 board/kylin/kylin_rk3036/Makefile       |  7 +++++
 board/kylin/kylin_rk3036/kylin_rk3036.c | 49 +++++++++++++++++++++++++++++++++
 configs/kylin-rk3036_defconfig          | 26 +++++++++++++++++
 include/configs/kylin_rk3036.h          | 12 ++++++++
 7 files changed, 113 insertions(+)
 create mode 100644 board/kylin/kylin_rk3036/Kconfig
 create mode 100644 board/kylin/kylin_rk3036/MAINTAINERS
 create mode 100644 board/kylin/kylin_rk3036/Makefile
 create mode 100644 board/kylin/kylin_rk3036/kylin_rk3036.c
 create mode 100644 configs/kylin-rk3036_defconfig
 create mode 100644 include/configs/kylin_rk3036.h

diff --git a/arch/arm/mach-rockchip/rk3036/Kconfig b/arch/arm/mach-rockchip/rk3036/Kconfig
index 95fb2b9..420d44d 100644
--- a/arch/arm/mach-rockchip/rk3036/Kconfig
+++ b/arch/arm/mach-rockchip/rk3036/Kconfig
@@ -3,6 +3,9 @@ if ROCKCHIP_RK3036
 config TARGET_EVB_RK3036
 	bool "EVB_RK3036"
 
+config TARGET_KYLIN_RK3036
+	bool "KYLIN_RK3036"
+
 config SYS_SOC
 	default "rockchip"
 
@@ -19,5 +22,6 @@ config ROCKCHIP_COMMON
 	bool "Support rk common fuction"
 
 source "board/evb_rk3036/evb_rk3036/Kconfig"
+source "board/kylin/kylin_rk3036/Kconfig"
 
 endif
diff --git a/board/kylin/kylin_rk3036/Kconfig b/board/kylin/kylin_rk3036/Kconfig
new file mode 100644
index 0000000..5d75c1f
--- /dev/null
+++ b/board/kylin/kylin_rk3036/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_KYLIN_RK3036
+
+config SYS_BOARD
+	default "kylin_rk3036"
+
+config SYS_VENDOR
+	default "kylin"
+
+config SYS_CONFIG_NAME
+	default "kylin_rk3036"
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
+
+endif
diff --git a/board/kylin/kylin_rk3036/MAINTAINERS b/board/kylin/kylin_rk3036/MAINTAINERS
new file mode 100644
index 0000000..e69de29
diff --git a/board/kylin/kylin_rk3036/Makefile b/board/kylin/kylin_rk3036/Makefile
new file mode 100644
index 0000000..0663270
--- /dev/null
+++ b/board/kylin/kylin_rk3036/Makefile
@@ -0,0 +1,7 @@
+#
+# (C) Copyright 2015 Google, Inc
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+obj-y	+= kylin_rk3036.o
diff --git a/board/kylin/kylin_rk3036/kylin_rk3036.c b/board/kylin/kylin_rk3036/kylin_rk3036.c
new file mode 100644
index 0000000..40d6b52
--- /dev/null
+++ b/board/kylin/kylin_rk3036/kylin_rk3036.c
@@ -0,0 +1,49 @@
+/*
+ * (C) Copyright 2015 Rockchip Electronics Co., Ltd
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <asm/io.h>
+#include <asm/arch/uart.h>
+#include <asm/arch/sdram_rk3036.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void get_ddr_config(struct rk3036_ddr_config *config)
+{
+	/* K4B4G1646Q config */
+	config->ddr_type = 3;
+	config->rank = 1;
+	config->cs0_row = 15;
+	config->cs1_row = 15;
+
+	/* 8bank */
+	config->bank = 3;
+	config->col = 10;
+
+	/* 16bit bw */
+	config->bw = 1;
+}
+
+int board_init(void)
+{
+	return 0;
+}
+
+int dram_init(void)
+{
+	gd->ram_size = sdram_size();
+
+	return 0;
+}
+
+#ifndef CONFIG_SYS_DCACHE_OFF
+void enable_caches(void)
+{
+	/* Enable D-cache. I-cache is already enabled in start.S */
+	dcache_enable();
+}
+#endif
diff --git a/configs/kylin-rk3036_defconfig b/configs/kylin-rk3036_defconfig
new file mode 100644
index 0000000..60cdebf
--- /dev/null
+++ b/configs/kylin-rk3036_defconfig
@@ -0,0 +1,26 @@
+CONFIG_ARM=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_ROCKCHIP_RK3036=y
+CONFIG_TARGET_KYLIN_RK3036=y
+CONFIG_DEFAULT_DEVICE_TREE="rk3036-sdk"
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_ADDR=0x80000
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_SETEXPR is not set
+CONFIG_CMD_PMIC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CLK=y
+CONFIG_REGMAP=y
+CONFIG_SYSCON=y
+CONFIG_RESET=y
+CONFIG_LED=y
+CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_PINCTRL=y
+CONFIG_ROCKCHIP_DWMMC=y
+CONFIG_ROCKCHIP_3036_PINCTRL=y
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_RAM=y
+CONFIG_DM_MMC=y
+CONFIG_USE_PRIVATE_LIBGCC=y
+CONFIG_CMD_DHRYSTONE=y
+CONFIG_ERRNO_STR=y
diff --git a/include/configs/kylin_rk3036.h b/include/configs/kylin_rk3036.h
new file mode 100644
index 0000000..aa07889
--- /dev/null
+++ b/include/configs/kylin_rk3036.h
@@ -0,0 +1,12 @@
+/*
+ * (C) Copyright 2015 Rockchip Electronics Co., Ltd
+ *
+ * SPDX-License-Identifier:     GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/rk3036_common.h>
+
+#endif
-- 
1.9.1



More information about the U-Boot mailing list