All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 0/2] Add Arndale board support
@ 2013-07-25 12:46 Chander Kashyap
  2013-07-25 12:46 ` [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale " Chander Kashyap
  2013-07-25 12:46 ` [U-Boot] [PATCH v4 2/2] exynos5250: arndale: Add mmc support Chander Kashyap
  0 siblings, 2 replies; 5+ messages in thread
From: Chander Kashyap @ 2013-07-25 12:46 UTC (permalink / raw)
  To: u-boot

The Arndale board is based on samsung's exynos5250 SOC.
For spl generation, it depends on the patch at [5].

First patch provides the basic arndale board support. The second patch
adds the MMC support.

Changes in v2:
        - split from earlier patchset at [3] as per Minkyu
        - Removed checkpatch errors pointed out by Wolfgang
        - rebased to latest u-boot-samsung master branch
        - created mmc_boot.c to remove dependency on consolidation
          patch at [4]
        - split the mmc support to new patch as it depends on [2]

[1] http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/162883
[2] http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/159887
[3] http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/157101
[4] http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/156272

Changes in v3:
        - Used dt based serial
        - rebased to latest u-boot-samsung master branch

Changes in v4:
	- Removed the config depedency on exynos5_dt.h as it contains smdk5250
	  configurations rather than the common exynos5 generic configurations.
	- Reused common exynos clock and memory initlialization routines.
	- rebased to latest u-boot-samsung master branch

[5] http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/164824


Chander Kashyap (1):
  exynos5250: Add arndale board support

Inderpal Singh (1):
  exynos5250: arndale: Add mmc support

 MAINTAINERS                              |    4 +
 board/samsung/arndale/Makefile           |   50 ++++++
 board/samsung/arndale/arndale.c          |  116 +++++++++++++
 board/samsung/arndale/arndale_spl.c      |   66 ++++++++
 board/samsung/dts/exynos5250-arndale.dts |   41 +++++
 boards.cfg                               |    1 +
 include/configs/arndale.h                |  271 ++++++++++++++++++++++++++++++
 7 files changed, 549 insertions(+)
 create mode 100644 board/samsung/arndale/Makefile
 create mode 100644 board/samsung/arndale/arndale.c
 create mode 100644 board/samsung/arndale/arndale_spl.c
 create mode 100644 board/samsung/dts/exynos5250-arndale.dts
 create mode 100644 include/configs/arndale.h

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale board support
  2013-07-25 12:46 [U-Boot] [PATCH v4 0/2] Add Arndale board support Chander Kashyap
@ 2013-07-25 12:46 ` Chander Kashyap
  2013-08-06 11:46   ` Minkyu Kang
  2013-07-25 12:46 ` [U-Boot] [PATCH v4 2/2] exynos5250: arndale: Add mmc support Chander Kashyap
  1 sibling, 1 reply; 5+ messages in thread
From: Chander Kashyap @ 2013-07-25 12:46 UTC (permalink / raw)
  To: u-boot

Arndale board is based on samsung's exynos5250 soc.

Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
---
 MAINTAINERS                              |    4 +
 board/samsung/arndale/Makefile           |   50 ++++++
 board/samsung/arndale/arndale.c          |  102 +++++++++++
 board/samsung/arndale/arndale_spl.c      |   66 ++++++++
 board/samsung/dts/exynos5250-arndale.dts |   23 +++
 boards.cfg                               |    1 +
 include/configs/arndale.h                |  271 ++++++++++++++++++++++++++++++
 7 files changed, 517 insertions(+)
 create mode 100644 board/samsung/arndale/Makefile
 create mode 100644 board/samsung/arndale/arndale.c
 create mode 100644 board/samsung/arndale/arndale_spl.c
 create mode 100644 board/samsung/dts/exynos5250-arndale.dts
 create mode 100644 include/configs/arndale.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 081cf96..bf489d4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -747,6 +747,10 @@ Chander Kashyap <k.chander@samsung.com>
 	SMDKV310		ARM ARMV7 (EXYNOS4210 SoC)
 	SMDK5250		ARM ARMV7 (EXYNOS5250 SoC)
 
+Inderpal Singh <inderpal.singh@linaro.org>
+
+	Arndale			ARM ARMV7 (EXYNOS5250 SoC)
+
 Lukasz Majewski <l.majewski@samsung.com>
 
 	trats			ARM ARMV7 (EXYNOS4210 SoC)
diff --git a/board/samsung/arndale/Makefile b/board/samsung/arndale/Makefile
new file mode 100644
index 0000000..5786774
--- /dev/null
+++ b/board/samsung/arndale/Makefile
@@ -0,0 +1,50 @@
+#
+# Copyright (C) 2013 Samsung Electronics
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+COBJS	+= arndale_spl.o
+
+ifndef CONFIG_SPL_BUILD
+COBJS	+= arndale.o
+endif
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS))
+
+ALL	:=	 $(obj).depend $(LIB)
+
+all:	$(ALL)
+
+$(LIB):	$(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
new file mode 100644
index 0000000..47cbac8
--- /dev/null
+++ b/board/samsung/arndale/arndale.c
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2013 Samsung Electronics
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/arch/pinmux.h>
+#include <asm/arch/power.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_init(void)
+{
+	gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
+	return 0;
+}
+
+int dram_init(void)
+{
+	int i;
+	u32 addr;
+
+	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
+		addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
+		gd->ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE);
+	}
+	return 0;
+}
+
+int power_init_board(void)
+{
+	set_ps_hold_ctrl();
+	return 0;
+}
+
+void dram_init_banksize(void)
+{
+	int i;
+	u32 addr, size;
+
+	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
+		addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
+		size = get_ram_size((long *)addr, SDRAM_BANK_SIZE);
+
+		gd->bd->bi_dram[i].start = addr;
+		gd->bd->bi_dram[i].size = size;
+	}
+}
+
+static int board_uart_init(void)
+{
+	int err, uart_id, ret = 0;
+
+	for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
+		err = exynos_pinmux_config(uart_id, PINMUX_FLAG_NONE);
+		if (err) {
+			debug("UART%d not configured\n",
+				(uart_id - PERIPH_ID_UART0));
+			ret |= err;
+		}
+	}
+	return ret;
+}
+
+#ifdef CONFIG_BOARD_EARLY_INIT_F
+int board_early_init_f(void)
+{
+	int err;
+	err = board_uart_init();
+	if (err) {
+		debug("UART init failed\n");
+		return err;
+	}
+	return err;
+}
+#endif
+
+#ifdef CONFIG_DISPLAY_BOARDINFO
+int checkboard(void)
+{
+	printf("\nBoard: Arndale\n");
+
+	return 0;
+}
+#endif
diff --git a/board/samsung/arndale/arndale_spl.c b/board/samsung/arndale/arndale_spl.c
new file mode 100644
index 0000000..8135708
--- /dev/null
+++ b/board/samsung/arndale/arndale_spl.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2012 The Chromium OS Authors.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/arch/spl.h>
+
+#define SIGNATURE	0xdeadbeef
+
+/* Parameters of early board initialization in SPL */
+static struct spl_machine_param machine_param
+		__attribute__((section(".machine_param"))) = {
+	.signature	= SIGNATURE,
+	.version	= 1,
+	.params		= "vmubfasirM",
+	.size		= sizeof(machine_param),
+
+	.mem_iv_size	= 0x1f,
+	.mem_type	= DDR_MODE_DDR3,
+
+	/*
+	 * Set uboot_size to 0x100000 bytes.
+	 *
+	 * This is an overly conservative value chosen to accommodate all
+	 * possible U-Boot image.  You are advised to set this value to a
+	 * smaller realistic size via scripts that modifies the .machine_param
+	 * section of output U-Boot image.
+	 */
+	.uboot_size	= 0x100000,
+
+	.boot_source	= BOOT_MODE_OM,
+	.frequency_mhz	= 800,
+	.arm_freq_mhz	= 1000,
+	.serial_base	= 0x12c30000,
+	.i2c_base	= 0x12c60000,
+	.mem_manuf	= MEM_MANUF_SAMSUNG,
+};
+
+struct spl_machine_param *spl_get_machine_params(void)
+{
+	if (machine_param.signature != SIGNATURE) {
+		/* Will hang if SIGNATURE dont match */
+		while (1)
+			;
+	}
+
+	return &machine_param;
+}
diff --git a/board/samsung/dts/exynos5250-arndale.dts b/board/samsung/dts/exynos5250-arndale.dts
new file mode 100644
index 0000000..3081ab4
--- /dev/null
+++ b/board/samsung/dts/exynos5250-arndale.dts
@@ -0,0 +1,23 @@
+/*
+ * SAMSUNG Arndale board device tree source
+ *
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+/dts-v1/;
+/include/ ARCH_CPU_DTS
+
+/ {
+	model = "SAMSUNG Arndale board based on EXYNOS5250";
+	compatible = "samsung,arndale", "samsung,exynos5250";
+
+	aliases {
+		serial0 = "/serial at 12C20000";
+		console = "/serial at 12C20000";
+	};
+};
diff --git a/boards.cfg b/boards.cfg
index 6a368de..e44d8d4 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -321,6 +321,7 @@ origen			     arm	 armv7	     origen		 samsung	exynos
 s5pc210_universal            arm         armv7       universal_c210      samsung        exynos
 snow			     arm	 armv7	     smdk5250		 samsung	exynos
 smdk5250		     arm	 armv7	     smdk5250		 samsung	exynos
+arndale		     	     arm	 armv7	     arndale		 samsung	exynos
 smdkv310		     arm	 armv7	     smdkv310		 samsung	exynos
 trats                        arm         armv7       trats               samsung        exynos
 harmony                      arm         armv7:arm720t harmony           nvidia         tegra20
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
new file mode 100644
index 0000000..3b41862
--- /dev/null
+++ b/include/configs/arndale.h
@@ -0,0 +1,271 @@
+/*
+ * Copyright (C) 2013 Samsung Electronics
+ *
+ * Configuration settings for the SAMSUNG Arndale board.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_ARNDALE_H
+#define __CONFIG_ARNDALE_H
+
+/* High Level Configuration Options */
+#define CONFIG_SAMSUNG			/* in a SAMSUNG core */
+#define CONFIG_S5P			/* S5P Family */
+#define CONFIG_EXYNOS5			/* which is in a Exynos5 Family */
+#define CONFIG_EXYNOS5250
+
+#include <asm/arch/cpu.h>		/* get chip and board defs */
+
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_ARCH_CPU_INIT
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DISPLAY_BOARDINFO
+
+/* Enable fdt support for Exynos5250 */
+#define CONFIG_ARCH_DEVICE_TREE		exynos5250
+#define CONFIG_OF_CONTROL
+#define CONFIG_OF_SEPARATE
+
+/* Allow tracing to be enabled */
+#define CONFIG_TRACE
+#define CONFIG_CMD_TRACE
+#define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
+#define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
+#define CONFIG_TRACE_EARLY
+#define CONFIG_TRACE_EARLY_ADDR		0x50000000
+
+/* Keep L2 Cache Disabled */
+#define CONFIG_SYS_DCACHE_OFF
+
+#define CONFIG_SYS_SDRAM_BASE		0x40000000
+#define CONFIG_SYS_TEXT_BASE		0x43E00000
+
+/* input clock of PLL: SMDK5250 has 24MHz input clock */
+#define CONFIG_SYS_CLK_FREQ		24000000
+
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_INITRD_TAG
+#define CONFIG_CMDLINE_EDITING
+
+/* Power Down Modes */
+#define S5P_CHECK_SLEEP			0x00000BAD
+#define S5P_CHECK_DIDLE			0xBAD00000
+#define S5P_CHECK_LPA			0xABAD0000
+
+/* Offset for inform registers */
+#define INFORM0_OFFSET			0x800
+#define INFORM1_OFFSET			0x804
+
+/* Size of malloc() pool */
+#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (4 << 20))
+
+/* select serial console configuration */
+#define CONFIG_BAUDRATE			115200
+#define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
+#define CONFIG_SILENT_CONSOLE
+
+/* Console configuration */
+#define CONFIG_CONSOLE_MUX
+#define CONFIG_SYS_CONSOLE_IS_IN_ENV
+#define EXYNOS_DEVICE_SETTINGS \
+		"stdin=serial\0" \
+		"stdout=serial\0" \
+		"stderr=serial\0"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	EXYNOS_DEVICE_SETTINGS
+
+/* SD/MMC configuration */
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MMC
+#define CONFIG_SDHCI
+#define CONFIG_S5P_SDHCI
+#define CONFIG_DWMMC
+#define CONFIG_EXYNOS_DWMMC
+#define CONFIG_SUPPORT_EMMC_BOOT
+
+
+#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_SKIP_LOWLEVEL_INIT
+
+/* PWM */
+#define CONFIG_PWM
+
+/* allow to overwrite serial and ethaddr */
+#define CONFIG_ENV_OVERWRITE
+
+/* Command definition*/
+#include <config_cmd_default.h>
+
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_ELF
+#define CONFIG_CMD_MMC
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_HASH
+
+#define CONFIG_BOOTDELAY		3
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+
+/* USB */
+#define CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_EXYNOS
+#define CONFIG_USB_STORAGE
+
+/* MMC SPL */
+#define CONFIG_SPL
+#define COPY_BL2_FNPTR_ADDR	0x02020030
+
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+
+/* specific .lds file */
+#define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
+#define CONFIG_SPL_TEXT_BASE	0x02023400
+#define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
+
+#define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
+
+/* Miscellaneous configurable options */
+#define CONFIG_SYS_LONGHELP		/* undef to save memory */
+#define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
+#define CONFIG_SYS_PROMPT		"ARNDALE # "
+#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
+#define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
+#define CONFIG_SYS_MAXARGS		16	/* max number of command args */
+#define CONFIG_DEFAULT_CONSOLE		"console=ttySAC2,115200n8\0"
+/* Boot Argument Buffer Size */
+#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
+/* memtest works on */
+#define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
+#define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
+#define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
+
+#define CONFIG_SYS_HZ			1000
+
+#define CONFIG_RD_LVL
+
+#define CONFIG_NR_DRAM_BANKS	8
+#define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
+#define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
+#define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
+#define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
+#define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
+#define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
+
+#define CONFIG_SYS_MONITOR_BASE	0x00000000
+
+/* FLASH and environment organization */
+#define CONFIG_SYS_NO_FLASH
+#undef CONFIG_CMD_IMLS
+#define CONFIG_IDENT_STRING		" for ARNDALE"
+
+#define CONFIG_SYS_MMC_ENV_DEV		0
+
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_SECURE_BL1_ONLY
+
+/* Secure FW size configuration */
+#ifdef	CONFIG_SECURE_BL1_ONLY
+#define	CONFIG_SEC_FW_SIZE		(8 << 10)	/* 8KB */
+#else
+#define	CONFIG_SEC_FW_SIZE		0
+#endif
+
+/* Configuration of BL1, BL2, ENV Blocks on mmc */
+#define CONFIG_RES_BLOCK_SIZE	(512)
+#define CONFIG_BL1_SIZE		(16 << 10) /*16 K reserved for BL1*/
+#define	CONFIG_BL2_SIZE		(512UL << 10UL)	/* 512 KB */
+#define CONFIG_ENV_SIZE		(16 << 10)	/* 16 KB */
+
+#define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
+#define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
+#define CONFIG_ENV_OFFSET	(CONFIG_BL2_OFFSET + CONFIG_BL2_SIZE)
+
+/* U-boot copy size from boot Media to DRAM.*/
+#define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
+#define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
+
+#define CONFIG_SPI_BOOTING
+#define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
+#define SPI_FLASH_UBOOT_POS		(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
+
+#define CONFIG_DOS_PARTITION
+#define CONFIG_EFI_PARTITION
+#define CONFIG_CMD_PART
+#define CONFIG_PARTITION_UUIDS
+
+
+#define CONFIG_IRAM_STACK	0x02050000
+
+#define CONFIG_SYS_INIT_SP_ADDR	CONFIG_IRAM_STACK
+
+/* I2C */
+#define CONFIG_SYS_I2C_INIT_BOARD
+#define CONFIG_HARD_I2C
+#define CONFIG_CMD_I2C
+#define CONFIG_SYS_I2C_SPEED	100000		/* 100 Kbps */
+#define CONFIG_DRIVER_S3C24X0_I2C
+#define CONFIG_I2C_MULTI_BUS
+#define CONFIG_MAX_I2C_NUM	8
+#define CONFIG_SYS_I2C_SLAVE    0x0
+#define CONFIG_I2C_EDID
+
+/* PMIC */
+#define CONFIG_PMIC
+#define CONFIG_PMIC_I2C
+#define CONFIG_PMIC_MAX77686
+
+#define CONFIG_DEFAULT_DEVICE_TREE	exynos5250-arndale
+
+/* Ethernet Controllor Driver */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_SMC911X
+#define CONFIG_SMC911X_BASE		0x5000000
+#define CONFIG_SMC911X_16_BIT
+#define CONFIG_ENV_SROM_BANK		1
+#endif /*CONFIG_CMD_NET*/
+
+/* Enable PXE Support */
+#ifdef CONFIG_CMD_NET
+#define CONFIG_CMD_PXE
+#define CONFIG_MENU
+#endif
+
+/* Enable devicetree support */
+#define CONFIG_OF_LIBFDT
+
+/* Enable Time Command */
+#define CONFIG_CMD_TIME
+
+#endif	/* __CONFIG_H */
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4 2/2] exynos5250: arndale: Add mmc support
  2013-07-25 12:46 [U-Boot] [PATCH v4 0/2] Add Arndale board support Chander Kashyap
  2013-07-25 12:46 ` [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale " Chander Kashyap
@ 2013-07-25 12:46 ` Chander Kashyap
  1 sibling, 0 replies; 5+ messages in thread
From: Chander Kashyap @ 2013-07-25 12:46 UTC (permalink / raw)
  To: u-boot

From: Inderpal Singh <inderpal.singh@linaro.org>

This patch adds mmc support to the arndale board.

Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
---
 board/samsung/arndale/arndale.c          |   14 ++++++++++++++
 board/samsung/dts/exynos5250-arndale.dts |   18 ++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
index 47cbac8..5ee7252 100644
--- a/board/samsung/arndale/arndale.c
+++ b/board/samsung/arndale/arndale.c
@@ -22,6 +22,7 @@
 
 #include <common.h>
 #include <asm/arch/pinmux.h>
+#include <asm/arch/dwmmc.h>
 #include <asm/arch/power.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -64,6 +65,19 @@ void dram_init_banksize(void)
 	}
 }
 
+#ifdef CONFIG_GENERIC_MMC
+int board_mmc_init(bd_t *bis)
+{
+	int ret;
+	/* dwmmc initializattion for available channels */
+	ret = exynos_dwmmc_init(gd->fdt_blob);
+	if (ret)
+		debug("dwmmc init failed\n");
+
+	return ret;
+}
+#endif
+
 static int board_uart_init(void)
 {
 	int err, uart_id, ret = 0;
diff --git a/board/samsung/dts/exynos5250-arndale.dts b/board/samsung/dts/exynos5250-arndale.dts
index 3081ab4..948275a 100644
--- a/board/samsung/dts/exynos5250-arndale.dts
+++ b/board/samsung/dts/exynos5250-arndale.dts
@@ -20,4 +20,22 @@
 		serial0 = "/serial at 12C20000";
 		console = "/serial at 12C20000";
 	};
+
+	mmc at 12200000 {
+		samsung,bus-width = <8>;
+		samsung,timing = <1 3 3>;
+	};
+
+	mmc at 12210000 {
+		status = "disabled";
+	};
+
+	mmc at 12220000 {
+		samsung,bus-width = <4>;
+		samsung,timing = <1 2 3>;
+	};
+
+	mmc at 12230000 {
+		status = "disabled";
+	};
 };
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale board support
  2013-07-25 12:46 ` [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale " Chander Kashyap
@ 2013-08-06 11:46   ` Minkyu Kang
  2013-08-06 14:28     ` Chander Kashyap
  0 siblings, 1 reply; 5+ messages in thread
From: Minkyu Kang @ 2013-08-06 11:46 UTC (permalink / raw)
  To: u-boot

On 25/07/13 21:46, Chander Kashyap wrote:
> Arndale board is based on samsung's exynos5250 soc.
> 
> Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
> ---
>  MAINTAINERS                              |    4 +
>  board/samsung/arndale/Makefile           |   50 ++++++
>  board/samsung/arndale/arndale.c          |  102 +++++++++++
>  board/samsung/arndale/arndale_spl.c      |   66 ++++++++
>  board/samsung/dts/exynos5250-arndale.dts |   23 +++
>  boards.cfg                               |    1 +
>  include/configs/arndale.h                |  271 ++++++++++++++++++++++++++++++
>  7 files changed, 517 insertions(+)
>  create mode 100644 board/samsung/arndale/Makefile
>  create mode 100644 board/samsung/arndale/arndale.c
>  create mode 100644 board/samsung/arndale/arndale_spl.c
>  create mode 100644 board/samsung/dts/exynos5250-arndale.dts
>  create mode 100644 include/configs/arndale.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 081cf96..bf489d4 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -747,6 +747,10 @@ Chander Kashyap <k.chander@samsung.com>
>  	SMDKV310		ARM ARMV7 (EXYNOS4210 SoC)
>  	SMDK5250		ARM ARMV7 (EXYNOS5250 SoC)
>  
> +Inderpal Singh <inderpal.singh@linaro.org>

please sort the list by last name.

> +
> +	Arndale			ARM ARMV7 (EXYNOS5250 SoC)
> +
>  Lukasz Majewski <l.majewski@samsung.com>
>  
>  	trats			ARM ARMV7 (EXYNOS4210 SoC)
> diff --git a/board/samsung/arndale/Makefile b/board/samsung/arndale/Makefile
> new file mode 100644
> index 0000000..5786774
> --- /dev/null
> +++ b/board/samsung/arndale/Makefile
> @@ -0,0 +1,50 @@
> +#
> +# Copyright (C) 2013 Samsung Electronics
> +#
> +# See file CREDITS for list of people who contributed to this
> +# project.
> +#
> +# This program is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU General Public License as
> +# published by the Free Software Foundation; either version 2 of
> +# the License, or (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, write to the Free Software
> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> +# MA 02111-1307 USA

Please use for new files SPDX-License-Identifier.
please check it globally.

> +#
> +
> +include $(TOPDIR)/config.mk
> +
> +LIB	= $(obj)lib$(BOARD).o
> +
> +COBJS	+= arndale_spl.o
> +
> +ifndef CONFIG_SPL_BUILD
> +COBJS	+= arndale.o
> +endif
> +
> +SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
> +OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS))
> +
> +ALL	:=	 $(obj).depend $(LIB)
> +
> +all:	$(ALL)
> +
> +$(LIB):	$(OBJS)
> +	$(call cmd_link_o_target, $(OBJS))
> +
> +#########################################################################
> +
> +# defines $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#########################################################################
> diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
> new file mode 100644
> index 0000000..47cbac8
> --- /dev/null
> +++ b/board/samsung/arndale/arndale.c
> @@ -0,0 +1,102 @@
> +/*
> + * Copyright (C) 2013 Samsung Electronics
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <common.h>
> +#include <asm/arch/pinmux.h>
> +#include <asm/arch/power.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_init(void)
> +{
> +	gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
> +	return 0;
> +}
> +
> +int dram_init(void)
> +{
> +	int i;
> +	u32 addr;
> +
> +	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
> +		addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
> +		gd->ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE);
> +	}
> +	return 0;
> +}
> +
> +int power_init_board(void)
> +{
> +	set_ps_hold_ctrl();
> +	return 0;
> +}
> +
> +void dram_init_banksize(void)
> +{
> +	int i;
> +	u32 addr, size;
> +
> +	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
> +		addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
> +		size = get_ram_size((long *)addr, SDRAM_BANK_SIZE);
> +
> +		gd->bd->bi_dram[i].start = addr;
> +		gd->bd->bi_dram[i].size = size;
> +	}
> +}
> +
> +static int board_uart_init(void)
> +{
> +	int err, uart_id, ret = 0;
> +
> +	for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
> +		err = exynos_pinmux_config(uart_id, PINMUX_FLAG_NONE);
> +		if (err) {
> +			debug("UART%d not configured\n",
> +				(uart_id - PERIPH_ID_UART0));
> +			ret |= err;

why don't you return error here?

> +		}
> +	}
> +	return ret;
> +}
> +
> +#ifdef CONFIG_BOARD_EARLY_INIT_F
> +int board_early_init_f(void)
> +{
> +	int err;

please add a blank line.

> +	err = board_uart_init();
> +	if (err) {
> +		debug("UART init failed\n");
> +		return err;
> +	}
> +	return err;
> +}
> +#endif
> +
> +#ifdef CONFIG_DISPLAY_BOARDINFO
> +int checkboard(void)
> +{
> +	printf("\nBoard: Arndale\n");
> +
> +	return 0;
> +}
> +#endif
> diff --git a/board/samsung/arndale/arndale_spl.c b/board/samsung/arndale/arndale_spl.c
> new file mode 100644
> index 0000000..8135708
> --- /dev/null
> +++ b/board/samsung/arndale/arndale_spl.c
> @@ -0,0 +1,66 @@
> +/*
> + * Copyright (c) 2012 The Chromium OS Authors.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#include <common.h>
> +#include <asm/arch/spl.h>
> +
> +#define SIGNATURE	0xdeadbeef
> +
> +/* Parameters of early board initialization in SPL */
> +static struct spl_machine_param machine_param
> +		__attribute__((section(".machine_param"))) = {
> +	.signature	= SIGNATURE,
> +	.version	= 1,
> +	.params		= "vmubfasirM",
> +	.size		= sizeof(machine_param),
> +
> +	.mem_iv_size	= 0x1f,
> +	.mem_type	= DDR_MODE_DDR3,
> +
> +	/*
> +	 * Set uboot_size to 0x100000 bytes.
> +	 *
> +	 * This is an overly conservative value chosen to accommodate all
> +	 * possible U-Boot image.  You are advised to set this value to a
> +	 * smaller realistic size via scripts that modifies the .machine_param
> +	 * section of output U-Boot image.
> +	 */
> +	.uboot_size	= 0x100000,
> +
> +	.boot_source	= BOOT_MODE_OM,
> +	.frequency_mhz	= 800,
> +	.arm_freq_mhz	= 1000,
> +	.serial_base	= 0x12c30000,
> +	.i2c_base	= 0x12c60000,
> +	.mem_manuf	= MEM_MANUF_SAMSUNG,
> +};
> +
> +struct spl_machine_param *spl_get_machine_params(void)
> +{
> +	if (machine_param.signature != SIGNATURE) {
> +		/* Will hang if SIGNATURE dont match */
> +		while (1)
> +			;
> +	}
> +
> +	return &machine_param;
> +}
> diff --git a/board/samsung/dts/exynos5250-arndale.dts b/board/samsung/dts/exynos5250-arndale.dts
> new file mode 100644
> index 0000000..3081ab4
> --- /dev/null
> +++ b/board/samsung/dts/exynos5250-arndale.dts
> @@ -0,0 +1,23 @@
> +/*
> + * SAMSUNG Arndale board device tree source
> + *
> + * Copyright (c) 2013 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +/dts-v1/;
> +/include/ ARCH_CPU_DTS
> +
> +/ {
> +	model = "SAMSUNG Arndale board based on EXYNOS5250";
> +	compatible = "samsung,arndale", "samsung,exynos5250";
> +
> +	aliases {
> +		serial0 = "/serial at 12C20000";
> +		console = "/serial at 12C20000";
> +	};
> +};
> diff --git a/boards.cfg b/boards.cfg
> index 6a368de..e44d8d4 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -321,6 +321,7 @@ origen			     arm	 armv7	     origen		 samsung	exynos
>  s5pc210_universal            arm         armv7       universal_c210      samsung        exynos
>  snow			     arm	 armv7	     smdk5250		 samsung	exynos
>  smdk5250		     arm	 armv7	     smdk5250		 samsung	exynos
> +arndale		     	     arm	 armv7	     arndale		 samsung	exynos

please sort this list by board name in exnynos.

>  smdkv310		     arm	 armv7	     smdkv310		 samsung	exynos
>  trats                        arm         armv7       trats               samsung        exynos
>  harmony                      arm         armv7:arm720t harmony           nvidia         tegra20
> diff --git a/include/configs/arndale.h b/include/configs/arndale.h
> new file mode 100644
> index 0000000..3b41862
> --- /dev/null
> +++ b/include/configs/arndale.h
> @@ -0,0 +1,271 @@
> +/*
> + * Copyright (C) 2013 Samsung Electronics
> + *
> + * Configuration settings for the SAMSUNG Arndale board.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +#ifndef __CONFIG_ARNDALE_H
> +#define __CONFIG_ARNDALE_H
> +
> +/* High Level Configuration Options */
> +#define CONFIG_SAMSUNG			/* in a SAMSUNG core */
> +#define CONFIG_S5P			/* S5P Family */
> +#define CONFIG_EXYNOS5			/* which is in a Exynos5 Family */
> +#define CONFIG_EXYNOS5250
> +
> +#include <asm/arch/cpu.h>		/* get chip and board defs */
> +
> +#define CONFIG_SYS_GENERIC_BOARD
> +#define CONFIG_ARCH_CPU_INIT
> +#define CONFIG_DISPLAY_CPUINFO
> +#define CONFIG_DISPLAY_BOARDINFO
> +
> +/* Enable fdt support for Exynos5250 */
> +#define CONFIG_ARCH_DEVICE_TREE		exynos5250
> +#define CONFIG_OF_CONTROL
> +#define CONFIG_OF_SEPARATE
> +
> +/* Allow tracing to be enabled */
> +#define CONFIG_TRACE
> +#define CONFIG_CMD_TRACE
> +#define CONFIG_TRACE_BUFFER_SIZE	(16 << 20)
> +#define CONFIG_TRACE_EARLY_SIZE		(8 << 20)
> +#define CONFIG_TRACE_EARLY
> +#define CONFIG_TRACE_EARLY_ADDR		0x50000000
> +
> +/* Keep L2 Cache Disabled */
> +#define CONFIG_SYS_DCACHE_OFF
> +
> +#define CONFIG_SYS_SDRAM_BASE		0x40000000
> +#define CONFIG_SYS_TEXT_BASE		0x43E00000
> +
> +/* input clock of PLL: SMDK5250 has 24MHz input clock */
> +#define CONFIG_SYS_CLK_FREQ		24000000
> +
> +#define CONFIG_SETUP_MEMORY_TAGS
> +#define CONFIG_CMDLINE_TAG
> +#define CONFIG_INITRD_TAG
> +#define CONFIG_CMDLINE_EDITING
> +
> +/* Power Down Modes */
> +#define S5P_CHECK_SLEEP			0x00000BAD
> +#define S5P_CHECK_DIDLE			0xBAD00000
> +#define S5P_CHECK_LPA			0xABAD0000
> +
> +/* Offset for inform registers */
> +#define INFORM0_OFFSET			0x800
> +#define INFORM1_OFFSET			0x804
> +
> +/* Size of malloc() pool */
> +#define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + (4 << 20))
> +
> +/* select serial console configuration */
> +#define CONFIG_BAUDRATE			115200
> +#define EXYNOS5_DEFAULT_UART_OFFSET	0x010000
> +#define CONFIG_SILENT_CONSOLE
> +
> +/* Console configuration */
> +#define CONFIG_CONSOLE_MUX
> +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
> +#define EXYNOS_DEVICE_SETTINGS \
> +		"stdin=serial\0" \
> +		"stdout=serial\0" \
> +		"stderr=serial\0"
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	EXYNOS_DEVICE_SETTINGS
> +
> +/* SD/MMC configuration */
> +#define CONFIG_GENERIC_MMC
> +#define CONFIG_MMC
> +#define CONFIG_SDHCI
> +#define CONFIG_S5P_SDHCI
> +#define CONFIG_DWMMC
> +#define CONFIG_EXYNOS_DWMMC
> +#define CONFIG_SUPPORT_EMMC_BOOT
> +
> +
> +#define CONFIG_BOARD_EARLY_INIT_F
> +#define CONFIG_SKIP_LOWLEVEL_INIT
> +
> +/* PWM */
> +#define CONFIG_PWM
> +
> +/* allow to overwrite serial and ethaddr */
> +#define CONFIG_ENV_OVERWRITE
> +
> +/* Command definition*/
> +#include <config_cmd_default.h>
> +
> +#define CONFIG_CMD_PING
> +#define CONFIG_CMD_ELF
> +#define CONFIG_CMD_MMC
> +#define CONFIG_CMD_EXT2
> +#define CONFIG_CMD_FAT
> +#define CONFIG_CMD_NET
> +#define CONFIG_CMD_HASH
> +
> +#define CONFIG_BOOTDELAY		3
> +#define CONFIG_ZERO_BOOTDELAY_CHECK
> +
> +/* USB */
> +#define CONFIG_CMD_USB
> +#define CONFIG_USB_EHCI
> +#define CONFIG_USB_EHCI_EXYNOS
> +#define CONFIG_USB_STORAGE
> +
> +/* MMC SPL */
> +#define CONFIG_SPL
> +#define COPY_BL2_FNPTR_ADDR	0x02020030
> +
> +#define CONFIG_SPL_LIBCOMMON_SUPPORT
> +
> +/* specific .lds file */
> +#define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
> +#define CONFIG_SPL_TEXT_BASE	0x02023400
> +#define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
> +
> +#define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
> +
> +/* Miscellaneous configurable options */
> +#define CONFIG_SYS_LONGHELP		/* undef to save memory */
> +#define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser	*/
> +#define CONFIG_SYS_PROMPT		"ARNDALE # "
> +#define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
> +#define CONFIG_SYS_PBSIZE		384	/* Print Buffer Size */
> +#define CONFIG_SYS_MAXARGS		16	/* max number of command args */
> +#define CONFIG_DEFAULT_CONSOLE		"console=ttySAC2,115200n8\0"
> +/* Boot Argument Buffer Size */
> +#define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
> +/* memtest works on */
> +#define CONFIG_SYS_MEMTEST_START	CONFIG_SYS_SDRAM_BASE
> +#define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_SDRAM_BASE + 0x5E00000)
> +#define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x3E00000)
> +
> +#define CONFIG_SYS_HZ			1000
> +
> +#define CONFIG_RD_LVL
> +
> +#define CONFIG_NR_DRAM_BANKS	8
> +#define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
> +#define PHYS_SDRAM_1		CONFIG_SYS_SDRAM_BASE
> +#define PHYS_SDRAM_1_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_2		(CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
> +#define PHYS_SDRAM_2_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_3		(CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_3_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_4		(CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_4_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_5		(CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_5_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_6		(CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_6_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_7		(CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_7_SIZE	SDRAM_BANK_SIZE
> +#define PHYS_SDRAM_8		(CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
> +#define PHYS_SDRAM_8_SIZE	SDRAM_BANK_SIZE
> +
> +#define CONFIG_SYS_MONITOR_BASE	0x00000000
> +
> +/* FLASH and environment organization */
> +#define CONFIG_SYS_NO_FLASH
> +#undef CONFIG_CMD_IMLS
> +#define CONFIG_IDENT_STRING		" for ARNDALE"
> +
> +#define CONFIG_SYS_MMC_ENV_DEV		0
> +
> +#define CONFIG_ENV_IS_IN_MMC
> +#define CONFIG_SECURE_BL1_ONLY
> +
> +/* Secure FW size configuration */
> +#ifdef	CONFIG_SECURE_BL1_ONLY
> +#define	CONFIG_SEC_FW_SIZE		(8 << 10)	/* 8KB */
> +#else
> +#define	CONFIG_SEC_FW_SIZE		0
> +#endif
> +
> +/* Configuration of BL1, BL2, ENV Blocks on mmc */
> +#define CONFIG_RES_BLOCK_SIZE	(512)
> +#define CONFIG_BL1_SIZE		(16 << 10) /*16 K reserved for BL1*/
> +#define	CONFIG_BL2_SIZE		(512UL << 10UL)	/* 512 KB */
> +#define CONFIG_ENV_SIZE		(16 << 10)	/* 16 KB */
> +
> +#define CONFIG_BL1_OFFSET	(CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
> +#define CONFIG_BL2_OFFSET	(CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
> +#define CONFIG_ENV_OFFSET	(CONFIG_BL2_OFFSET + CONFIG_BL2_SIZE)
> +
> +/* U-boot copy size from boot Media to DRAM.*/
> +#define BL2_START_OFFSET	(CONFIG_BL2_OFFSET/512)
> +#define BL2_SIZE_BLOC_COUNT	(CONFIG_BL2_SIZE/512)
> +
> +#define CONFIG_SPI_BOOTING
> +#define EXYNOS_COPY_SPI_FNPTR_ADDR	0x02020058
> +#define SPI_FLASH_UBOOT_POS		(CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
> +
> +#define CONFIG_DOS_PARTITION
> +#define CONFIG_EFI_PARTITION
> +#define CONFIG_CMD_PART
> +#define CONFIG_PARTITION_UUIDS
> +
> +
> +#define CONFIG_IRAM_STACK	0x02050000
> +
> +#define CONFIG_SYS_INIT_SP_ADDR	CONFIG_IRAM_STACK
> +
> +/* I2C */
> +#define CONFIG_SYS_I2C_INIT_BOARD
> +#define CONFIG_HARD_I2C
> +#define CONFIG_CMD_I2C
> +#define CONFIG_SYS_I2C_SPEED	100000		/* 100 Kbps */
> +#define CONFIG_DRIVER_S3C24X0_I2C
> +#define CONFIG_I2C_MULTI_BUS
> +#define CONFIG_MAX_I2C_NUM	8
> +#define CONFIG_SYS_I2C_SLAVE    0x0
> +#define CONFIG_I2C_EDID
> +
> +/* PMIC */
> +#define CONFIG_PMIC
> +#define CONFIG_PMIC_I2C
> +#define CONFIG_PMIC_MAX77686
> +
> +#define CONFIG_DEFAULT_DEVICE_TREE	exynos5250-arndale
> +
> +/* Ethernet Controllor Driver */
> +#ifdef CONFIG_CMD_NET
> +#define CONFIG_SMC911X
> +#define CONFIG_SMC911X_BASE		0x5000000
> +#define CONFIG_SMC911X_16_BIT
> +#define CONFIG_ENV_SROM_BANK		1
> +#endif /*CONFIG_CMD_NET*/
> +
> +/* Enable PXE Support */
> +#ifdef CONFIG_CMD_NET
> +#define CONFIG_CMD_PXE
> +#define CONFIG_MENU
> +#endif
> +
> +/* Enable devicetree support */
> +#define CONFIG_OF_LIBFDT
> +
> +/* Enable Time Command */
> +#define CONFIG_CMD_TIME
> +
> +#endif	/* __CONFIG_H */
> 

Thanks,
Minkyu Kang.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale board support
  2013-08-06 11:46   ` Minkyu Kang
@ 2013-08-06 14:28     ` Chander Kashyap
  0 siblings, 0 replies; 5+ messages in thread
From: Chander Kashyap @ 2013-08-06 14:28 UTC (permalink / raw)
  To: u-boot

On 6 August 2013 17:16, Minkyu Kang <mk7.kang@samsung.com> wrote:
> On 25/07/13 21:46, Chander Kashyap wrote:
>> Arndale board is based on samsung's exynos5250 soc.
>>
>> Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
>> Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
>> ---
>>  MAINTAINERS                              |    4 +
>>  board/samsung/arndale/Makefile           |   50 ++++++
>>  board/samsung/arndale/arndale.c          |  102 +++++++++++
>>  board/samsung/arndale/arndale_spl.c      |   66 ++++++++
>>  board/samsung/dts/exynos5250-arndale.dts |   23 +++
>>  boards.cfg                               |    1 +
>>  include/configs/arndale.h                |  271 ++++++++++++++++++++++++++++++
>>  7 files changed, 517 insertions(+)
>>  create mode 100644 board/samsung/arndale/Makefile
>>  create mode 100644 board/samsung/arndale/arndale.c
>>  create mode 100644 board/samsung/arndale/arndale_spl.c
>>  create mode 100644 board/samsung/dts/exynos5250-arndale.dts
>>  create mode 100644 include/configs/arndale.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 081cf96..bf489d4 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -747,6 +747,10 @@ Chander Kashyap <k.chander@samsung.com>
>>       SMDKV310                ARM ARMV7 (EXYNOS4210 SoC)
>>       SMDK5250                ARM ARMV7 (EXYNOS5250 SoC)
>>
>> +Inderpal Singh <inderpal.singh@linaro.org>
>
> please sort the list by last name.

Sure i will.

>
>> +
>> +     Arndale                 ARM ARMV7 (EXYNOS5250 SoC)
>> +
>>  Lukasz Majewski <l.majewski@samsung.com>
>>
>>       trats                   ARM ARMV7 (EXYNOS4210 SoC)
>> diff --git a/board/samsung/arndale/Makefile b/board/samsung/arndale/Makefile
>> new file mode 100644
>> index 0000000..5786774
>> --- /dev/null
>> +++ b/board/samsung/arndale/Makefile
>> @@ -0,0 +1,50 @@
>> +#
>> +# Copyright (C) 2013 Samsung Electronics
>> +#
>> +# See file CREDITS for list of people who contributed to this
>> +# project.
>> +#
>> +# This program is free software; you can redistribute it and/or
>> +# modify it under the terms of the GNU General Public License as
>> +# published by the Free Software Foundation; either version 2 of
>> +# the License, or (at your option) any later version.
>> +#
>> +# This program is distributed in the hope that it will be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program; if not, write to the Free Software
>> +# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> +# MA 02111-1307 USA
>
> Please use for new files SPDX-License-Identifier.
> please check it globally.

Thanks for pointing out. I will add.

>
>> +#
>> +
>> +include $(TOPDIR)/config.mk
>> +
>> +LIB  = $(obj)lib$(BOARD).o
>> +
>> +COBJS        += arndale_spl.o
>> +
>> +ifndef CONFIG_SPL_BUILD
>> +COBJS        += arndale.o
>> +endif
>> +
>> +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
>> +OBJS := $(addprefix $(obj),$(COBJS) $(SOBJS))
>> +
>> +ALL  :=       $(obj).depend $(LIB)
>> +
>> +all: $(ALL)
>> +
>> +$(LIB):      $(OBJS)
>> +     $(call cmd_link_o_target, $(OBJS))
>> +
>> +#########################################################################
>> +
>> +# defines $(obj).depend target
>> +include $(SRCTREE)/rules.mk
>> +
>> +sinclude $(obj).depend
>> +
>> +#########################################################################
>> diff --git a/board/samsung/arndale/arndale.c b/board/samsung/arndale/arndale.c
>> new file mode 100644
>> index 0000000..47cbac8
>> --- /dev/null
>> +++ b/board/samsung/arndale/arndale.c
>> @@ -0,0 +1,102 @@
>> +/*
>> + * Copyright (C) 2013 Samsung Electronics
>> + *
>> + * See file CREDITS for list of people who contributed to this
>> + * project.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; either version 2 of
>> + * the License, or (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>> + */
>> +
>> +#include <common.h>
>> +#include <asm/arch/pinmux.h>
>> +#include <asm/arch/power.h>
>> +
>> +DECLARE_GLOBAL_DATA_PTR;
>> +
>> +int board_init(void)
>> +{
>> +     gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
>> +     return 0;
>> +}
>> +
>> +int dram_init(void)
>> +{
>> +     int i;
>> +     u32 addr;
>> +
>> +     for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
>> +             addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
>> +             gd->ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE);
>> +     }
>> +     return 0;
>> +}
>> +
>> +int power_init_board(void)
>> +{
>> +     set_ps_hold_ctrl();
>> +     return 0;
>> +}
>> +
>> +void dram_init_banksize(void)
>> +{
>> +     int i;
>> +     u32 addr, size;
>> +
>> +     for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
>> +             addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
>> +             size = get_ram_size((long *)addr, SDRAM_BANK_SIZE);
>> +
>> +             gd->bd->bi_dram[i].start = addr;
>> +             gd->bd->bi_dram[i].size = size;
>> +     }
>> +}
>> +
>> +static int board_uart_init(void)
>> +{
>> +     int err, uart_id, ret = 0;
>> +
>> +     for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
>> +             err = exynos_pinmux_config(uart_id, PINMUX_FLAG_NONE);
>> +             if (err) {
>> +                     debug("UART%d not configured\n",
>> +                             (uart_id - PERIPH_ID_UART0));
>> +                     ret |= err;
>
> why don't you return error here?

Yes returning err makes sense. I will fix it.

>
>> +             }
>> +     }
>> +     return ret;
>> +}
>> +
>> +#ifdef CONFIG_BOARD_EARLY_INIT_F
>> +int board_early_init_f(void)
>> +{
>> +     int err;
>
> please add a blank line.

Sure

>
>> +     err = board_uart_init();
>> +     if (err) {
>> +             debug("UART init failed\n");
>> +             return err;
>> +     }
>> +     return err;
>> +}
>> +#endif
>> +
>> +#ifdef CONFIG_DISPLAY_BOARDINFO
>> +int checkboard(void)
>> +{
>> +     printf("\nBoard: Arndale\n");
>> +
>> +     return 0;
>> +}
>> +#endif
>> diff --git a/board/samsung/arndale/arndale_spl.c b/board/samsung/arndale/arndale_spl.c
>> new file mode 100644
>> index 0000000..8135708
>> --- /dev/null
>> +++ b/board/samsung/arndale/arndale_spl.c
>> @@ -0,0 +1,66 @@
>> +/*
>> + * Copyright (c) 2012 The Chromium OS Authors.
>> + *
>> + * See file CREDITS for list of people who contributed to this
>> + * project.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; either version 2 of
>> + * the License, or (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>> + */
>> +
>> +#include <common.h>
>> +#include <asm/arch/spl.h>
>> +
>> +#define SIGNATURE    0xdeadbeef
>> +
>> +/* Parameters of early board initialization in SPL */
>> +static struct spl_machine_param machine_param
>> +             __attribute__((section(".machine_param"))) = {
>> +     .signature      = SIGNATURE,
>> +     .version        = 1,
>> +     .params         = "vmubfasirM",
>> +     .size           = sizeof(machine_param),
>> +
>> +     .mem_iv_size    = 0x1f,
>> +     .mem_type       = DDR_MODE_DDR3,
>> +
>> +     /*
>> +      * Set uboot_size to 0x100000 bytes.
>> +      *
>> +      * This is an overly conservative value chosen to accommodate all
>> +      * possible U-Boot image.  You are advised to set this value to a
>> +      * smaller realistic size via scripts that modifies the .machine_param
>> +      * section of output U-Boot image.
>> +      */
>> +     .uboot_size     = 0x100000,
>> +
>> +     .boot_source    = BOOT_MODE_OM,
>> +     .frequency_mhz  = 800,
>> +     .arm_freq_mhz   = 1000,
>> +     .serial_base    = 0x12c30000,
>> +     .i2c_base       = 0x12c60000,
>> +     .mem_manuf      = MEM_MANUF_SAMSUNG,
>> +};
>> +
>> +struct spl_machine_param *spl_get_machine_params(void)
>> +{
>> +     if (machine_param.signature != SIGNATURE) {
>> +             /* Will hang if SIGNATURE dont match */
>> +             while (1)
>> +                     ;
>> +     }
>> +
>> +     return &machine_param;
>> +}
>> diff --git a/board/samsung/dts/exynos5250-arndale.dts b/board/samsung/dts/exynos5250-arndale.dts
>> new file mode 100644
>> index 0000000..3081ab4
>> --- /dev/null
>> +++ b/board/samsung/dts/exynos5250-arndale.dts
>> @@ -0,0 +1,23 @@
>> +/*
>> + * SAMSUNG Arndale board device tree source
>> + *
>> + * Copyright (c) 2013 Samsung Electronics Co., Ltd.
>> + *           http://www.samsung.com
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> +*/
>> +
>> +/dts-v1/;
>> +/include/ ARCH_CPU_DTS
>> +
>> +/ {
>> +     model = "SAMSUNG Arndale board based on EXYNOS5250";
>> +     compatible = "samsung,arndale", "samsung,exynos5250";
>> +
>> +     aliases {
>> +             serial0 = "/serial at 12C20000";
>> +             console = "/serial at 12C20000";
>> +     };
>> +};
>> diff --git a/boards.cfg b/boards.cfg
>> index 6a368de..e44d8d4 100644
>> --- a/boards.cfg
>> +++ b/boards.cfg
>> @@ -321,6 +321,7 @@ origen                         arm         armv7       origen              samsung        exynos
>>  s5pc210_universal            arm         armv7       universal_c210      samsung        exynos
>>  snow                      arm         armv7       smdk5250            samsung        exynos
>>  smdk5250                  arm         armv7       smdk5250            samsung        exynos
>> +arndale                           arm         armv7       arndale             samsung        exynos
>
> please sort this list by board name in exnynos.
>
>>  smdkv310                  arm         armv7       smdkv310            samsung        exynos
>>  trats                        arm         armv7       trats               samsung        exynos
>>  harmony                      arm         armv7:arm720t harmony           nvidia         tegra20
>> diff --git a/include/configs/arndale.h b/include/configs/arndale.h
>> new file mode 100644
>> index 0000000..3b41862
>> --- /dev/null
>> +++ b/include/configs/arndale.h
>> @@ -0,0 +1,271 @@
>> +/*
>> + * Copyright (C) 2013 Samsung Electronics
>> + *
>> + * Configuration settings for the SAMSUNG Arndale board.
>> + *
>> + * See file CREDITS for list of people who contributed to this
>> + * project.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; either version 2 of
>> + * the License, or (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
>> + * MA 02111-1307 USA
>> + */
>> +
>> +#ifndef __CONFIG_ARNDALE_H
>> +#define __CONFIG_ARNDALE_H
>> +
>> +/* High Level Configuration Options */
>> +#define CONFIG_SAMSUNG                       /* in a SAMSUNG core */
>> +#define CONFIG_S5P                   /* S5P Family */
>> +#define CONFIG_EXYNOS5                       /* which is in a Exynos5 Family */
>> +#define CONFIG_EXYNOS5250
>> +
>> +#include <asm/arch/cpu.h>            /* get chip and board defs */
>> +
>> +#define CONFIG_SYS_GENERIC_BOARD
>> +#define CONFIG_ARCH_CPU_INIT
>> +#define CONFIG_DISPLAY_CPUINFO
>> +#define CONFIG_DISPLAY_BOARDINFO
>> +
>> +/* Enable fdt support for Exynos5250 */
>> +#define CONFIG_ARCH_DEVICE_TREE              exynos5250
>> +#define CONFIG_OF_CONTROL
>> +#define CONFIG_OF_SEPARATE
>> +
>> +/* Allow tracing to be enabled */
>> +#define CONFIG_TRACE
>> +#define CONFIG_CMD_TRACE
>> +#define CONFIG_TRACE_BUFFER_SIZE     (16 << 20)
>> +#define CONFIG_TRACE_EARLY_SIZE              (8 << 20)
>> +#define CONFIG_TRACE_EARLY
>> +#define CONFIG_TRACE_EARLY_ADDR              0x50000000
>> +
>> +/* Keep L2 Cache Disabled */
>> +#define CONFIG_SYS_DCACHE_OFF
>> +
>> +#define CONFIG_SYS_SDRAM_BASE                0x40000000
>> +#define CONFIG_SYS_TEXT_BASE         0x43E00000
>> +
>> +/* input clock of PLL: SMDK5250 has 24MHz input clock */
>> +#define CONFIG_SYS_CLK_FREQ          24000000
>> +
>> +#define CONFIG_SETUP_MEMORY_TAGS
>> +#define CONFIG_CMDLINE_TAG
>> +#define CONFIG_INITRD_TAG
>> +#define CONFIG_CMDLINE_EDITING
>> +
>> +/* Power Down Modes */
>> +#define S5P_CHECK_SLEEP                      0x00000BAD
>> +#define S5P_CHECK_DIDLE                      0xBAD00000
>> +#define S5P_CHECK_LPA                        0xABAD0000
>> +
>> +/* Offset for inform registers */
>> +#define INFORM0_OFFSET                       0x800
>> +#define INFORM1_OFFSET                       0x804
>> +
>> +/* Size of malloc() pool */
>> +#define CONFIG_SYS_MALLOC_LEN                (CONFIG_ENV_SIZE + (4 << 20))
>> +
>> +/* select serial console configuration */
>> +#define CONFIG_BAUDRATE                      115200
>> +#define EXYNOS5_DEFAULT_UART_OFFSET  0x010000
>> +#define CONFIG_SILENT_CONSOLE
>> +
>> +/* Console configuration */
>> +#define CONFIG_CONSOLE_MUX
>> +#define CONFIG_SYS_CONSOLE_IS_IN_ENV
>> +#define EXYNOS_DEVICE_SETTINGS \
>> +             "stdin=serial\0" \
>> +             "stdout=serial\0" \
>> +             "stderr=serial\0"
>> +
>> +#define CONFIG_EXTRA_ENV_SETTINGS \
>> +     EXYNOS_DEVICE_SETTINGS
>> +
>> +/* SD/MMC configuration */
>> +#define CONFIG_GENERIC_MMC
>> +#define CONFIG_MMC
>> +#define CONFIG_SDHCI
>> +#define CONFIG_S5P_SDHCI
>> +#define CONFIG_DWMMC
>> +#define CONFIG_EXYNOS_DWMMC
>> +#define CONFIG_SUPPORT_EMMC_BOOT
>> +
>> +
>> +#define CONFIG_BOARD_EARLY_INIT_F
>> +#define CONFIG_SKIP_LOWLEVEL_INIT
>> +
>> +/* PWM */
>> +#define CONFIG_PWM
>> +
>> +/* allow to overwrite serial and ethaddr */
>> +#define CONFIG_ENV_OVERWRITE
>> +
>> +/* Command definition*/
>> +#include <config_cmd_default.h>
>> +
>> +#define CONFIG_CMD_PING
>> +#define CONFIG_CMD_ELF
>> +#define CONFIG_CMD_MMC
>> +#define CONFIG_CMD_EXT2
>> +#define CONFIG_CMD_FAT
>> +#define CONFIG_CMD_NET
>> +#define CONFIG_CMD_HASH
>> +
>> +#define CONFIG_BOOTDELAY             3
>> +#define CONFIG_ZERO_BOOTDELAY_CHECK
>> +
>> +/* USB */
>> +#define CONFIG_CMD_USB
>> +#define CONFIG_USB_EHCI
>> +#define CONFIG_USB_EHCI_EXYNOS
>> +#define CONFIG_USB_STORAGE
>> +
>> +/* MMC SPL */
>> +#define CONFIG_SPL
>> +#define COPY_BL2_FNPTR_ADDR  0x02020030
>> +
>> +#define CONFIG_SPL_LIBCOMMON_SUPPORT
>> +
>> +/* specific .lds file */
>> +#define CONFIG_SPL_LDSCRIPT  "board/samsung/common/exynos-uboot-spl.lds"
>> +#define CONFIG_SPL_TEXT_BASE 0x02023400
>> +#define CONFIG_SPL_MAX_FOOTPRINT     (14 * 1024)
>> +
>> +#define CONFIG_BOOTCOMMAND   "mmc read 40007000 451 2000; bootm 40007000"
>> +
>> +/* Miscellaneous configurable options */
>> +#define CONFIG_SYS_LONGHELP          /* undef to save memory */
>> +#define CONFIG_SYS_HUSH_PARSER               /* use "hush" command parser    */
>> +#define CONFIG_SYS_PROMPT            "ARNDALE # "
>> +#define CONFIG_SYS_CBSIZE            256     /* Console I/O Buffer Size */
>> +#define CONFIG_SYS_PBSIZE            384     /* Print Buffer Size */
>> +#define CONFIG_SYS_MAXARGS           16      /* max number of command args */
>> +#define CONFIG_DEFAULT_CONSOLE               "console=ttySAC2,115200n8\0"
>> +/* Boot Argument Buffer Size */
>> +#define CONFIG_SYS_BARGSIZE          CONFIG_SYS_CBSIZE
>> +/* memtest works on */
>> +#define CONFIG_SYS_MEMTEST_START     CONFIG_SYS_SDRAM_BASE
>> +#define CONFIG_SYS_MEMTEST_END               (CONFIG_SYS_SDRAM_BASE + 0x5E00000)
>> +#define CONFIG_SYS_LOAD_ADDR         (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
>> +
>> +#define CONFIG_SYS_HZ                        1000
>> +
>> +#define CONFIG_RD_LVL
>> +
>> +#define CONFIG_NR_DRAM_BANKS 8
>> +#define SDRAM_BANK_SIZE              (256UL << 20UL) /* 256 MB */
>> +#define PHYS_SDRAM_1         CONFIG_SYS_SDRAM_BASE
>> +#define PHYS_SDRAM_1_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_2         (CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
>> +#define PHYS_SDRAM_2_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_3         (CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_3_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_4         (CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_4_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_5         (CONFIG_SYS_SDRAM_BASE + (4 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_5_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_6         (CONFIG_SYS_SDRAM_BASE + (5 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_6_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_7         (CONFIG_SYS_SDRAM_BASE + (6 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_7_SIZE    SDRAM_BANK_SIZE
>> +#define PHYS_SDRAM_8         (CONFIG_SYS_SDRAM_BASE + (7 * SDRAM_BANK_SIZE))
>> +#define PHYS_SDRAM_8_SIZE    SDRAM_BANK_SIZE
>> +
>> +#define CONFIG_SYS_MONITOR_BASE      0x00000000
>> +
>> +/* FLASH and environment organization */
>> +#define CONFIG_SYS_NO_FLASH
>> +#undef CONFIG_CMD_IMLS
>> +#define CONFIG_IDENT_STRING          " for ARNDALE"
>> +
>> +#define CONFIG_SYS_MMC_ENV_DEV               0
>> +
>> +#define CONFIG_ENV_IS_IN_MMC
>> +#define CONFIG_SECURE_BL1_ONLY
>> +
>> +/* Secure FW size configuration */
>> +#ifdef       CONFIG_SECURE_BL1_ONLY
>> +#define      CONFIG_SEC_FW_SIZE              (8 << 10)       /* 8KB */
>> +#else
>> +#define      CONFIG_SEC_FW_SIZE              0
>> +#endif
>> +
>> +/* Configuration of BL1, BL2, ENV Blocks on mmc */
>> +#define CONFIG_RES_BLOCK_SIZE        (512)
>> +#define CONFIG_BL1_SIZE              (16 << 10) /*16 K reserved for BL1*/
>> +#define      CONFIG_BL2_SIZE         (512UL << 10UL) /* 512 KB */
>> +#define CONFIG_ENV_SIZE              (16 << 10)      /* 16 KB */
>> +
>> +#define CONFIG_BL1_OFFSET    (CONFIG_RES_BLOCK_SIZE + CONFIG_SEC_FW_SIZE)
>> +#define CONFIG_BL2_OFFSET    (CONFIG_BL1_OFFSET + CONFIG_BL1_SIZE)
>> +#define CONFIG_ENV_OFFSET    (CONFIG_BL2_OFFSET + CONFIG_BL2_SIZE)
>> +
>> +/* U-boot copy size from boot Media to DRAM.*/
>> +#define BL2_START_OFFSET     (CONFIG_BL2_OFFSET/512)
>> +#define BL2_SIZE_BLOC_COUNT  (CONFIG_BL2_SIZE/512)
>> +
>> +#define CONFIG_SPI_BOOTING
>> +#define EXYNOS_COPY_SPI_FNPTR_ADDR   0x02020058
>> +#define SPI_FLASH_UBOOT_POS          (CONFIG_SEC_FW_SIZE + CONFIG_BL1_SIZE)
>> +
>> +#define CONFIG_DOS_PARTITION
>> +#define CONFIG_EFI_PARTITION
>> +#define CONFIG_CMD_PART
>> +#define CONFIG_PARTITION_UUIDS
>> +
>> +
>> +#define CONFIG_IRAM_STACK    0x02050000
>> +
>> +#define CONFIG_SYS_INIT_SP_ADDR      CONFIG_IRAM_STACK
>> +
>> +/* I2C */
>> +#define CONFIG_SYS_I2C_INIT_BOARD
>> +#define CONFIG_HARD_I2C
>> +#define CONFIG_CMD_I2C
>> +#define CONFIG_SYS_I2C_SPEED 100000          /* 100 Kbps */
>> +#define CONFIG_DRIVER_S3C24X0_I2C
>> +#define CONFIG_I2C_MULTI_BUS
>> +#define CONFIG_MAX_I2C_NUM   8
>> +#define CONFIG_SYS_I2C_SLAVE    0x0
>> +#define CONFIG_I2C_EDID
>> +
>> +/* PMIC */
>> +#define CONFIG_PMIC
>> +#define CONFIG_PMIC_I2C
>> +#define CONFIG_PMIC_MAX77686
>> +
>> +#define CONFIG_DEFAULT_DEVICE_TREE   exynos5250-arndale
>> +
>> +/* Ethernet Controllor Driver */
>> +#ifdef CONFIG_CMD_NET
>> +#define CONFIG_SMC911X
>> +#define CONFIG_SMC911X_BASE          0x5000000
>> +#define CONFIG_SMC911X_16_BIT
>> +#define CONFIG_ENV_SROM_BANK         1
>> +#endif /*CONFIG_CMD_NET*/
>> +
>> +/* Enable PXE Support */
>> +#ifdef CONFIG_CMD_NET
>> +#define CONFIG_CMD_PXE
>> +#define CONFIG_MENU
>> +#endif
>> +
>> +/* Enable devicetree support */
>> +#define CONFIG_OF_LIBFDT
>> +
>> +/* Enable Time Command */
>> +#define CONFIG_CMD_TIME
>> +
>> +#endif       /* __CONFIG_H */
>>
>
> Thanks,
> Minkyu Kang.

thanks for the review.

-- 
with warm regards,
Chander Kashyap

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-08-06 14:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-25 12:46 [U-Boot] [PATCH v4 0/2] Add Arndale board support Chander Kashyap
2013-07-25 12:46 ` [U-Boot] [PATCH v4 1/2] exynos5250: Add arndale " Chander Kashyap
2013-08-06 11:46   ` Minkyu Kang
2013-08-06 14:28     ` Chander Kashyap
2013-07-25 12:46 ` [U-Boot] [PATCH v4 2/2] exynos5250: arndale: Add mmc support Chander Kashyap

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.