
Hi Simon,
On Wed, Apr 20, 2016 at 8:11 PM, Simon Glass sjg@chromium.org wrote:
Hi Thomas,
On 13 April 2016 at 04:43, Thomas Abraham ta.omasab@gmail.com wrote:
From: Thomas Abraham thomas.ab@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.ab@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
Reviewed-by: Simon Glass sjg@chromium.org
See below.
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);
Does this not happen automatically when the UART is probed? It should call pinctrl_select_state(dev, "default");
Right, this was not required. With the "u-boot,dm-pre-reloc" property added to the pin configuration node, this change is not required. This change will be remove in the next version.
Thanks, Thomas.
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"
Please add a description of the board in help.
+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.ab@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
Why the commented-out files?
+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.ab@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
Regards, Simon