From: Thomas Abraham <thomas...@samsung.com>

Espresso7420 is a development/evaluation board for Exynos7420 SoC. It
includes multiple onboard compoments (EMMC/Codec) and various
interconnects (USB/HDMI).

Signed-off-by: Thomas Abraham <thomas...@samsung.com>
---
 arch/arm/dts/Makefile                     |    1 +
 arch/arm/dts/exynos7420-espresso7420.dts  |   24 ++++++++++++++++++++++++
 board/samsung/common/board.c              |   18 ++++++++++++++++--
 board/samsung/espresso7420/Kconfig        |   12 ++++++++++++
 board/samsung/espresso7420/MAINTAINERS    |    5 +++++
 board/samsung/espresso7420/Makefile       |   16 ++++++++++++++++
 board/samsung/espresso7420/espresso7420.c |   16 ++++++++++++++++
 configs/espresso7420_defconfig            |    8 ++++++++
 8 files changed, 98 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/dts/exynos7420-espresso7420.dts
 create mode 100644 board/samsung/espresso7420/Kconfig
 create mode 100644 board/samsung/espresso7420/MAINTAINERS
 create mode 100644 board/samsung/espresso7420/Makefile
 create mode 100644 board/samsung/espresso7420/espresso7420.c
 create mode 100644 configs/espresso7420_defconfig

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index ea635e4..a61bbff 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -19,6 +19,7 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arndale.dtb \
        exynos5420-peach-pit.dtb \
        exynos5800-peach-pi.dtb \
        exynos5422-odroidxu3.dtb
+dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
        rk3288-firefly.dtb \
        rk3288-jerry.dtb \
diff --git a/arch/arm/dts/exynos7420-espresso7420.dts 
b/arch/arm/dts/exynos7420-espresso7420.dts
new file mode 100644
index 0000000..f17a848
--- /dev/null
+++ b/arch/arm/dts/exynos7420-espresso7420.dts
@@ -0,0 +1,24 @@
+/*
+ * Samsung Espresso7420 board device tree source
+ *
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *             http://www.samsung.com
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include "exynos7420.dtsi"
+/ {
+       model = "Samsung Espresso7420 board based on Exynos7420";
+       compatible = "samsung,espresso7420", "samsung,exynos7420";
+
+       aliases {
+               serial2 = "/serial@14C30000";
+               console = "/serial@14C30000";
+               pinctrl0 = "/pinctrl@13470000";
+       };
+};
+
+&fin_pll {
+       clock-frequency = <24000000>;
+};
diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 1334c22..e4f189c 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -27,6 +27,8 @@
 #include <usb.h>
 #include <dwc3-uboot.h>
 #include <samsung/misc.h>
+#include <dm/pinctrl.h>
+#include <dm.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -97,7 +99,7 @@ int board_init(void)
 int dram_init(void)
 {
        unsigned int i;
-       u32 addr;
+       unsigned long addr;
 
        for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
                addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
@@ -109,7 +111,7 @@ int dram_init(void)
 void dram_init_banksize(void)
 {
        unsigned int i;
-       u32 addr, size;
+       unsigned long addr, size;
 
        for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
                addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
@@ -122,6 +124,17 @@ void dram_init_banksize(void)
 
 static int board_uart_init(void)
 {
+#if CONFIG_PINCTRL_EXYNOS
+       struct udevice *pinctrl;
+       int ret;
+
+       ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl);
+       if (ret)
+               return ret;
+
+       ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_UART2);
+       return ret;
+#else
        int err, uart_id, ret = 0;
 
        for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
@@ -133,6 +146,7 @@ static int board_uart_init(void)
                }
        }
        return ret;
+#endif
 }
 
 #ifdef CONFIG_BOARD_EARLY_INIT_F
diff --git a/board/samsung/espresso7420/Kconfig 
b/board/samsung/espresso7420/Kconfig
new file mode 100644
index 0000000..6cfead0
--- /dev/null
+++ b/board/samsung/espresso7420/Kconfig
@@ -0,0 +1,12 @@
+if TARGET_ESPRESSO7420
+
+config SYS_BOARD
+       default "espresso7420"
+
+config SYS_VENDOR
+       default "samsung"
+
+config SYS_CONFIG_NAME
+       default "espresso7420"
+
+endif
diff --git a/board/samsung/espresso7420/MAINTAINERS 
b/board/samsung/espresso7420/MAINTAINERS
new file mode 100644
index 0000000..aaebc4c
--- /dev/null
+++ b/board/samsung/espresso7420/MAINTAINERS
@@ -0,0 +1,5 @@
+ESPRESSO7420 Board
+M:     Thomas Abraham <thomas...@samsung.com>
+S:     Maintained
+F:     board/samsung/espresso7420/
+F:     include/configs/espresso7420.h
diff --git a/board/samsung/espresso7420/Makefile 
b/board/samsung/espresso7420/Makefile
new file mode 100644
index 0000000..53d90fd
--- /dev/null
+++ b/board/samsung/espresso7420/Makefile
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2015 Samsung Electronics
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+#obj-y += espresso7420_spl.o
+#obj-y += clk-boot_evt1.o
+#obj-y += lpddr4_evt1.o
+#obj-y += dmc_init_lpddr4.o
+#obj-y += dmc.o
+#obj-y += clock.o clock_init.o
+
+ifndef CONFIG_SPL_BUILD
+obj-y  += espresso7420.o
+endif
diff --git a/board/samsung/espresso7420/espresso7420.c 
b/board/samsung/espresso7420/espresso7420.c
new file mode 100644
index 0000000..04a83bc
--- /dev/null
+++ b/board/samsung/espresso7420/espresso7420.c
@@ -0,0 +1,16 @@
+/*
+ * Espresso7420 board file
+ * Copyright (C) 2016 Samsung Electronics
+ * Thomas Abraham <thomas...@samsung.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int exynos_init(void)
+{
+       return 0;
+}
diff --git a/configs/espresso7420_defconfig b/configs/espresso7420_defconfig
new file mode 100644
index 0000000..604921f
--- /dev/null
+++ b/configs/espresso7420_defconfig
@@ -0,0 +1,8 @@
+CONFIG_ARM=y
+CONFIG_ARCH_EXYNOS=y
+CONFIG_TARGET_ESPRESSO7420=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420"
+CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_SYS_PROMPT="ESPRESSO7420 # "
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_SETEXPR is not set
-- 
1.6.6.rc2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to