Commit 6c15a2a996214574e8145bff69d110a302edf277

Authored by Thomas Abraham
Committed by Minkyu Kang
1 parent e39448e8be

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>

Showing 9 changed files with 108 additions and 2 deletions Side-by-side Diff

arch/arm/dts/Makefile
... ... @@ -21,6 +21,7 @@
21 21 exynos5420-peach-pit.dtb \
22 22 exynos5800-peach-pi.dtb \
23 23 exynos5422-odroidxu3.dtb
  24 +dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
24 25 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
25 26 rk3288-firefly.dtb \
26 27 rk3288-jerry.dtb \
arch/arm/dts/exynos7420-espresso7420.dts
  1 +/*
  2 + * Samsung Espresso7420 board device tree source
  3 + *
  4 + * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  5 + * http://www.samsung.com
  6 + *
  7 + * SPDX-License-Identifier: GPL-2.0+
  8 + */
  9 +
  10 +#include "exynos7420.dtsi"
  11 +/ {
  12 + model = "Samsung Espresso7420 board based on Exynos7420";
  13 + compatible = "samsung,espresso7420", "samsung,exynos7420";
  14 +
  15 + aliases {
  16 + serial2 = "/serial@14C30000";
  17 + console = "/serial@14C30000";
  18 + pinctrl0 = "/pinctrl@13470000";
  19 + };
  20 +};
  21 +
  22 +&fin_pll {
  23 + clock-frequency = <24000000>;
  24 +};
arch/arm/mach-exynos/Kconfig
... ... @@ -109,6 +109,24 @@
109 109 endchoice
110 110 endif
111 111  
  112 +if ARCH_EXYNOS7
  113 +
  114 +choice
  115 + prompt "EXYNOS7 board select"
  116 +
  117 +config TARGET_ESPRESSO7420
  118 + bool "ESPRESSO7420 board"
  119 + select ARM64
  120 + select SUPPORT_SPL
  121 + select OF_CONTROL
  122 + select SPL_DISABLE_OF_CONTROL
  123 + select PINCTRL
  124 + select PINCTRL_EXYNOS7420
  125 + select CLK_EXYNOS
  126 +
  127 +endchoice
  128 +endif
  129 +
112 130 config SYS_SOC
113 131 default "exynos"
114 132  
... ... @@ -121,6 +139,7 @@
121 139 source "board/samsung/arndale/Kconfig"
122 140 source "board/samsung/smdk5250/Kconfig"
123 141 source "board/samsung/smdk5420/Kconfig"
  142 +source "board/samsung/espresso7420/Kconfig"
124 143  
125 144 endif
board/samsung/common/board.c
... ... @@ -27,6 +27,8 @@
27 27 #include <usb.h>
28 28 #include <dwc3-uboot.h>
29 29 #include <samsung/misc.h>
  30 +#include <dm/pinctrl.h>
  31 +#include <dm.h>
30 32  
31 33 DECLARE_GLOBAL_DATA_PTR;
32 34  
... ... @@ -97,7 +99,7 @@
97 99 int dram_init(void)
98 100 {
99 101 unsigned int i;
100   - u32 addr;
  102 + unsigned long addr;
101 103  
102 104 for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
103 105 addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
... ... @@ -109,7 +111,7 @@
109 111 void dram_init_banksize(void)
110 112 {
111 113 unsigned int i;
112   - u32 addr, size;
  114 + unsigned long addr, size;
113 115  
114 116 for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
115 117 addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
... ... @@ -122,6 +124,7 @@
122 124  
123 125 static int board_uart_init(void)
124 126 {
  127 +#ifndef CONFIG_PINCTRL_EXYNOS
125 128 int err, uart_id, ret = 0;
126 129  
127 130 for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
... ... @@ -133,6 +136,9 @@
133 136 }
134 137 }
135 138 return ret;
  139 +#else
  140 + return 0;
  141 +#endif
136 142 }
137 143  
138 144 #ifdef CONFIG_BOARD_EARLY_INIT_F
board/samsung/espresso7420/Kconfig
  1 +if TARGET_ESPRESSO7420
  2 +
  3 +config SYS_BOARD
  4 + default "espresso7420"
  5 + help
  6 + Espresso7420 is a development/evaluation board for Exynos7420 SoC.
  7 + It includes multiple onboard compoments (EMMC/Codec) and various
  8 + interconnects (USB/HDMI).
  9 +
  10 +config SYS_VENDOR
  11 + default "samsung"
  12 +
  13 +config SYS_CONFIG_NAME
  14 + default "espresso7420"
  15 +
  16 +endif
board/samsung/espresso7420/MAINTAINERS
  1 +ESPRESSO7420 Board
  2 +M: Thomas Abraham <thomas.ab@samsung.com>
  3 +S: Maintained
  4 +F: board/samsung/espresso7420/
  5 +F: include/configs/espresso7420.h
board/samsung/espresso7420/Makefile
  1 +#
  2 +# Copyright (C) 2016 Samsung Electronics
  3 +# Thomas Abraham <thomas.ab@samsung.com>
  4 +#
  5 +# SPDX-License-Identifier: GPL-2.0+
  6 +#
  7 +
  8 +ifndef CONFIG_SPL_BUILD
  9 +obj-y += espresso7420.o
  10 +endif
board/samsung/espresso7420/espresso7420.c
  1 +/*
  2 + * Espresso7420 board file
  3 + * Copyright (C) 2016 Samsung Electronics
  4 + * Thomas Abraham <thomas.ab@samsung.com>
  5 + *
  6 + * SPDX-License-Identifier: GPL-2.0+
  7 + */
  8 +
  9 +#include <common.h>
  10 +
  11 +DECLARE_GLOBAL_DATA_PTR;
  12 +
  13 +int exynos_init(void)
  14 +{
  15 + return 0;
  16 +}
configs/espresso7420_defconfig
  1 +CONFIG_ARM=y
  2 +CONFIG_ARCH_EXYNOS=y
  3 +CONFIG_ARCH_EXYNOS7=y
  4 +CONFIG_TARGET_ESPRESSO7420=y
  5 +CONFIG_DEFAULT_DEVICE_TREE="exynos7420-espresso7420"
  6 +CONFIG_SYS_MALLOC_F_LEN=0x2000
  7 +CONFIG_SYS_PROMPT="ESPRESSO7420 # "
  8 +# CONFIG_CMD_IMLS is not set
  9 +# CONFIG_CMD_SETEXPR is not set