All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment
@ 2013-01-23 19:12 Otavio Salvador
  2013-01-23 19:12 ` [U-Boot] [PATCH v5 2/2] mx23evk: Add initial board support Otavio Salvador
  2013-01-23 19:12 ` [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Marek Vasut
  0 siblings, 2 replies; 5+ messages in thread
From: Otavio Salvador @ 2013-01-23 19:12 UTC (permalink / raw)
  To: u-boot

This adds a default environment with support for MMC booting.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
Changes in v5:
- Remove duplicate environment setting
- Improve commit log

Changes in v4: None
Changes in v3: None
Changes in v2: None

 include/configs/mx23_olinuxino.h | 74 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 67 insertions(+), 7 deletions(-)

diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
index bc63481..fc859b3 100644
--- a/include/configs/mx23_olinuxino.h
+++ b/include/configs/mx23_olinuxino.h
@@ -114,6 +114,14 @@
 /*
  * MMC Driver
  */
+#define	CONFIG_ENV_IS_IN_MMC
+#define	CONFIG_ENV_OVERWRITE
+#ifdef	CONFIG_ENV_IS_IN_MMC
+#define	CONFIG_ENV_OFFSET	(256 * 1024)
+#define	CONFIG_ENV_SIZE	(16 * 1024)
+#define	CONFIG_SYS_MMC_ENV_DEV 0
+#endif
+#define	CONFIG_CMD_SAVEENV
 #ifdef	CONFIG_CMD_MMC
 #define	CONFIG_MMC
 #define	CONFIG_BOUNCE_BUFFER
@@ -127,21 +135,73 @@
 #define CONFIG_APBH_DMA
 
 /*
- * ENV -- nowhere so far
- */
-#define	CONFIG_ENV_SIZE			(16 * 1024)
-#define	CONFIG_ENV_IS_NOWHERE
-
-/*
  * Boot Linux
  */
 #define	CONFIG_CMDLINE_TAG
 #define	CONFIG_SETUP_MEMORY_TAGS
 #define	CONFIG_BOOTDELAY	3
 #define	CONFIG_BOOTFILE		"uImage"
-#define	CONFIG_BOOTARGS		"console=ttyAMA0,115200n8 "
 #define	CONFIG_LOADADDR		0x42000000
 #define	CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 #define	CONFIG_OF_LIBFDT
 
+/*
+ * Extra Environments
+ */
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"update_sd_firmware_filename=u-boot.sd\0" \
+	"update_sd_firmware="		/* Update the SD firmware partition */ \
+		"if mmc rescan ; then "	\
+		"if tftp ${update_sd_firmware_filename} ; then " \
+		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
+		"setexpr fw_sz ${fw_sz} + 1 ; "	\
+		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
+		"fi ; "	\
+		"fi\0" \
+	"script=boot.scr\0"	\
+	"uimage=uImage\0" \
+	"console=ttyAMA0\0" \
+	"fdt_file=imx23-olinuxino.dtb\0" \
+	"fdt_addr=0x41000000\0" \
+	"boot_fdt=try\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
+	"mmcargs=setenv bootargs console=${console},${baudrate} " \
+		"root=${mmcroot}\0" \
+	"loadbootscript="  \
+		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+	"bootscript=echo Running bootscript from mmc ...; "	\
+		"source\0" \
+	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+	"mmcboot=echo Booting from mmc ...; " \
+		"run mmcargs; " \
+		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+			"if run loadfdt; then " \
+				"bootm ${loadaddr} - ${fdt_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo WARN: Cannot load the DT; " \
+				"fi; " \
+			"fi; " \
+		"else " \
+			"bootm; " \
+		"fi;\0"
+
+#define CONFIG_BOOTCOMMAND \
+	"mmc dev ${mmcdev}; if mmc rescan; then " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else " \
+				"echo ERR: Fail to boot from MMC; " \
+			"fi; " \
+		"fi; " \
+	"else exit; fi"
+
 #endif /* __MX23_OLINUXINO_CONFIG_H__ */
-- 
1.8.1

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

* [U-Boot] [PATCH v5 2/2] mx23evk: Add initial board support
  2013-01-23 19:12 [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Otavio Salvador
@ 2013-01-23 19:12 ` Otavio Salvador
  2013-01-23 19:12 ` [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Marek Vasut
  1 sibling, 0 replies; 5+ messages in thread
From: Otavio Salvador @ 2013-01-23 19:12 UTC (permalink / raw)
  To: u-boot

The following features are supported:
 * 128 MB DDR1 SDRAM
 * DUART
 * SD/MMC Card Socket

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
Changes in v5:
- Use 4bit bus for mmc

Changes in v4:
- Fix build warnings

Changes in v3:
- Removed unused macro for GPMI setting in spl_boot.c

Changes in v2:
- Add DUART in commitlog
- Remove AUART MUX setup as it is unused
- Remove wrong comment in mx23evk.h board config
- Use single line comments in mx23evk.h board config
- Use '=>' as prompt
- Remove SPI, RTC and USB support as those where not tested yet

 MAINTAINERS                        |   4 +
 board/freescale/mx23evk/Makefile   |  47 +++++++++
 board/freescale/mx23evk/mx23evk.c  |  83 +++++++++++++++
 board/freescale/mx23evk/spl_boot.c | 104 +++++++++++++++++++
 boards.cfg                         |   1 +
 include/configs/mx23evk.h          | 201 +++++++++++++++++++++++++++++++++++++
 6 files changed, 440 insertions(+)
 create mode 100644 board/freescale/mx23evk/Makefile
 create mode 100644 board/freescale/mx23evk/mx23evk.c
 create mode 100644 board/freescale/mx23evk/spl_boot.c
 create mode 100644 include/configs/mx23evk.h

diff --git a/MAINTAINERS b/MAINTAINERS
index dfa3c8b..faa9b5e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -947,6 +947,10 @@ Matt Waddel <matt.waddel@linaro.org>
 
 	ca9x4_ct_vxp	ARM ARMV7 (Quad Core)
 
+Otavio Salvador <otavio@ossystems.com.br>
+
+	mx23evk		i.MX23
+
 Prafulla Wadaskar <prafulla@marvell.com>
 
 	aspenite	ARM926EJS (ARMADA100 88AP168 SoC)
diff --git a/board/freescale/mx23evk/Makefile b/board/freescale/mx23evk/Makefile
new file mode 100644
index 0000000..7518d7b
--- /dev/null
+++ b/board/freescale/mx23evk/Makefile
@@ -0,0 +1,47 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# 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
+
+ifndef	CONFIG_SPL_BUILD
+COBJS	:= mx23evk.o
+else
+COBJS	:= spl_boot.o
+endif
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/freescale/mx23evk/mx23evk.c b/board/freescale/mx23evk/mx23evk.c
new file mode 100644
index 0000000..41ba303
--- /dev/null
+++ b/board/freescale/mx23evk/mx23evk.c
@@ -0,0 +1,83 @@
+/*
+ * Freescale MX23EVK board
+ *
+ * (C) Copyright 2013 O.S. Systems Software LTDA.
+ *
+ * Author: Otavio Salvador <otavio@ossystems.com.br>
+ *
+ * Based on m28evk.c:
+ * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
+ * on behalf of DENX Software Engineering GmbH
+ *
+ * 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.
+ */
+
+#include <common.h>
+#include <asm/gpio.h>
+#include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/iomux-mx23.h>
+#include <asm/arch/sys_proto.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * Functions
+ */
+int board_early_init_f(void)
+{
+	/* IO0 clock at 480MHz */
+	mxs_set_ioclk(MXC_IOCLK0, 480000);
+
+	/* SSP0 clock at 96MHz */
+	mxs_set_sspclk(MXC_SSPCLK0, 96000, 0);
+
+	return 0;
+}
+
+int dram_init(void)
+{
+	return mxs_dram_init();
+}
+
+int board_init(void)
+{
+	/* Adress of boot parameters */
+	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
+
+	return 0;
+}
+
+#ifdef	CONFIG_CMD_MMC
+static int mx23evk_mmc_wp(int id)
+{
+	if (id != 0) {
+		printf("MXS MMC: Invalid card selected (card id = %d)\n", id);
+		return 1;
+	}
+
+	return gpio_get_value(MX23_PAD_PWM4__GPIO_1_30);
+}
+
+int board_mmc_init(bd_t *bis)
+{
+	/* Configure WP as input */
+	gpio_direction_input(MX23_PAD_PWM4__GPIO_1_30);
+
+	/* Configure MMC0 Power Enable */
+	gpio_direction_output(MX23_PAD_PWM3__GPIO_1_29, 0);
+
+	return mxsmmc_initialize(bis, 0, mx23evk_mmc_wp, NULL);
+}
+#endif
diff --git a/board/freescale/mx23evk/spl_boot.c b/board/freescale/mx23evk/spl_boot.c
new file mode 100644
index 0000000..6007433
--- /dev/null
+++ b/board/freescale/mx23evk/spl_boot.c
@@ -0,0 +1,104 @@
+/*
+ * Freescale MX23EVK Boot setup
+ *
+ * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
+ * on behalf of DENX Software Engineering GmbH
+ *
+ * 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.
+ */
+
+#include <common.h>
+#include <config.h>
+#include <asm/io.h>
+#include <asm/arch/iomux-mx23.h>
+#include <asm/arch/imx-regs.h>
+#include <asm/arch/sys_proto.h>
+
+#define	MUX_CONFIG_SSP1	(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP)
+#define	MUX_CONFIG_EMI	(MXS_PAD_3V3 | MXS_PAD_16MA | MXS_PAD_PULLUP)
+
+const iomux_cfg_t iomux_setup[] = {
+	/* DUART */
+	MX23_PAD_PWM0__DUART_RX,
+	MX23_PAD_PWM1__DUART_TX,
+
+	/* EMI */
+	MX23_PAD_EMI_D00__EMI_D00 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D01__EMI_D01 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D02__EMI_D02 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D03__EMI_D03 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D04__EMI_D04 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D05__EMI_D05 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D06__EMI_D06 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D07__EMI_D07 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D08__EMI_D08 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D09__EMI_D09 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D10__EMI_D10 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D11__EMI_D11 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D12__EMI_D12 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D13__EMI_D13 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D14__EMI_D14 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_D15__EMI_D15 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQM0__EMI_DQM0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQM1__EMI_DQM1 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQS0__EMI_DQS0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_DQS1__EMI_DQS1 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CLK__EMI_CLK | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CLKN__EMI_CLKN | MUX_CONFIG_EMI,
+
+	MX23_PAD_EMI_A00__EMI_A00 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A01__EMI_A01 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A02__EMI_A02 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A03__EMI_A03 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A04__EMI_A04 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A05__EMI_A05 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A06__EMI_A06 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A07__EMI_A07 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A08__EMI_A08 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A09__EMI_A09 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A10__EMI_A10 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A11__EMI_A11 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_A12__EMI_A12 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_BA0__EMI_BA0 | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_BA1__EMI_BA1 | MUX_CONFIG_EMI,
+
+	MX23_PAD_EMI_CASN__EMI_CASN | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CE0N__EMI_CE0N | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CE1N__EMI_CE1N | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_RASN__EMI_RASN | MUX_CONFIG_EMI,
+	MX23_PAD_EMI_WEN__EMI_WEN | MUX_CONFIG_EMI,
+
+	/* MMC 0 */
+	MX23_PAD_SSP1_DATA0__SSP1_DATA0 | MUX_CONFIG_SSP1,
+	MX23_PAD_SSP1_DATA1__SSP1_DATA1 | MUX_CONFIG_SSP1,
+	MX23_PAD_SSP1_DATA2__SSP1_DATA2 | MUX_CONFIG_SSP1,
+	MX23_PAD_SSP1_DATA3__SSP1_DATA3 | MUX_CONFIG_SSP1,
+	MX23_PAD_SSP1_CMD__SSP1_CMD | MUX_CONFIG_SSP1,
+	MX23_PAD_SSP1_DETECT__SSP1_DETECT | MUX_CONFIG_SSP1,
+		(MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
+	MX23_PAD_SSP1_SCK__SSP1_SCK |
+		(MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
+	/* Write Protect Pin */
+	MX23_PAD_PWM4__GPIO_1_30 |
+		(MXS_PAD_4MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
+	/* Slot Power Enable */
+	MX23_PAD_PWM3__GPIO_1_29 |
+		(MXS_PAD_4MA | MXS_PAD_3V3 | MXS_PAD_NOPULL),
+};
+
+void board_init_ll(void)
+{
+	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+}
diff --git a/boards.cfg b/boards.cfg
index 9b31931..7d03620 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -193,6 +193,7 @@ imx27lite                    arm         arm926ejs   imx27lite           logicpd
 magnesium                    arm         arm926ejs   imx27lite           logicpd        mx27
 mx23_olinuxino               arm         arm926ejs   mx23_olinuxino      olimex         mxs		mx23_olinuxino
 apx4devkit                   arm         arm926ejs   apx4devkit          bluegiga       mxs		apx4devkit
+mx23evk                      arm         arm926ejs   mx23evk             freescale      mxs		mx23evk
 m28evk                       arm         arm926ejs   m28evk              denx           mxs		m28evk
 mx28evk                      arm         arm926ejs   mx28evk             freescale      mxs		mx28evk
 sc_sps_1                     arm         arm926ejs   sc_sps_1            schulercontrol mxs
diff --git a/include/configs/mx23evk.h b/include/configs/mx23evk.h
new file mode 100644
index 0000000..02ad3b7
--- /dev/null
+++ b/include/configs/mx23evk.h
@@ -0,0 +1,201 @@
+/*
+ * Freescale i.MX23 EVK board config
+ *
+ * Copyright (C) 2013 Otavio Salvador <otavio@ossystems.com.br>
+ * on behalf of O.S. Systems Software LTDA.
+ *
+ * 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 __MX23EVK_CONFIG_H__
+#define __MX23EVK_CONFIG_H__
+
+/* SoC configurations */
+#define CONFIG_MX23				/* i.MX23 SoC */
+
+#include <asm/arch/regs-base.h>
+
+#define CONFIG_MXS_GPIO			/* GPIO control */
+#define CONFIG_SYS_HZ		1000		/* Ticks per second */
+
+#define CONFIG_MACH_TYPE	MACH_TYPE_MX23EVK
+
+#define CONFIG_SYS_NO_FLASH
+#define CONFIG_SYS_ICACHE_OFF
+#define CONFIG_SYS_DCACHE_OFF
+#define CONFIG_BOARD_EARLY_INIT_F
+#define CONFIG_ARCH_MISC_INIT
+
+/* SPL */
+#define CONFIG_SPL
+#define CONFIG_SPL_NO_CPU_SUPPORT_CODE
+#define CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/mxs"
+#define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
+#define CONFIG_SPL_GPIO_SUPPORT
+
+/* U-Boot Commands */
+#include <config_cmd_default.h>
+#undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
+
+#define CONFIG_DISPLAY_CPUINFO
+#define CONFIG_DOS_PARTITION
+
+#define CONFIG_CMD_CACHE
+#define CONFIG_CMD_EXT2
+#define CONFIG_CMD_FAT
+#define CONFIG_CMD_GPIO
+#define CONFIG_CMD_MMC
+#define CONFIG_CMD_BOOTZ
+
+/* Memory configurations */
+#define CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
+#define PHYS_SDRAM_1			0x40000000	/* Base address */
+#define PHYS_SDRAM_1_SIZE		0x08000000	/* Max 128 MB RAM */
+#define CONFIG_STACKSIZE		(128 * 1024)	/* 128 KB stack */
+#define CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
+#define CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
+#define CONFIG_SYS_MEMTEST_END		0x40400000	/* 4 MB RAM test */
+#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
+/* Point initial SP in SRAM so SPL can use it too. */
+
+#define CONFIG_SYS_INIT_RAM_ADDR	0x00000000
+#define CONFIG_SYS_INIT_RAM_SIZE	(128 * 1024)
+
+#define CONFIG_SYS_INIT_SP_OFFSET \
+	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR \
+	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+
+/*
+ * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
+ * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
+ * binary. In case there was more of this mess, 0x100 bytes are skipped.
+ */
+#define CONFIG_SYS_TEXT_BASE	0x40000100
+
+#define CONFIG_ENV_OVERWRITE
+
+/* U-Boot general configurations */
+#define CONFIG_SYS_LONGHELP
+#define CONFIG_SYS_PROMPT	"=> "
+#define CONFIG_SYS_CBSIZE	256		/* Console I/O buffer size */
+#define CONFIG_SYS_PBSIZE	\
+	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
+						/* Print buffer size */
+#define CONFIG_SYS_MAXARGS	32		/* Max number of command args */
+#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
+						/* Boot argument buffer size */
+#define CONFIG_VERSION_VARIABLE	/* U-BOOT version */
+#define CONFIG_AUTO_COMPLETE		/* Command auto complete */
+#define CONFIG_CMDLINE_EDITING		/* Command history etc */
+#define CONFIG_SYS_HUSH_PARSER
+#define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
+
+/* Serial Driver */
+#define CONFIG_PL011_SERIAL
+#define CONFIG_PL011_CLOCK		24000000
+#define CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
+#define CONFIG_CONS_INDEX		0
+#define CONFIG_BAUDRATE			115200	/* Default baud rate */
+#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
+
+/* DMA */
+#define CONFIG_APBH_DMA
+
+/* MMC Driver */
+#define CONFIG_ENV_IS_IN_MMC
+#ifdef CONFIG_ENV_IS_IN_MMC
+ #define CONFIG_ENV_OFFSET	(256 * 1024)
+ #define CONFIG_ENV_SIZE	(16 * 1024)
+ #define CONFIG_SYS_MMC_ENV_DEV 0
+#endif
+#define CONFIG_CMD_SAVEENV
+#ifdef	CONFIG_CMD_MMC
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_BOUNCE_BUFFER
+#define CONFIG_MXS_MMC
+#endif
+
+/* Boot Linux */
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_BOOTDELAY	3
+#define CONFIG_BOOTFILE	"uImage"
+#define CONFIG_LOADADDR	0x42000000
+#define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
+#define CONFIG_OF_LIBFDT
+
+/* Extra Environments */
+#define CONFIG_EXTRA_ENV_SETTINGS \
+	"update_sd_firmware_filename=u-boot.sd\0" \
+	"update_sd_firmware="		/* Update the SD firmware partition */ \
+		"if mmc rescan ; then "	\
+		"if tftp ${update_sd_firmware_filename} ; then " \
+		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
+		"setexpr fw_sz ${fw_sz} + 1 ; "	\
+		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
+		"fi ; "	\
+		"fi\0" \
+	"script=boot.scr\0"	\
+	"uimage=uImage\0" \
+	"console=ttyAMA0\0" \
+	"fdt_file=imx23-evk.dtb\0" \
+	"fdt_addr=0x41000000\0" \
+	"boot_fdt=try\0" \
+	"mmcdev=0\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
+	"mmcargs=setenv bootargs console=${console},${baudrate} " \
+		"root=${mmcroot}\0" \
+	"loadbootscript="  \
+		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
+	"bootscript=echo Running bootscript from mmc ...; "	\
+		"source\0" \
+	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+	"mmcboot=echo Booting from mmc ...; " \
+		"run mmcargs; " \
+		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
+			"if run loadfdt; then " \
+				"bootm ${loadaddr} - ${fdt_addr}; " \
+			"else " \
+				"if test ${boot_fdt} = try; then " \
+					"bootm; " \
+				"else " \
+					"echo WARN: Cannot load the DT; " \
+				"fi; " \
+			"fi; " \
+		"else " \
+			"bootm; " \
+		"fi;\0"
+
+#define CONFIG_BOOTCOMMAND \
+	"mmc dev ${mmcdev}; if mmc rescan; then " \
+		"if run loadbootscript; then " \
+			"run bootscript; " \
+		"else " \
+			"if run loaduimage; then " \
+				"run mmcboot; " \
+			"else " \
+				"echo ERR: Fail to boot from MMC; " \
+			"fi; " \
+		"fi; " \
+	"else exit; fi"
+
+#endif /* __MX23EVK_CONFIG_H__ */
-- 
1.8.1

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

* [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment
  2013-01-23 19:12 [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Otavio Salvador
  2013-01-23 19:12 ` [U-Boot] [PATCH v5 2/2] mx23evk: Add initial board support Otavio Salvador
@ 2013-01-23 19:12 ` Marek Vasut
  2013-01-23 20:12   ` Otavio Salvador
  1 sibling, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2013-01-23 19:12 UTC (permalink / raw)
  To: u-boot

Dear Otavio Salvador,

> This adds a default environment with support for MMC booting.
> 
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ---
> Changes in v5:
> - Remove duplicate environment setting
> - Improve commit log
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  include/configs/mx23_olinuxino.h | 74
> ++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+),
> 7 deletions(-)
> 
> diff --git a/include/configs/mx23_olinuxino.h
> b/include/configs/mx23_olinuxino.h index bc63481..fc859b3 100644
> --- a/include/configs/mx23_olinuxino.h
> +++ b/include/configs/mx23_olinuxino.h
> @@ -114,6 +114,14 @@
>  /*
>   * MMC Driver
>   */
> +#define	CONFIG_ENV_IS_IN_MMC
> +#define	CONFIG_ENV_OVERWRITE
> +#ifdef	CONFIG_ENV_IS_IN_MMC
> +#define	CONFIG_ENV_OFFSET	(256 * 1024)
> +#define	CONFIG_ENV_SIZE	(16 * 1024)
> +#define	CONFIG_SYS_MMC_ENV_DEV 0
> +#endif

The stuff aboce goes into ENV section below

> +#define	CONFIG_CMD_SAVEENV

CMD goes under CMD section (is this really even needed? saveenv is there all the 
time anyway)

>  #ifdef	CONFIG_CMD_MMC
>  #define	CONFIG_MMC
>  #define	CONFIG_BOUNCE_BUFFER
> @@ -127,21 +135,73 @@
>  #define CONFIG_APBH_DMA
> 
>  /*
> - * ENV -- nowhere so far
> - */
> -#define	CONFIG_ENV_SIZE			(16 * 1024)
> -#define	CONFIG_ENV_IS_NOWHERE
> -
> -/*
>   * Boot Linux
>   */
>  #define	CONFIG_CMDLINE_TAG
>  #define	CONFIG_SETUP_MEMORY_TAGS
>  #define	CONFIG_BOOTDELAY	3
>  #define	CONFIG_BOOTFILE		"uImage"
> -#define	CONFIG_BOOTARGS		"console=ttyAMA0,115200n8 "
>  #define	CONFIG_LOADADDR		0x42000000
>  #define	CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
>  #define	CONFIG_OF_LIBFDT
> 
> +/*
> + * Extra Environments
> + */
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> +	"update_sd_firmware_filename=u-boot.sd\0" \

This is still broken, mxsboot doesn't work on mx23.

> +	"update_sd_firmware="		/* Update the SD firmware partition */ \
> +		"if mmc rescan ; then "	\
> +		"if tftp ${update_sd_firmware_filename} ; then " \
> +		"setexpr fw_sz ${filesize} / 0x200 ; "	/* SD block size */ \
> +		"setexpr fw_sz ${fw_sz} + 1 ; "	\
> +		"mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
> +		"fi ; "	\
> +		"fi\0" \
> +	"script=boot.scr\0"	\
> +	"uimage=uImage\0" \
> +	"console=ttyAMA0\0" \
> +	"fdt_file=imx23-olinuxino.dtb\0" \
> +	"fdt_addr=0x41000000\0" \
> +	"boot_fdt=try\0" \
> +	"mmcdev=0\0" \
> +	"mmcpart=2\0" \
> +	"mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
> +	"mmcargs=setenv bootargs console=${console},${baudrate} " \
> +		"root=${mmcroot}\0" \
> +	"loadbootscript="  \
> +		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
> +	"bootscript=echo Running bootscript from mmc ...; "	\
> +		"source\0" \
> +	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
> +	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
> +	"mmcboot=echo Booting from mmc ...; " \
> +		"run mmcargs; " \
> +		"if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
> +			"if run loadfdt; then " \
> +				"bootm ${loadaddr} - ${fdt_addr}; " \
> +			"else " \
> +				"if test ${boot_fdt} = try; then " \
> +					"bootm; " \
> +				"else " \
> +					"echo WARN: Cannot load the DT; " \
> +				"fi; " \
> +			"fi; " \
> +		"else " \
> +			"bootm; " \
> +		"fi;\0"
> +
> +#define CONFIG_BOOTCOMMAND \
> +	"mmc dev ${mmcdev}; if mmc rescan; then " \
> +		"if run loadbootscript; then " \
> +			"run bootscript; " \
> +		"else " \
> +			"if run loaduimage; then " \
> +				"run mmcboot; " \
> +			"else " \
> +				"echo ERR: Fail to boot from MMC; " \
> +			"fi; " \
> +		"fi; " \
> +	"else exit; fi"
> +
>  #endif /* __MX23_OLINUXINO_CONFIG_H__ */

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

* [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment
  2013-01-23 19:12 ` [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Marek Vasut
@ 2013-01-23 20:12   ` Otavio Salvador
  2013-01-23 21:06     ` Marek Vasut
  0 siblings, 1 reply; 5+ messages in thread
From: Otavio Salvador @ 2013-01-23 20:12 UTC (permalink / raw)
  To: u-boot

On Wed, Jan 23, 2013 at 5:12 PM, Marek Vasut <marex@denx.de> wrote:
> Dear Otavio Salvador,
>
>> This adds a default environment with support for MMC booting.
>>
>> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>> ---
>> Changes in v5:
>> - Remove duplicate environment setting
>> - Improve commit log
>>
>> Changes in v4: None
>> Changes in v3: None
>> Changes in v2: None
>>
>>  include/configs/mx23_olinuxino.h | 74
>> ++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+),
>> 7 deletions(-)
>>
>> diff --git a/include/configs/mx23_olinuxino.h
>> b/include/configs/mx23_olinuxino.h index bc63481..fc859b3 100644
>> --- a/include/configs/mx23_olinuxino.h
>> +++ b/include/configs/mx23_olinuxino.h
>> @@ -114,6 +114,14 @@
>>  /*
>>   * MMC Driver
>>   */
>> +#define      CONFIG_ENV_IS_IN_MMC
>> +#define      CONFIG_ENV_OVERWRITE
>> +#ifdef       CONFIG_ENV_IS_IN_MMC
>> +#define      CONFIG_ENV_OFFSET       (256 * 1024)
>> +#define      CONFIG_ENV_SIZE (16 * 1024)
>> +#define      CONFIG_SYS_MMC_ENV_DEV 0
>> +#endif
>
> The stuff aboce goes into ENV section below
>
>> +#define      CONFIG_CMD_SAVEENV
>
> CMD goes under CMD section (is this really even needed? saveenv is there all the
> time anyway)

Indeed this is not need; I removed it.

>>  #ifdef       CONFIG_CMD_MMC
>>  #define      CONFIG_MMC
>>  #define      CONFIG_BOUNCE_BUFFER
>> @@ -127,21 +135,73 @@
>>  #define CONFIG_APBH_DMA
>>
>>  /*
>> - * ENV -- nowhere so far
>> - */
>> -#define      CONFIG_ENV_SIZE                 (16 * 1024)
>> -#define      CONFIG_ENV_IS_NOWHERE
>> -
>> -/*
>>   * Boot Linux
>>   */
>>  #define      CONFIG_CMDLINE_TAG
>>  #define      CONFIG_SETUP_MEMORY_TAGS
>>  #define      CONFIG_BOOTDELAY        3
>>  #define      CONFIG_BOOTFILE         "uImage"
>> -#define      CONFIG_BOOTARGS         "console=ttyAMA0,115200n8 "
>>  #define      CONFIG_LOADADDR         0x42000000
>>  #define      CONFIG_SYS_LOAD_ADDR    CONFIG_LOADADDR
>>  #define      CONFIG_OF_LIBFDT
>>
>> +/*
>> + * Extra Environments
>> + */
>> +#define CONFIG_EXTRA_ENV_SETTINGS \
>> +     "update_sd_firmware_filename=u-boot.sd\0" \
>
> This is still broken, mxsboot doesn't work on mx23.

Well, yes but I see no reason to not put this here as it will work
when mxsboot is done. I can hold it if you prefer...

>> +     "update_sd_firmware="           /* Update the SD firmware partition */ \
>> +             "if mmc rescan ; then " \
>> +             "if tftp ${update_sd_firmware_filename} ; then " \
>> +             "setexpr fw_sz ${filesize} / 0x200 ; "  /* SD block size */ \
>> +             "setexpr fw_sz ${fw_sz} + 1 ; " \
>> +             "mmc write ${loadaddr} 0x800 ${fw_sz} ; " \
>> +             "fi ; " \
>> +             "fi\0" \
>> +     "script=boot.scr\0"     \
>> +     "uimage=uImage\0" \
>> +     "console=ttyAMA0\0" \
>> +     "fdt_file=imx23-olinuxino.dtb\0" \
>> +     "fdt_addr=0x41000000\0" \
>> +     "boot_fdt=try\0" \
>> +     "mmcdev=0\0" \
>> +     "mmcpart=2\0" \
>> +     "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
>> +     "mmcargs=setenv bootargs console=${console},${baudrate} " \
>> +             "root=${mmcroot}\0" \
>> +     "loadbootscript="  \
>> +             "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
>> +     "bootscript=echo Running bootscript from mmc ...; "     \
>> +             "source\0" \
>> +     "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
>> +     "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
>> +     "mmcboot=echo Booting from mmc ...; " \
>> +             "run mmcargs; " \
>> +             "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
>> +                     "if run loadfdt; then " \
>> +                             "bootm ${loadaddr} - ${fdt_addr}; " \
>> +                     "else " \
>> +                             "if test ${boot_fdt} = try; then " \
>> +                                     "bootm; " \
>> +                             "else " \
>> +                                     "echo WARN: Cannot load the DT; " \
>> +                             "fi; " \
>> +                     "fi; " \
>> +             "else " \
>> +                     "bootm; " \
>> +             "fi;\0"
>> +
>> +#define CONFIG_BOOTCOMMAND \
>> +     "mmc dev ${mmcdev}; if mmc rescan; then " \
>> +             "if run loadbootscript; then " \
>> +                     "run bootscript; " \
>> +             "else " \
>> +                     "if run loaduimage; then " \
>> +                             "run mmcboot; " \
>> +                     "else " \
>> +                             "echo ERR: Fail to boot from MMC; " \
>> +                     "fi; " \
>> +             "fi; " \
>> +     "else exit; fi"
>> +
>>  #endif /* __MX23_OLINUXINO_CONFIG_H__ */



--
Otavio Salvador                             O.S. Systems
E-mail: otavio at ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

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

* [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment
  2013-01-23 20:12   ` Otavio Salvador
@ 2013-01-23 21:06     ` Marek Vasut
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Vasut @ 2013-01-23 21:06 UTC (permalink / raw)
  To: u-boot

Dear Otavio Salvador,

> On Wed, Jan 23, 2013 at 5:12 PM, Marek Vasut <marex@denx.de> wrote:
> > Dear Otavio Salvador,
> > 
> >> This adds a default environment with support for MMC booting.
> >> 
> >> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> >> ---
> >> Changes in v5:
> >> - Remove duplicate environment setting
> >> - Improve commit log
> >> 
> >> Changes in v4: None
> >> Changes in v3: None
> >> Changes in v2: None
> >> 
> >>  include/configs/mx23_olinuxino.h | 74
> >> 
> >> ++++++++++++++++++++++++++++++++++++---- 1 file changed, 67
> >> insertions(+), 7 deletions(-)
> >> 
> >> diff --git a/include/configs/mx23_olinuxino.h
> >> b/include/configs/mx23_olinuxino.h index bc63481..fc859b3 100644
> >> --- a/include/configs/mx23_olinuxino.h
> >> +++ b/include/configs/mx23_olinuxino.h
> >> @@ -114,6 +114,14 @@
> >> 
> >>  /*
> >>  
> >>   * MMC Driver
> >>   */
> >> 
> >> +#define      CONFIG_ENV_IS_IN_MMC
> >> +#define      CONFIG_ENV_OVERWRITE
> >> +#ifdef       CONFIG_ENV_IS_IN_MMC
> >> +#define      CONFIG_ENV_OFFSET       (256 * 1024)
> >> +#define      CONFIG_ENV_SIZE (16 * 1024)
> >> +#define      CONFIG_SYS_MMC_ENV_DEV 0
> >> +#endif
> > 
> > The stuff aboce goes into ENV section below
> > 
> >> +#define      CONFIG_CMD_SAVEENV
> > 
> > CMD goes under CMD section (is this really even needed? saveenv is there
> > all the time anyway)
> 
> Indeed this is not need; I removed it.
> 
> >>  #ifdef       CONFIG_CMD_MMC
> >>  #define      CONFIG_MMC
> >>  #define      CONFIG_BOUNCE_BUFFER
> >> 
> >> @@ -127,21 +135,73 @@
> >> 
> >>  #define CONFIG_APBH_DMA
> >>  
> >>  /*
> >> 
> >> - * ENV -- nowhere so far
> >> - */
> >> -#define      CONFIG_ENV_SIZE                 (16 * 1024)
> >> -#define      CONFIG_ENV_IS_NOWHERE
> >> -
> >> -/*
> >> 
> >>   * Boot Linux
> >>   */
> >>  
> >>  #define      CONFIG_CMDLINE_TAG
> >>  #define      CONFIG_SETUP_MEMORY_TAGS
> >>  #define      CONFIG_BOOTDELAY        3
> >>  #define      CONFIG_BOOTFILE         "uImage"
> >> 
> >> -#define      CONFIG_BOOTARGS         "console=ttyAMA0,115200n8 "
> >> 
> >>  #define      CONFIG_LOADADDR         0x42000000
> >>  #define      CONFIG_SYS_LOAD_ADDR    CONFIG_LOADADDR
> >>  #define      CONFIG_OF_LIBFDT
> >> 
> >> +/*
> >> + * Extra Environments
> >> + */
> >> +#define CONFIG_EXTRA_ENV_SETTINGS \
> >> +     "update_sd_firmware_filename=u-boot.sd\0" \
> > 
> > This is still broken, mxsboot doesn't work on mx23.
> 
> Well, yes but I see no reason to not put this here as it will work
> when mxsboot is done. I can hold it if you prefer...

You're adding broken code -- hold it of course. Or split this into two patches

Best regards,
Marek Vasut

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

end of thread, other threads:[~2013-01-23 21:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-23 19:12 [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Otavio Salvador
2013-01-23 19:12 ` [U-Boot] [PATCH v5 2/2] mx23evk: Add initial board support Otavio Salvador
2013-01-23 19:12 ` [U-Boot] [PATCH v5 1/2] mx23_olinuxino: Add default environment Marek Vasut
2013-01-23 20:12   ` Otavio Salvador
2013-01-23 21:06     ` Marek Vasut

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.