board: samsung: add initial Espresso7420 board support

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.ab@samsung.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Thomas Abraham 2016-04-23 22:18:14 +05:30 committed by Minkyu Kang
parent e39448e8be
commit 6c15a2a996
9 changed files with 108 additions and 2 deletions

View File

@ -21,6 +21,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 \

View File

@ -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>;
};

View File

@ -109,6 +109,24 @@ config TARGET_PEACH_PIT
endchoice
endif
if ARCH_EXYNOS7
choice
prompt "EXYNOS7 board select"
config TARGET_ESPRESSO7420
bool "ESPRESSO7420 board"
select ARM64
select SUPPORT_SPL
select OF_CONTROL
select SPL_DISABLE_OF_CONTROL
select PINCTRL
select PINCTRL_EXYNOS7420
select CLK_EXYNOS
endchoice
endif
config SYS_SOC
default "exynos"
@ -121,5 +139,6 @@ source "board/samsung/odroid/Kconfig"
source "board/samsung/arndale/Kconfig"
source "board/samsung/smdk5250/Kconfig"
source "board/samsung/smdk5420/Kconfig"
source "board/samsung/espresso7420/Kconfig"
endif

View File

@ -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,7 @@ void dram_init_banksize(void)
static int board_uart_init(void)
{
#ifndef CONFIG_PINCTRL_EXYNOS
int err, uart_id, ret = 0;
for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
@ -133,6 +136,9 @@ static int board_uart_init(void)
}
}
return ret;
#else
return 0;
#endif
}
#ifdef CONFIG_BOARD_EARLY_INIT_F

View File

@ -0,0 +1,16 @@
if TARGET_ESPRESSO7420
config SYS_BOARD
default "espresso7420"
help
Espresso7420 is a development/evaluation board for Exynos7420 SoC.
It includes multiple onboard compoments (EMMC/Codec) and various
interconnects (USB/HDMI).
config SYS_VENDOR
default "samsung"
config SYS_CONFIG_NAME
default "espresso7420"
endif

View File

@ -0,0 +1,5 @@
ESPRESSO7420 Board
M: Thomas Abraham <thomas.ab@samsung.com>
S: Maintained
F: board/samsung/espresso7420/
F: include/configs/espresso7420.h

View File

@ -0,0 +1,10 @@
#
# Copyright (C) 2016 Samsung Electronics
# Thomas Abraham <thomas.ab@samsung.com>
#
# SPDX-License-Identifier: GPL-2.0+
#
ifndef CONFIG_SPL_BUILD
obj-y += espresso7420.o
endif

View File

@ -0,0 +1,16 @@
/*
* Espresso7420 board file
* Copyright (C) 2016 Samsung Electronics
* Thomas Abraham <thomas.ab@samsung.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
DECLARE_GLOBAL_DATA_PTR;
int exynos_init(void)
{
return 0;
}

View File

@ -0,0 +1,9 @@
CONFIG_ARM=y
CONFIG_ARCH_EXYNOS=y
CONFIG_ARCH_EXYNOS7=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