* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox