public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
@ 2013-04-24 10:41 Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 1/5] ARM: OMAP: Make omap_boot_parameters common across socs Sricharan R
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

The save_boot_params function does not store the data in a
always writable area. So the code is broken for a 'XIP' boot.
This series corrects this by storing it in 'gd' and also
adds a 'C' equivalent function for the same. The essential cleanups
for the same are added in this.

Tested this on omap5 uevm board with SD/EMMC boot.
omap4/5 boards does not have a XIP flash.
So yet to test XIP with this series.

Also verfied a MAKEALL for armv7.

Sricharan R (5):
  ARM: OMAP: Make omap_boot_parameters common across socs
  ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common
  ARM: OMAP: Correct save_boot_params and replace with 'C' function
  ARM: OMAP: Cleanup boot parameters usage
  ARM: OMAP: Add arch_cpu_init function

 arch/arm/cpu/armv7/lowlevel_init.S             |    8 +++-
 arch/arm/cpu/armv7/omap-common/boot-common.c   |   20 ++------
 arch/arm/cpu/armv7/omap-common/hwinit-common.c |   61 +++++++++++++++++++++---
 arch/arm/cpu/armv7/omap-common/lowlevel_init.S |   50 +------------------
 arch/arm/cpu/armv7/omap4/emif.c                |    4 +-
 arch/arm/cpu/armv7/omap4/hw_data.c             |    2 +-
 arch/arm/cpu/armv7/omap4/hwinit.c              |    3 +-
 arch/arm/cpu/armv7/omap5/emif.c                |    4 +-
 arch/arm/cpu/armv7/omap5/hw_data.c             |    2 +-
 arch/arm/cpu/armv7/omap5/hwinit.c              |    3 +-
 arch/arm/include/asm/arch-am33xx/omap.h        |   25 ----------
 arch/arm/include/asm/arch-omap4/omap.h         |   36 --------------
 arch/arm/include/asm/arch-omap4/sys_proto.h    |   11 ++---
 arch/arm/include/asm/arch-omap5/omap.h         |   36 --------------
 arch/arm/include/asm/arch-omap5/sys_proto.h    |   12 ++---
 arch/arm/include/asm/global_data.h             |    8 ++++
 arch/arm/include/asm/omap_boot.h               |   50 +++++++++++++++++++
 arch/arm/include/asm/omap_common.h             |   19 ++++++++
 common/spl/spl.c                               |   12 +++--
 include/configs/am335x_evm.h                   |    4 ++
 include/configs/omap4_common.h                 |    4 ++
 include/configs/omap5_common.h                 |    3 ++
 include/configs/pcm051.h                       |    4 ++
 include/configs/ti814x_evm.h                   |    4 ++
 include/spl.h                                  |    1 -
 25 files changed, 187 insertions(+), 199 deletions(-)
 create mode 100644 arch/arm/include/asm/omap_boot.h

-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 1/5] ARM: OMAP: Make omap_boot_parameters common across socs
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
@ 2013-04-24 10:41 ` Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 2/5] ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common Sricharan R
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

omap_boot_parameters is same and defined for each
soc. So move this to a common place to reuse it
across socs.

Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
  [V2] Rebased on mainline.
 
 arch/arm/include/asm/arch-am33xx/omap.h |   25 ----------------
 arch/arm/include/asm/arch-omap4/omap.h  |   24 ---------------
 arch/arm/include/asm/arch-omap5/omap.h  |   23 ---------------
 arch/arm/include/asm/omap_boot.h        |   49 +++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+), 72 deletions(-)
 create mode 100644 arch/arm/include/asm/omap_boot.h

diff --git a/arch/arm/include/asm/arch-am33xx/omap.h b/arch/arm/include/asm/arch-am33xx/omap.h
index d28f9a8..7e3bb9c 100644
--- a/arch/arm/include/asm/arch-am33xx/omap.h
+++ b/arch/arm/include/asm/arch-am33xx/omap.h
@@ -35,29 +35,4 @@
 #define NON_SECURE_SRAM_START	0x40300000
 #define NON_SECURE_SRAM_END	0x40320000
 #endif
-
-/* ROM code defines */
-/* Boot device */
-#define BOOT_DEVICE_MASK	0xFF
-#define BOOT_DEVICE_OFFSET	0x8
-#define DEV_DESC_PTR_OFFSET	0x4
-#define DEV_DATA_PTR_OFFSET	0x18
-#define BOOT_MODE_OFFSET	0x8
-#define RESET_REASON_OFFSET	0x9
-#define CH_FLAGS_OFFSET		0xA
-
-#define CH_FLAGS_CHSETTINGS	(0x1 << 0)
-#define CH_FLAGS_CHRAM		(0x1 << 1)
-#define CH_FLAGS_CHFLASH	(0x1 << 2)
-#define CH_FLAGS_CHMMCSD	(0x1 << 3)
-
-#ifndef __ASSEMBLY__
-struct omap_boot_parameters {
-	char *boot_message;
-	unsigned int mem_boot_descriptor;
-	unsigned char omap_bootdevice;
-	unsigned char reset_reason;
-	unsigned char ch_flags;
-};
-#endif
 #endif
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h
index ad984da..9ad1e82 100644
--- a/arch/arm/include/asm/arch-omap4/omap.h
+++ b/arch/arm/include/asm/arch-omap4/omap.h
@@ -155,28 +155,4 @@ struct s32ktimer {
 #define OMAP4_SRAM_SCRATCH_SYS_CTRL	(SRAM_SCRATCH_SPACE_ADDR + 0x20)
 #define OMAP4_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
 
-/* ROM code defines */
-/* Boot device */
-#define BOOT_DEVICE_MASK	0xFF
-#define BOOT_DEVICE_OFFSET	0x8
-#define DEV_DESC_PTR_OFFSET	0x4
-#define DEV_DATA_PTR_OFFSET	0x18
-#define BOOT_MODE_OFFSET	0x8
-#define RESET_REASON_OFFSET	0x9
-#define CH_FLAGS_OFFSET		0xA
-
-#define CH_FLAGS_CHSETTINGS	(0x1 << 0)
-#define CH_FLAGS_CHRAM		(0x1 << 1)
-#define CH_FLAGS_CHFLASH	(0x1 << 2)
-#define CH_FLAGS_CHMMCSD	(0x1 << 3)
-
-#ifndef __ASSEMBLY__
-struct omap_boot_parameters {
-	char *boot_message;
-	unsigned int mem_boot_descriptor;
-	unsigned char omap_bootdevice;
-	unsigned char reset_reason;
-	unsigned char ch_flags;
-};
-#endif
 #endif
diff --git a/arch/arm/include/asm/arch-omap5/omap.h b/arch/arm/include/asm/arch-omap5/omap.h
index 887fcaa..3bf5afa 100644
--- a/arch/arm/include/asm/arch-omap5/omap.h
+++ b/arch/arm/include/asm/arch-omap5/omap.h
@@ -214,21 +214,6 @@ struct s32ktimer {
 #define OMAP4460_ES1_0	0x44600100
 #define OMAP4460_ES1_1	0x44600110
 
-/* ROM code defines */
-/* Boot device */
-#define BOOT_DEVICE_MASK	0xFF
-#define BOOT_DEVICE_OFFSET	0x8
-#define DEV_DESC_PTR_OFFSET	0x4
-#define DEV_DATA_PTR_OFFSET	0x18
-#define BOOT_MODE_OFFSET	0x8
-#define RESET_REASON_OFFSET     0x9
-#define CH_FLAGS_OFFSET         0xA
-
-#define CH_FLAGS_CHSETTINGS	(0x1 << 0)
-#define	CH_FLAGS_CHRAM		(0x1 << 1)
-#define CH_FLAGS_CHFLASH	(0x1 << 2)
-#define CH_FLAGS_CHMMCSD	(0x1 << 3)
-
 /* CONTROL_SRCOMP_XXX_SIDE */
 #define OVERRIDE_XS_SHIFT		30
 #define OVERRIDE_XS_MASK		(1 << 30)
@@ -249,14 +234,6 @@ struct srcomp_params {
 	s8 multiply_factor;
 };
 
-struct omap_boot_parameters {
-	char *boot_message;
-	unsigned int mem_boot_descriptor;
-	unsigned char omap_bootdevice;
-	unsigned char reset_reason;
-	unsigned char ch_flags;
-};
-
 struct ctrl_ioregs {
 	u32 ctrl_ddrch;
 	u32 ctrl_lpddr2ch;
diff --git a/arch/arm/include/asm/omap_boot.h b/arch/arm/include/asm/omap_boot.h
new file mode 100644
index 0000000..87a9530
--- /dev/null
+++ b/arch/arm/include/asm/omap_boot.h
@@ -0,0 +1,49 @@
+/*
+ * (C) Copyright 2013
+ * Texas Instruments, <www.ti.com>
+ *
+ * Sricharan R <r.sricharan@ti.com>
+ *
+ * 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
+ */
+
+/* ROM code defines */
+/* Boot device */
+#define BOOT_DEVICE_MASK	0xFF
+#define BOOT_DEVICE_OFFSET	0x8
+#define DEV_DESC_PTR_OFFSET	0x4
+#define DEV_DATA_PTR_OFFSET	0x18
+#define BOOT_MODE_OFFSET	0x8
+#define RESET_REASON_OFFSET	0x9
+#define CH_FLAGS_OFFSET		0xA
+
+#define CH_FLAGS_CHSETTINGS	(0x1 << 0)
+#define CH_FLAGS_CHRAM		(0x1 << 1)
+#define CH_FLAGS_CHFLASH	(0x1 << 2)
+#define CH_FLAGS_CHMMCSD	(0x1 << 3)
+
+#ifndef __ASSEMBLY__
+struct omap_boot_parameters {
+	char *boot_message;
+	unsigned int mem_boot_descriptor;
+	unsigned char omap_bootdevice;
+	unsigned char reset_reason;
+	unsigned char ch_flags;
+};
+#endif
-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 2/5] ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 1/5] ARM: OMAP: Make omap_boot_parameters common across socs Sricharan R
@ 2013-04-24 10:41 ` Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 3/5] ARM: OMAP: Correct save_boot_params and replace with 'C' function Sricharan R
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

These defines are same across OMAP4/5. So move them to
omap_common.h. This is required for the patches that
follow.

Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
[V2] Rebased on mainline.

 arch/arm/cpu/armv7/omap4/emif.c        |    4 ++--
 arch/arm/cpu/armv7/omap4/hw_data.c     |    2 +-
 arch/arm/cpu/armv7/omap4/hwinit.c      |    3 ++-
 arch/arm/cpu/armv7/omap5/emif.c        |    4 ++--
 arch/arm/cpu/armv7/omap5/hw_data.c     |    2 +-
 arch/arm/cpu/armv7/omap5/hwinit.c      |    3 ++-
 arch/arm/include/asm/arch-omap4/omap.h |   12 ------------
 arch/arm/include/asm/arch-omap5/omap.h |   13 -------------
 arch/arm/include/asm/omap_common.h     |   14 ++++++++++++++
 9 files changed, 24 insertions(+), 33 deletions(-)

diff --git a/arch/arm/cpu/armv7/omap4/emif.c b/arch/arm/cpu/armv7/omap4/emif.c
index 53f6063..0ddf35f 100644
--- a/arch/arm/cpu/armv7/omap4/emif.c
+++ b/arch/arm/cpu/armv7/omap4/emif.c
@@ -31,8 +31,8 @@
 #include <asm/utils.h>
 
 #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
-u32 *const T_num = (u32 *)OMAP4_SRAM_SCRATCH_EMIF_T_NUM;
-u32 *const T_den = (u32 *)OMAP4_SRAM_SCRATCH_EMIF_T_DEN;
+u32 *const T_num = (u32 *)OMAP_SRAM_SCRATCH_EMIF_T_NUM;
+u32 *const T_den = (u32 *)OMAP_SRAM_SCRATCH_EMIF_T_DEN;
 #endif
 
 #ifdef CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
diff --git a/arch/arm/cpu/armv7/omap4/hw_data.c b/arch/arm/cpu/armv7/omap4/hw_data.c
index 04977b4..06a2fc8 100644
--- a/arch/arm/cpu/armv7/omap4/hw_data.c
+++ b/arch/arm/cpu/armv7/omap4/hw_data.c
@@ -40,7 +40,7 @@ struct dplls const **dplls_data =
 struct vcores_data const **omap_vcores =
 		(struct vcores_data const **) OMAP_SRAM_SCRATCH_VCORES_PTR;
 struct omap_sys_ctrl_regs const **ctrl =
-	(struct omap_sys_ctrl_regs const **)OMAP4_SRAM_SCRATCH_SYS_CTRL;
+	(struct omap_sys_ctrl_regs const **)OMAP_SRAM_SCRATCH_SYS_CTRL;
 
 /*
  * The M & N values in the following tables are created using the
diff --git a/arch/arm/cpu/armv7/omap4/hwinit.c b/arch/arm/cpu/armv7/omap4/hwinit.c
index 2db517b..81f5a48 100644
--- a/arch/arm/cpu/armv7/omap4/hwinit.c
+++ b/arch/arm/cpu/armv7/omap4/hwinit.c
@@ -34,10 +34,11 @@
 #include <asm/sizes.h>
 #include <asm/emif.h>
 #include <asm/arch/gpio.h>
+#include <asm/omap_common.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-u32 *const omap_si_rev = (u32 *)OMAP4_SRAM_SCRATCH_OMAP4_REV;
+u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
 static const struct gpio_bank gpio_bank_44xx[6] = {
 	{ (void *)OMAP44XX_GPIO1_BASE, METHOD_GPIO_24XX },
diff --git a/arch/arm/cpu/armv7/omap5/emif.c b/arch/arm/cpu/armv7/omap5/emif.c
index 3f37abd..b4c1319 100644
--- a/arch/arm/cpu/armv7/omap5/emif.c
+++ b/arch/arm/cpu/armv7/omap5/emif.c
@@ -32,8 +32,8 @@
 
 #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
 #define print_timing_reg(reg) debug(#reg" - 0x%08x\n", (reg))
-static u32 *const T_num = (u32 *)OMAP5_SRAM_SCRATCH_EMIF_T_NUM;
-static u32 *const T_den = (u32 *)OMAP5_SRAM_SCRATCH_EMIF_T_DEN;
+static u32 *const T_num = (u32 *)OMAP_SRAM_SCRATCH_EMIF_T_NUM;
+static u32 *const T_den = (u32 *)OMAP_SRAM_SCRATCH_EMIF_T_DEN;
 #endif
 
 #ifdef CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
diff --git a/arch/arm/cpu/armv7/omap5/hw_data.c b/arch/arm/cpu/armv7/omap5/hw_data.c
index ced274e..e29803d 100644
--- a/arch/arm/cpu/armv7/omap5/hw_data.c
+++ b/arch/arm/cpu/armv7/omap5/hw_data.c
@@ -41,7 +41,7 @@ struct dplls const **dplls_data =
 struct vcores_data const **omap_vcores =
 		(struct vcores_data const **) OMAP_SRAM_SCRATCH_VCORES_PTR;
 struct omap_sys_ctrl_regs const **ctrl =
-	(struct omap_sys_ctrl_regs const **)OMAP5_SRAM_SCRATCH_SYS_CTRL;
+	(struct omap_sys_ctrl_regs const **)OMAP_SRAM_SCRATCH_SYS_CTRL;
 
 /* OPP HIGH FREQUENCY for ES2.0 */
 static const struct dpll_params mpu_dpll_params_1_5ghz[NUM_SYS_CLKS] = {
diff --git a/arch/arm/cpu/armv7/omap5/hwinit.c b/arch/arm/cpu/armv7/omap5/hwinit.c
index 2f4b247..e93f403 100644
--- a/arch/arm/cpu/armv7/omap5/hwinit.c
+++ b/arch/arm/cpu/armv7/omap5/hwinit.c
@@ -37,10 +37,11 @@
 #include <asm/utils.h>
 #include <asm/arch/gpio.h>
 #include <asm/emif.h>
+#include <asm/omap_common.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-u32 *const omap_si_rev = (u32 *)OMAP5_SRAM_SCRATCH_OMAP5_REV;
+u32 *const omap_si_rev = (u32 *)OMAP_SRAM_SCRATCH_OMAP_REV;
 
 static struct gpio_bank gpio_bank_54xx[6] = {
 	{ (void *)OMAP54XX_GPIO1_BASE, METHOD_GPIO_24XX },
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h
index 9ad1e82..e9a6ffe 100644
--- a/arch/arm/include/asm/arch-omap4/omap.h
+++ b/arch/arm/include/asm/arch-omap4/omap.h
@@ -143,16 +143,4 @@ struct s32ktimer {
 #define NON_SECURE_SRAM_END	0x4030E000	/* Not inclusive */
 /* base address for indirect vectors (internal boot mode) */
 #define SRAM_ROM_VECT_BASE	0x4030D000
-/* Temporary SRAM stack used while low level init is done */
-#define SRAM_SCRATCH_SPACE_ADDR		NON_SECURE_SRAM_START
-/* SRAM scratch space entries */
-#define OMAP4_SRAM_SCRATCH_OMAP4_REV	SRAM_SCRATCH_SPACE_ADDR
-#define OMAP4_SRAM_SCRATCH_EMIF_T_NUM	(SRAM_SCRATCH_SPACE_ADDR + 0xC)
-#define OMAP4_SRAM_SCRATCH_EMIF_T_DEN	(SRAM_SCRATCH_SPACE_ADDR + 0x10)
-#define OMAP_SRAM_SCRATCH_PRCM_PTR      (SRAM_SCRATCH_SPACE_ADDR + 0x14)
-#define OMAP_SRAM_SCRATCH_DPLLS_PTR     (SRAM_SCRATCH_SPACE_ADDR + 0x18)
-#define OMAP_SRAM_SCRATCH_VCORES_PTR	(SRAM_SCRATCH_SPACE_ADDR + 0x1C)
-#define OMAP4_SRAM_SCRATCH_SYS_CTRL	(SRAM_SCRATCH_SPACE_ADDR + 0x20)
-#define OMAP4_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
-
 #endif
diff --git a/arch/arm/include/asm/arch-omap5/omap.h b/arch/arm/include/asm/arch-omap5/omap.h
index 3bf5afa..4f43a90 100644
--- a/arch/arm/include/asm/arch-omap5/omap.h
+++ b/arch/arm/include/asm/arch-omap5/omap.h
@@ -191,19 +191,6 @@ struct s32ktimer {
 /* base address for indirect vectors (internal boot mode) */
 #define SRAM_ROM_VECT_BASE	0x4031F000
 
-#define SRAM_SCRATCH_SPACE_ADDR		NON_SECURE_SRAM_START
-/*
- * SRAM scratch space entries
- */
-#define OMAP5_SRAM_SCRATCH_OMAP5_REV	SRAM_SCRATCH_SPACE_ADDR
-#define OMAP5_SRAM_SCRATCH_EMIF_T_NUM	(SRAM_SCRATCH_SPACE_ADDR + 0xC)
-#define OMAP5_SRAM_SCRATCH_EMIF_T_DEN	(SRAM_SCRATCH_SPACE_ADDR + 0x10)
-#define OMAP_SRAM_SCRATCH_PRCM_PTR      (SRAM_SCRATCH_SPACE_ADDR + 0x14)
-#define OMAP_SRAM_SCRATCH_DPLLS_PTR     (SRAM_SCRATCH_SPACE_ADDR + 0x18)
-#define OMAP_SRAM_SCRATCH_VCORES_PTR    (SRAM_SCRATCH_SPACE_ADDR + 0x1C)
-#define OMAP5_SRAM_SCRATCH_SYS_CTRL	(SRAM_SCRATCH_SPACE_ADDR + 0x20)
-#define OMAP5_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
-
 /* Silicon revisions */
 #define OMAP4430_SILICON_ID_INVALID	0xFFFFFFFF
 #define OMAP4430_ES1_0	0x44300100
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 091ddb5..6b70dbb 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -583,4 +583,18 @@ static inline u32 omap_revision(void)
 
 /* DRA7XX */
 #define DRA752_ES1_0	0x07520100
+
+/*
+ * SRAM scratch space entries
+ */
+#define SRAM_SCRATCH_SPACE_ADDR		NON_SECURE_SRAM_START
+#define OMAP_SRAM_SCRATCH_OMAP_REV	SRAM_SCRATCH_SPACE_ADDR
+#define OMAP_SRAM_SCRATCH_EMIF_SIZE	(SRAM_SCRATCH_SPACE_ADDR + 0x4)
+#define OMAP_SRAM_SCRATCH_EMIF_T_NUM	(SRAM_SCRATCH_SPACE_ADDR + 0xC)
+#define OMAP_SRAM_SCRATCH_EMIF_T_DEN	(SRAM_SCRATCH_SPACE_ADDR + 0x10)
+#define OMAP_SRAM_SCRATCH_PRCM_PTR      (SRAM_SCRATCH_SPACE_ADDR + 0x14)
+#define OMAP_SRAM_SCRATCH_DPLLS_PTR     (SRAM_SCRATCH_SPACE_ADDR + 0x18)
+#define OMAP_SRAM_SCRATCH_VCORES_PTR    (SRAM_SCRATCH_SPACE_ADDR + 0x1C)
+#define OMAP_SRAM_SCRATCH_SYS_CTRL	(SRAM_SCRATCH_SPACE_ADDR + 0x20)
+#define OMAP_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
 #endif /* _OMAP_COMMON_H_ */
-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 3/5] ARM: OMAP: Correct save_boot_params and replace with 'C' function
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 1/5] ARM: OMAP: Make omap_boot_parameters common across socs Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 2/5] ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common Sricharan R
@ 2013-04-24 10:41 ` Sricharan R
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage Sricharan R
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

Currently save_boot_params saves the boot parameters passed
from romcode. But this is not stored in a writable location
consistently. So the current code would not work for a
'XIP' boot. Change this by saving the boot parameters in
'gd' which is always writable. Also add a 'C' function
instead of an assembly code that is more readable.

Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
[V2] Fixed comments and rebased on mainline
     There is a checkpatch warning because of multiple
     assignments in the below mainline.
     gd->arch.omap_boot_params.omap_bootdevice = boot_device =
     . But the code is better readable this way

 arch/arm/cpu/armv7/omap-common/hwinit-common.c |   50 +++++++++++++++++++++---
 arch/arm/include/asm/global_data.h             |    8 ++++
 arch/arm/include/asm/omap_boot.h               |    1 +
 arch/arm/include/asm/omap_common.h             |    4 +-
 4 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
index 70d16a8..c710784 100644
--- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c
+++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
@@ -101,11 +101,6 @@ void omap_rev_string(void)
 }
 
 #ifdef CONFIG_SPL_BUILD
-static void init_boot_params(void)
-{
-	boot_params_ptr = (u32 *) &boot_params;
-}
-
 void spl_display_print(void)
 {
 	omap_rev_string();
@@ -116,6 +111,42 @@ void __weak srcomp_enable(void)
 {
 }
 
+static void save_omap_boot_params(void)
+{
+	u32 rom_params = *((u32 *)OMAP_SRAM_SCRATCH_BOOT_PARAMS);
+	u8 boot_device;
+	u32 dev_desc, dev_data;
+
+	if ((rom_params <  NON_SECURE_SRAM_START) ||
+	    (rom_params > NON_SECURE_SRAM_END))
+		return;
+
+	/*
+	 * rom_params can be type casted to omap_boot_parameters and
+	 * used. But it not correct to assume that romcode structure
+	 * encoding would be same as u-boot. So use the defined offsets.
+	 */
+	gd->arch.omap_boot_params.omap_bootdevice = boot_device =
+				   *((u8 *)(rom_params + BOOT_DEVICE_OFFSET));
+
+	gd->arch.omap_boot_params.ch_flags =
+				*((u8 *)(rom_params + CH_FLAGS_OFFSET));
+
+	if ((boot_device >= MMC_BOOT_DEVICES_START) &&
+	    (boot_device <= MMC_BOOT_DEVICES_END)) {
+		if ((omap_hw_init_context() ==
+				      OMAP_INIT_CONTEXT_UBOOT_AFTER_SPL)) {
+			gd->arch.omap_boot_params.omap_bootmode =
+			*((u8 *)(rom_params + BOOT_MODE_OFFSET));
+		} else {
+			dev_desc = *((u32 *)(rom_params + DEV_DESC_PTR_OFFSET));
+			dev_data = *((u32 *)(dev_desc + DEV_DATA_PTR_OFFSET));
+			gd->arch.omap_boot_params.omap_bootmode =
+					*((u32 *)(dev_data + BOOT_MODE_OFFSET));
+		}
+	}
+}
+
 /*
  * Routine: s_init
  * Description: Does early system init of watchdog, muxing,  andclocks
@@ -132,6 +163,14 @@ void __weak srcomp_enable(void)
  */
 void s_init(void)
 {
+	/*
+	 * Save the boot parameters passed from romcode.
+	 * We cannot delay the saving further than this,
+	 * to prevent overwrites.
+	 */
+#ifdef CONFIG_SPL_BUILD
+	save_omap_boot_params();
+#endif
 	init_omap_revision();
 	hw_data_init();
 
@@ -156,7 +195,6 @@ void s_init(void)
 
 	/* For regular u-boot sdram_init() is called from dram_init() */
 	sdram_init();
-	init_boot_params();
 #endif
 }
 
diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 37ac0da..7611d0a 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -24,6 +24,10 @@
 #ifndef	__ASM_GBL_DATA_H
 #define __ASM_GBL_DATA_H
 
+#ifdef CONFIG_OMAP
+#include <asm/omap_boot.h>
+#endif
+
 /* Architecture-specific global data */
 struct arch_global_data {
 #if defined(CONFIG_FSL_ESDHC)
@@ -51,6 +55,10 @@ struct arch_global_data {
 	unsigned long tlb_addr;
 	unsigned long tlb_size;
 #endif
+
+#ifdef CONFIG_OMAP
+	struct omap_boot_parameters omap_boot_params;
+#endif
 };
 
 #include <asm-generic/global_data.h>
diff --git a/arch/arm/include/asm/omap_boot.h b/arch/arm/include/asm/omap_boot.h
index 87a9530..a803965 100644
--- a/arch/arm/include/asm/omap_boot.h
+++ b/arch/arm/include/asm/omap_boot.h
@@ -45,5 +45,6 @@ struct omap_boot_parameters {
 	unsigned char omap_bootdevice;
 	unsigned char reset_reason;
 	unsigned char ch_flags;
+	unsigned long omap_bootmode;
 };
 #endif
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 6b70dbb..6b73d86 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -596,5 +596,7 @@ static inline u32 omap_revision(void)
 #define OMAP_SRAM_SCRATCH_DPLLS_PTR     (SRAM_SCRATCH_SPACE_ADDR + 0x18)
 #define OMAP_SRAM_SCRATCH_VCORES_PTR    (SRAM_SCRATCH_SPACE_ADDR + 0x1C)
 #define OMAP_SRAM_SCRATCH_SYS_CTRL	(SRAM_SCRATCH_SPACE_ADDR + 0x20)
-#define OMAP_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
+#define OMAP_SRAM_SCRATCH_BOOT_PARAMS	(SRAM_SCRATCH_SPACE_ADDR + 0x24)
+#define OMAP5_SRAM_SCRATCH_SPACE_END	(SRAM_SCRATCH_SPACE_ADDR + 0x28)
+
 #endif /* _OMAP_COMMON_H_ */
-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
                   ` (2 preceding siblings ...)
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 3/5] ARM: OMAP: Correct save_boot_params and replace with 'C' function Sricharan R
@ 2013-04-24 10:41 ` Sricharan R
  2013-05-08 17:56   ` Tom Rini
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function Sricharan R
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

The boot parameters are read from individual variables
assigned for each of them. This been corrected and now
they are stored as a part of the global data 'gd'
structure. So read them from 'gd' instead.

Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
  [V2] Addressed comments and rebased on mainline.

 arch/arm/cpu/armv7/lowlevel_init.S             |    8 +++-
 arch/arm/cpu/armv7/omap-common/boot-common.c   |   31 +++++++--------
 arch/arm/cpu/armv7/omap-common/lowlevel_init.S |   50 +-----------------------
 arch/arm/include/asm/arch-omap4/sys_proto.h    |   11 ++----
 arch/arm/include/asm/arch-omap5/sys_proto.h    |   12 ++----
 arch/arm/include/asm/omap_common.h             |    3 ++
 common/spl/spl.c                               |   10 ++---
 include/configs/am335x_evm.h                   |    1 +
 include/configs/pcm051.h                       |    1 +
 include/configs/ti814x_evm.h                   |    1 +
 include/spl.h                                  |    1 -
 11 files changed, 38 insertions(+), 91 deletions(-)

diff --git a/arch/arm/cpu/armv7/lowlevel_init.S b/arch/arm/cpu/armv7/lowlevel_init.S
index 0d45528..0a15aa4 100644
--- a/arch/arm/cpu/armv7/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/lowlevel_init.S
@@ -37,7 +37,13 @@ ENTRY(lowlevel_init)
 	 */
 	ldr	sp, =CONFIG_SYS_INIT_SP_ADDR
 	bic	sp, sp, #7 /* 8-byte alignment for ABI compliance */
-
+#ifdef CONFIG_SPL_BUILD
+	ldr	r8, =gdata
+#else
+	sub	sp, #GD_SIZE
+	bic	sp, sp, #7
+	mov	r8, sp
+#endif
 	/*
 	 * Save the old lr(passed in ip) and the current lr to stack
 	 */
diff --git a/arch/arm/cpu/armv7/omap-common/boot-common.c b/arch/arm/cpu/armv7/omap-common/boot-common.c
index 24cbe2d..bff7e9c 100644
--- a/arch/arm/cpu/armv7/omap-common/boot-common.c
+++ b/arch/arm/cpu/armv7/omap-common/boot-common.c
@@ -23,31 +23,17 @@
 #include <asm/arch/mmc_host_def.h>
 #include <asm/arch/sys_proto.h>
 
-/*
- * This is used to verify if the configuration header
- * was executed by rom code prior to control of transfer
- * to the bootloader. SPL is responsible for saving and
- * passing the boot_params pointer to the u-boot.
- */
-struct omap_boot_parameters boot_params __attribute__ ((section(".data")));
+DECLARE_GLOBAL_DATA_PTR;
 
 #ifdef CONFIG_SPL_BUILD
-/*
- * We use static variables because global data is not ready yet.
- * Initialized data is available in SPL right from the beginning.
- * We would not typically need to save these parameters in regular
- * U-Boot. This is needed only in SPL at the moment.
- */
-u32 omap_bootmode = MMCSD_MODE_FAT;
-
 u32 spl_boot_device(void)
 {
-	return (u32) (boot_params.omap_bootdevice);
+	return (u32) (gd->arch.omap_boot_params.omap_bootdevice);
 }
 
 u32 spl_boot_mode(void)
 {
-	return omap_bootmode;
+	return gd->arch.omap_boot_params.omap_bootmode;
 }
 
 void spl_board_init(void)
@@ -73,4 +59,15 @@ int board_mmc_init(bd_t *bis)
 	}
 	return 0;
 }
+
+void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
+{
+	typedef void __noreturn (*image_entry_noargs_t)(u32 *);
+	image_entry_noargs_t image_entry =
+			(image_entry_noargs_t) spl_image->entry_point;
+
+	debug("image entry point: 0x%X\n", spl_image->entry_point);
+	/* Pass the saved boot_params from rom code */
+	image_entry((u32 *)&gd->arch.omap_boot_params);
+}
 #endif
diff --git a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
index 90b3c8a..c489536 100644
--- a/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/omap-common/lowlevel_init.S
@@ -28,59 +28,13 @@
 
 #include <config.h>
 #include <asm/arch/omap.h>
+#include <asm/omap_common.h>
 #include <asm/arch/spl.h>
 #include <linux/linkage.h>
 
 ENTRY(save_boot_params)
-	/*
-	 * See if the rom code passed pointer is valid:
-	 * It is not valid if it is not in non-secure SRAM
-	 * This may happen if you are booting with the help of
-	 * debugger
-	 */
-	ldr     r2, =NON_SECURE_SRAM_START
-	cmp	r2, r0
-	bgt	1f
-	ldr	r2, =NON_SECURE_SRAM_END
-	cmp	r2, r0
-	blt	1f
-
-	/*
-	 * store the boot params passed from rom code or saved
-	 * and passed by SPL
-	 */
-	cmp	r0, #0
-	beq	1f
-	ldr	r1, =boot_params
+	ldr	r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
 	str	r0, [r1]
-#ifdef CONFIG_SPL_BUILD
-	/* Store the boot device in spl_boot_device */
-	ldrb	r2, [r0, #BOOT_DEVICE_OFFSET]	@ r1 <- value of boot device
-	and	r2, #BOOT_DEVICE_MASK
-	ldr	r3, =boot_params
-	strb	r2, [r3, #BOOT_DEVICE_OFFSET]	@ spl_boot_device <- r1
-
-	/*
-	 * boot mode is only valid for device that can be raw or FAT booted.
-	 * in other cases it may be fatal to look.  While platforms differ
-	 * in the values used for each MMC slot, they are contiguous.
-	 */
-	cmp	r2, #MMC_BOOT_DEVICES_START
-	blt	2f
-	cmp	r2, #MMC_BOOT_DEVICES_END
-	bgt	2f
-	/* Store the boot mode (raw/FAT) in omap_bootmode */
-	ldr	r2, [r0, #DEV_DESC_PTR_OFFSET]	@ get the device descriptor ptr
-	ldr	r2, [r2, #DEV_DATA_PTR_OFFSET]	@ get the pDeviceData ptr
-	ldr	r2, [r2, #BOOT_MODE_OFFSET]	@ get the boot mode
-	ldr	r3, =omap_bootmode
-	str	r2, [r3]
-#endif
-2:
-	ldrb	r2, [r0, #CH_FLAGS_OFFSET]
-	ldr	r3, =boot_params
-	strb	r2, [r3, #CH_FLAGS_OFFSET]
-1:
 	bx	lr
 ENDPROC(save_boot_params)
 
diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h
index d5f1868..841388a 100644
--- a/arch/arm/include/asm/arch-omap4/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap4/sys_proto.h
@@ -27,6 +27,8 @@
 #include <asm/omap_common.h>
 #include <asm/arch/mux_omap4.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 struct omap_sysinfo {
 	char *board_string;
 };
@@ -58,13 +60,6 @@ void omap_vc_init(u16 speed_khz);
 int omap_vc_bypass_send_value(u8 sa, u8 reg_addr, u8 reg_data);
 u32 warm_reset(void);
 void force_emif_self_refresh(void);
-/*
- * This is used to verify if the configuration header
- * was executed by Romcode prior to control of transfer
- * to the bootloader. SPL is responsible for saving and
- * passing this to the u-boot.
- */
-extern struct omap_boot_parameters boot_params;
 
 static inline u32 running_from_sdram(void)
 {
@@ -84,7 +79,7 @@ static inline u8 uboot_loaded_by_spl(void)
 	 * variable by both SPL and u-boot.Check out for CHSETTINGS, which is a
 	 * mandatory section if CH is present.
 	 */
-	if ((boot_params.ch_flags) & (CH_FLAGS_CHSETTINGS))
+	if ((gd->arch.omap_boot_params.ch_flags) & (CH_FLAGS_CHSETTINGS))
 		return 0;
 	else
 		return running_from_sdram();
diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h
index e66ab44..1099ec3 100644
--- a/arch/arm/include/asm/arch-omap5/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap5/sys_proto.h
@@ -27,6 +27,8 @@
 #include <asm/omap_common.h>
 #include <asm/arch/clocks.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 struct pad_conf_entry {
 	u32 offset;
 	u32 val;
@@ -65,14 +67,6 @@ void force_emif_self_refresh(void);
 void get_ioregs(const struct ctrl_ioregs **regs);
 void srcomp_enable(void);
 
-/*
- * This is used to verify if the configuration header
- * was executed by Romcode prior to control of transfer
- * to the bootloader. SPL is responsible for saving and
- * passing this to the u-boot.
- */
-extern struct omap_boot_parameters boot_params;
-
 static inline u32 running_from_sdram(void)
 {
 	u32 pc;
@@ -91,7 +85,7 @@ static inline u8 uboot_loaded_by_spl(void)
 	 * variable by both SPL and u-boot.Check out for CHSETTINGS, which is a
 	 * mandatory section if CH is present.
 	 */
-	if ((boot_params.ch_flags) & (CH_FLAGS_CHSETTINGS))
+	if ((gd->arch.omap_boot_params.ch_flags) & (CH_FLAGS_CHSETTINGS))
 		return 0;
 	else
 		return running_from_sdram();
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 6b73d86..9db4b1b 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -25,6 +25,8 @@
 #ifndef	_OMAP_COMMON_H_
 #define	_OMAP_COMMON_H_
 
+#ifndef __ASSEMBLY__
+
 #include <common.h>
 
 #define NUM_SYS_CLKS	8
@@ -557,6 +559,7 @@ static inline u32 omap_revision(void)
 	extern u32 *const omap_si_rev;
 	return *omap_si_rev;
 }
+#endif
 
 /*
  * silicon revisions.
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 6715e0d..e6aa89b 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -125,17 +125,13 @@ void spl_parse_image_header(const struct image_header *header)
 
 __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
 {
-	typedef void __noreturn (*image_entry_noargs_t)(u32 *);
+	typedef void __noreturn (*image_entry_noargs_t)(void);
+
 	image_entry_noargs_t image_entry =
 			(image_entry_noargs_t) spl_image->entry_point;
 
 	debug("image entry point: 0x%X\n", spl_image->entry_point);
-	/* Pass the saved boot_params from rom code */
-#if defined(CONFIG_VIRTIO) || defined(CONFIG_ZEBU)
-	image_entry = (image_entry_noargs_t)0x80100000;
-#endif
-	u32 boot_params_ptr_addr = (u32)&boot_params_ptr;
-	image_entry((u32 *)boot_params_ptr_addr);
+	image_entry();
 }
 
 #ifdef CONFIG_SPL_RAM_DEVICE
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index ef00306..ddfd52e 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -17,6 +17,7 @@
 #define __CONFIG_AM335X_EVM_H
 
 #define CONFIG_AM33XX
+#define CONFIG_OMAP
 
 #include <asm/arch/omap.h>
 
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index d0ea74e..5e5fab1 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -20,6 +20,7 @@
 #define __CONFIG_PCM051_H
 
 #define CONFIG_AM33XX
+#define CONFIG_OMAP
 
 #include <asm/arch/omap.h>
 
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index 16547e3..68a7307 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -19,6 +19,7 @@
 #define CONFIG_TI81XX
 #define CONFIG_TI814X
 #define CONFIG_SYS_NO_FLASH
+#define CONFIG_OMAP
 
 #include <asm/arch/omap.h>
 
diff --git a/include/spl.h b/include/spl.h
index b40be80..4bc1dd1 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -44,7 +44,6 @@ struct spl_image_info {
 #define SPL_COPY_PAYLOAD_ONLY	1
 
 extern struct spl_image_info spl_image;
-extern u32 *boot_params_ptr;
 
 /* SPL common functions */
 void preloader_console_init(void);
-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
                   ` (3 preceding siblings ...)
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage Sricharan R
@ 2013-04-24 10:41 ` Sricharan R
  2013-05-08 17:56   ` Tom Rini
  2013-05-08  9:20 ` [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
  2013-05-31 14:18 ` Tom Rini
  6 siblings, 1 reply; 15+ messages in thread
From: Sricharan R @ 2013-04-24 10:41 UTC (permalink / raw)
  To: u-boot

The boot parameters passed from SPL to UBOOT
must be saved as a part of uboot's gd data
as early as possible, before we will inadvertently
overwrite it. So adding a arch_cpu_init for the required
Socs to save it.

Signed-off-by: Sricharan R <r.sricharan@ti.com>
---
  [V2] Rebased on mainline.

 arch/arm/cpu/armv7/omap-common/hwinit-common.c |   11 +++++++++++
 include/configs/am335x_evm.h                   |    3 +++
 include/configs/omap4_common.h                 |    4 ++++
 include/configs/omap5_common.h                 |    3 +++
 include/configs/pcm051.h                       |    3 +++
 include/configs/ti814x_evm.h                   |    3 +++
 6 files changed, 27 insertions(+)

diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
index c710784..1645120 100644
--- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c
+++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
@@ -147,6 +147,17 @@ static void save_omap_boot_params(void)
 	}
 }
 
+#ifdef CONFIG_ARCH_CPU_INIT
+/*
+ * SOC specific cpu init
+ */
+int arch_cpu_init(void)
+{
+	save_omap_boot_params();
+	return 0;
+}
+#endif /* CONFIG_ARCH_CPU_INIT */
+
 /*
  * Routine: s_init
  * Description: Does early system init of watchdog, muxing,  andclocks
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index ddfd52e..e5da51c 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -296,6 +296,9 @@
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 110, 300, 600, 1200, 2400, \
 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
 
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 #define CONFIG_ENV_OVERWRITE		1
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
 
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
index 1fd3097..2871d87 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -87,6 +87,10 @@
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_BAUDRATE_TABLE	{4800, 9600, 19200, 38400, 57600,\
 					115200}
+
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 /* I2C  */
 #define CONFIG_HARD_I2C			1
 #define CONFIG_SYS_I2C_SPEED		100000
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h
index c21c387..32c113e 100644
--- a/include/configs/omap5_common.h
+++ b/include/configs/omap5_common.h
@@ -86,6 +86,9 @@
 
 #define CONFIG_BAUDRATE			115200
 
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 /* I2C  */
 #define CONFIG_HARD_I2C
 #define CONFIG_SYS_I2C_SPEED		100000
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index 5e5fab1..9614f70 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -195,6 +195,9 @@
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 110, 300, 600, 1200, 2400, \
 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
 
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
 
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index 68a7307..8ba1e1b 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -163,6 +163,9 @@
 
 #define CONFIG_BAUDRATE			115200
 
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_CONS_INDEX		1
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
-- 
1.7.9.5

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
                   ` (4 preceding siblings ...)
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function Sricharan R
@ 2013-05-08  9:20 ` Sricharan R
  2013-05-08 17:56   ` Tom Rini
  2013-05-31 14:18 ` Tom Rini
  6 siblings, 1 reply; 15+ messages in thread
From: Sricharan R @ 2013-05-08  9:20 UTC (permalink / raw)
  To: u-boot

Tom,

On Wednesday 24 April 2013 04:11 PM, Sricharan R wrote:
> The save_boot_params function does not store the data in a
> always writable area. So the code is broken for a 'XIP' boot.
> This series corrects this by storing it in 'gd' and also
> adds a 'C' equivalent function for the same. The essential cleanups
> for the same are added in this.
>
> Tested this on omap5 uevm board with SD/EMMC boot.
> omap4/5 boards does not have a XIP flash.
> So yet to test XIP with this series.
>
> Also verfied a MAKEALL for armv7.
>
> Sricharan R (5):
>   ARM: OMAP: Make omap_boot_parameters common across socs
>   ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common
>   ARM: OMAP: Correct save_boot_params and replace with 'C' function
>   ARM: OMAP: Cleanup boot parameters usage
>   ARM: OMAP: Add arch_cpu_init function
>
>  arch/arm/cpu/armv7/lowlevel_init.S             |    8 +++-
>  arch/arm/cpu/armv7/omap-common/boot-common.c   |   20 ++------
>  arch/arm/cpu/armv7/omap-common/hwinit-common.c |   61 +++++++++++++++++++++---
>  arch/arm/cpu/armv7/omap-common/lowlevel_init.S |   50 +------------------
>  arch/arm/cpu/armv7/omap4/emif.c                |    4 +-
>  arch/arm/cpu/armv7/omap4/hw_data.c             |    2 +-
>  arch/arm/cpu/armv7/omap4/hwinit.c              |    3 +-
>  arch/arm/cpu/armv7/omap5/emif.c                |    4 +-
>  arch/arm/cpu/armv7/omap5/hw_data.c             |    2 +-
>  arch/arm/cpu/armv7/omap5/hwinit.c              |    3 +-
>  arch/arm/include/asm/arch-am33xx/omap.h        |   25 ----------
>  arch/arm/include/asm/arch-omap4/omap.h         |   36 --------------
>  arch/arm/include/asm/arch-omap4/sys_proto.h    |   11 ++---
>  arch/arm/include/asm/arch-omap5/omap.h         |   36 --------------
>  arch/arm/include/asm/arch-omap5/sys_proto.h    |   12 ++---
>  arch/arm/include/asm/global_data.h             |    8 ++++
>  arch/arm/include/asm/omap_boot.h               |   50 +++++++++++++++++++
>  arch/arm/include/asm/omap_common.h             |   19 ++++++++
>  common/spl/spl.c                               |   12 +++--
>  include/configs/am335x_evm.h                   |    4 ++
>  include/configs/omap4_common.h                 |    4 ++
>  include/configs/omap5_common.h                 |    3 ++
>  include/configs/pcm051.h                       |    4 ++
>  include/configs/ti814x_evm.h                   |    4 ++
>  include/spl.h                                  |    1 -
>  25 files changed, 187 insertions(+), 199 deletions(-)
>  create mode 100644 arch/arm/include/asm/omap_boot.h
>
 Does this look ok, go to get in ?

Regards,
 Sricharan

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

* [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage Sricharan R
@ 2013-05-08 17:56   ` Tom Rini
  0 siblings, 0 replies; 15+ messages in thread
From: Tom Rini @ 2013-05-08 17:56 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 24, 2013 at 04:11:24PM +0530, Sricharan R wrote:

> The boot parameters are read from individual variables
> assigned for each of them. This been corrected and now
> they are stored as a part of the global data 'gd'
> structure. So read them from 'gd' instead.
> 
> Signed-off-by: Sricharan R <r.sricharan@ti.com>

With the following change, applied to u-boot-ti/master, thanks!

diff --git a/include/configs/igep0033.h b/include/configs/igep0033.h
index 50eafdf..14063a8 100644
--- a/include/configs/igep0033.h
+++ b/include/configs/igep0033.h
@@ -15,6 +15,7 @@
 #define __CONFIG_IGEP0033_H
 
 #define CONFIG_AM33XX
+#define CONFIG_OMAP
 
 #include <asm/arch/omap.h>
 
-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130508/abbbb080/attachment.pgp>

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

* [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function
  2013-04-24 10:41 ` [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function Sricharan R
@ 2013-05-08 17:56   ` Tom Rini
  0 siblings, 0 replies; 15+ messages in thread
From: Tom Rini @ 2013-05-08 17:56 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 24, 2013 at 04:11:25PM +0530, Sricharan R wrote:

> The boot parameters passed from SPL to UBOOT
> must be saved as a part of uboot's gd data
> as early as possible, before we will inadvertently
> overwrite it. So adding a arch_cpu_init for the required
> Socs to save it.
> 
> Signed-off-by: Sricharan R <r.sricharan@ti.com>

With the following change, applied to u-boot-ti/master, thanks!

diff --git a/include/configs/igep0033.h b/include/configs/igep0033.h
index 50eafdf..38a2755 100644
--- a/include/configs/igep0033.h
+++ b/include/configs/igep0033.h
@@ -156,6 +156,9 @@
 #define CONFIG_CONS_INDEX		1
 #define CONFIG_BAUDRATE			115200
 
+/* CPU */
+#define CONFIG_ARCH_CPU_INIT
+
 #define CONFIG_ENV_OVERWRITE		1
 #define CONFIG_SYS_CONSOLE_INFO_QUIET
 
-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130508/e8351823/attachment.pgp>

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-05-08  9:20 ` [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
@ 2013-05-08 17:56   ` Tom Rini
  2013-05-09  6:04     ` Sricharan R
  0 siblings, 1 reply; 15+ messages in thread
From: Tom Rini @ 2013-05-08 17:56 UTC (permalink / raw)
  To: u-boot

On Wed, May 08, 2013 at 02:50:14PM +0530, Sricharan R wrote:
> Tom,
> 
> On Wednesday 24 April 2013 04:11 PM, Sricharan R wrote:
> > The save_boot_params function does not store the data in a
> > always writable area. So the code is broken for a 'XIP' boot.
> > This series corrects this by storing it in 'gd' and also
> > adds a 'C' equivalent function for the same. The essential cleanups
> > for the same are added in this.
> >
> > Tested this on omap5 uevm board with SD/EMMC boot.
> > omap4/5 boards does not have a XIP flash.
> > So yet to test XIP with this series.
> >
> > Also verfied a MAKEALL for armv7.
> >
> > Sricharan R (5):
> >   ARM: OMAP: Make omap_boot_parameters common across socs
> >   ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common
> >   ARM: OMAP: Correct save_boot_params and replace with 'C' function
> >   ARM: OMAP: Cleanup boot parameters usage
> >   ARM: OMAP: Add arch_cpu_init function
> >
> >  arch/arm/cpu/armv7/lowlevel_init.S             |    8 +++-
> >  arch/arm/cpu/armv7/omap-common/boot-common.c   |   20 ++------
> >  arch/arm/cpu/armv7/omap-common/hwinit-common.c |   61 +++++++++++++++++++++---
> >  arch/arm/cpu/armv7/omap-common/lowlevel_init.S |   50 +------------------
> >  arch/arm/cpu/armv7/omap4/emif.c                |    4 +-
> >  arch/arm/cpu/armv7/omap4/hw_data.c             |    2 +-
> >  arch/arm/cpu/armv7/omap4/hwinit.c              |    3 +-
> >  arch/arm/cpu/armv7/omap5/emif.c                |    4 +-
> >  arch/arm/cpu/armv7/omap5/hw_data.c             |    2 +-
> >  arch/arm/cpu/armv7/omap5/hwinit.c              |    3 +-
> >  arch/arm/include/asm/arch-am33xx/omap.h        |   25 ----------
> >  arch/arm/include/asm/arch-omap4/omap.h         |   36 --------------
> >  arch/arm/include/asm/arch-omap4/sys_proto.h    |   11 ++---
> >  arch/arm/include/asm/arch-omap5/omap.h         |   36 --------------
> >  arch/arm/include/asm/arch-omap5/sys_proto.h    |   12 ++---
> >  arch/arm/include/asm/global_data.h             |    8 ++++
> >  arch/arm/include/asm/omap_boot.h               |   50 +++++++++++++++++++
> >  arch/arm/include/asm/omap_common.h             |   19 ++++++++
> >  common/spl/spl.c                               |   12 +++--
> >  include/configs/am335x_evm.h                   |    4 ++
> >  include/configs/omap4_common.h                 |    4 ++
> >  include/configs/omap5_common.h                 |    3 ++
> >  include/configs/pcm051.h                       |    4 ++
> >  include/configs/ti814x_evm.h                   |    4 ++
> >  include/spl.h                                  |    1 -
> >  25 files changed, 187 insertions(+), 199 deletions(-)
> >  create mode 100644 arch/arm/include/asm/omap_boot.h
> >
>  Does this look ok, go to get in ?

With the posted changes to 4 and 5 (for platforms that are new to
u-boot-ti/master), applied, thanks for the reminder!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130508/27ddc35e/attachment.pgp>

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-05-08 17:56   ` Tom Rini
@ 2013-05-09  6:04     ` Sricharan R
  0 siblings, 0 replies; 15+ messages in thread
From: Sricharan R @ 2013-05-09  6:04 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On Wednesday 08 May 2013 11:26 PM, Tom Rini wrote:
> On Wed, May 08, 2013 at 02:50:14PM +0530, Sricharan R wrote:
>> Tom,
>>
>> On Wednesday 24 April 2013 04:11 PM, Sricharan R wrote:
>>> The save_boot_params function does not store the data in a
>>> always writable area. So the code is broken for a 'XIP' boot.
>>> This series corrects this by storing it in 'gd' and also
>>> adds a 'C' equivalent function for the same. The essential cleanups
>>> for the same are added in this.
>>>
>>> Tested this on omap5 uevm board with SD/EMMC boot.
>>> omap4/5 boards does not have a XIP flash.
>>> So yet to test XIP with this series.
>>>
>>> Also verfied a MAKEALL for armv7.
>>>
>>> Sricharan R (5):
>>>   ARM: OMAP: Make omap_boot_parameters common across socs
>>>   ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common
>>>   ARM: OMAP: Correct save_boot_params and replace with 'C' function
>>>   ARM: OMAP: Cleanup boot parameters usage
>>>   ARM: OMAP: Add arch_cpu_init function
>>>
>>>  arch/arm/cpu/armv7/lowlevel_init.S             |    8 +++-
>>>  arch/arm/cpu/armv7/omap-common/boot-common.c   |   20 ++------
>>>  arch/arm/cpu/armv7/omap-common/hwinit-common.c |   61 +++++++++++++++++++++---
>>>  arch/arm/cpu/armv7/omap-common/lowlevel_init.S |   50 +------------------
>>>  arch/arm/cpu/armv7/omap4/emif.c                |    4 +-
>>>  arch/arm/cpu/armv7/omap4/hw_data.c             |    2 +-
>>>  arch/arm/cpu/armv7/omap4/hwinit.c              |    3 +-
>>>  arch/arm/cpu/armv7/omap5/emif.c                |    4 +-
>>>  arch/arm/cpu/armv7/omap5/hw_data.c             |    2 +-
>>>  arch/arm/cpu/armv7/omap5/hwinit.c              |    3 +-
>>>  arch/arm/include/asm/arch-am33xx/omap.h        |   25 ----------
>>>  arch/arm/include/asm/arch-omap4/omap.h         |   36 --------------
>>>  arch/arm/include/asm/arch-omap4/sys_proto.h    |   11 ++---
>>>  arch/arm/include/asm/arch-omap5/omap.h         |   36 --------------
>>>  arch/arm/include/asm/arch-omap5/sys_proto.h    |   12 ++---
>>>  arch/arm/include/asm/global_data.h             |    8 ++++
>>>  arch/arm/include/asm/omap_boot.h               |   50 +++++++++++++++++++
>>>  arch/arm/include/asm/omap_common.h             |   19 ++++++++
>>>  common/spl/spl.c                               |   12 +++--
>>>  include/configs/am335x_evm.h                   |    4 ++
>>>  include/configs/omap4_common.h                 |    4 ++
>>>  include/configs/omap5_common.h                 |    3 ++
>>>  include/configs/pcm051.h                       |    4 ++
>>>  include/configs/ti814x_evm.h                   |    4 ++
>>>  include/spl.h                                  |    1 -
>>>  25 files changed, 187 insertions(+), 199 deletions(-)
>>>  create mode 100644 arch/arm/include/asm/omap_boot.h
>>>
>>  Does this look ok, go to get in ?
> With the posted changes to 4 and 5 (for platforms that are new to
> u-boot-ti/master), applied, thanks for the reminder!
>
  Thanks for it !!

Regards,
 Sricharan

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
                   ` (5 preceding siblings ...)
  2013-05-08  9:20 ` [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
@ 2013-05-31 14:18 ` Tom Rini
  2013-05-31 14:22   ` Tom Rini
  6 siblings, 1 reply; 15+ messages in thread
From: Tom Rini @ 2013-05-31 14:18 UTC (permalink / raw)
  To: u-boot

On Wed, Apr 24, 2013 at 04:11:20PM +0530, Sricharan R wrote:

> The save_boot_params function does not store the data in a
> always writable area. So the code is broken for a 'XIP' boot.
> This series corrects this by storing it in 'gd' and also
> adds a 'C' equivalent function for the same. The essential cleanups
> for the same are added in this.
> 
> Tested this on omap5 uevm board with SD/EMMC boot.
> omap4/5 boards does not have a XIP flash.
> So yet to test XIP with this series.
> 
> Also verfied a MAKEALL for armv7.

OK, do you have a beaglebone or am335x_evm around?  This switch up
breaks them, and I'm not sure what's going on.  Part of the issue is
that the NON_SECURE_SRAM_START/END weren't quite right, but they weren't
so wrong as to be a problem (END wasn't quite the end, and start was in
the middle of our image, but we didn't reference it).  I'm going to keep
poking at this as well.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130531/ecae476c/attachment.pgp>

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-05-31 14:18 ` Tom Rini
@ 2013-05-31 14:22   ` Tom Rini
  2013-06-03  6:09     ` Sricharan R
  0 siblings, 1 reply; 15+ messages in thread
From: Tom Rini @ 2013-05-31 14:22 UTC (permalink / raw)
  To: u-boot

On Fri, May 31, 2013 at 10:18:46AM -0400, Tom Rini wrote:
> On Wed, Apr 24, 2013 at 04:11:20PM +0530, Sricharan R wrote:
> 
> > The save_boot_params function does not store the data in a
> > always writable area. So the code is broken for a 'XIP' boot.
> > This series corrects this by storing it in 'gd' and also
> > adds a 'C' equivalent function for the same. The essential cleanups
> > for the same are added in this.
> > 
> > Tested this on omap5 uevm board with SD/EMMC boot.
> > omap4/5 boards does not have a XIP flash.
> > So yet to test XIP with this series.
> > 
> > Also verfied a MAKEALL for armv7.
> 
> OK, do you have a beaglebone or am335x_evm around?  This switch up
> breaks them, and I'm not sure what's going on.  Part of the issue is
> that the NON_SECURE_SRAM_START/END weren't quite right, but they weren't
> so wrong as to be a problem (END wasn't quite the end, and start was in
> the middle of our image, but we didn't reference it).  I'm going to keep
> poking at this as well.  Thanks!

Answered my own question now, am33xx (andti81xx) doesn't opt-in for
omap-common/hwinit-common.c

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130531/512d60dd/attachment.pgp>

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-05-31 14:22   ` Tom Rini
@ 2013-06-03  6:09     ` Sricharan R
  2013-06-03  7:26       ` Sricharan R
  0 siblings, 1 reply; 15+ messages in thread
From: Sricharan R @ 2013-06-03  6:09 UTC (permalink / raw)
  To: u-boot

Hi Tom,

On Friday 31 May 2013 07:52 PM, Tom Rini wrote:
> On Fri, May 31, 2013 at 10:18:46AM -0400, Tom Rini wrote:
>> On Wed, Apr 24, 2013 at 04:11:20PM +0530, Sricharan R wrote:
>>
>>> The save_boot_params function does not store the data in a
>>> always writable area. So the code is broken for a 'XIP' boot.
>>> This series corrects this by storing it in 'gd' and also
>>> adds a 'C' equivalent function for the same. The essential cleanups
>>> for the same are added in this.
>>>
>>> Tested this on omap5 uevm board with SD/EMMC boot.
>>> omap4/5 boards does not have a XIP flash.
>>> So yet to test XIP with this series.
>>>
>>> Also verfied a MAKEALL for armv7.
>> OK, do you have a beaglebone or am335x_evm around?  This switch up
>> breaks them, and I'm not sure what's going on.  Part of the issue is
>> that the NON_SECURE_SRAM_START/END weren't quite right, but they weren't
>> so wrong as to be a problem (END wasn't quite the end, and start was in
>> the middle of our image, but we didn't reference it).  I'm going to keep
>> poking at this as well.  Thanks!
> Answered my own question now, am33xx (andti81xx) doesn't opt-in for
> omap-common/hwinit-common.c
>
 Ok, Thanks for the pointer. So i will add this in the series.
 and boot test once on am33xx

Regards,
 Sricharan

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

* [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function
  2013-06-03  6:09     ` Sricharan R
@ 2013-06-03  7:26       ` Sricharan R
  0 siblings, 0 replies; 15+ messages in thread
From: Sricharan R @ 2013-06-03  7:26 UTC (permalink / raw)
  To: u-boot

On Monday 03 June 2013 11:39 AM, Sricharan R wrote:
> Hi Tom,
>
> On Friday 31 May 2013 07:52 PM, Tom Rini wrote:
>> On Fri, May 31, 2013 at 10:18:46AM -0400, Tom Rini wrote:
>>> On Wed, Apr 24, 2013 at 04:11:20PM +0530, Sricharan R wrote:
>>>
>>>> The save_boot_params function does not store the data in a
>>>> always writable area. So the code is broken for a 'XIP' boot.
>>>> This series corrects this by storing it in 'gd' and also
>>>> adds a 'C' equivalent function for the same. The essential cleanups
>>>> for the same are added in this.
>>>>
>>>> Tested this on omap5 uevm board with SD/EMMC boot.
>>>> omap4/5 boards does not have a XIP flash.
>>>> So yet to test XIP with this series.
>>>>
>>>> Also verfied a MAKEALL for armv7.
>>> OK, do you have a beaglebone or am335x_evm around?  This switch up
>>> breaks them, and I'm not sure what's going on.  Part of the issue is
>>> that the NON_SECURE_SRAM_START/END weren't quite right, but they weren't
>>> so wrong as to be a problem (END wasn't quite the end, and start was in
>>> the middle of our image, but we didn't reference it).  I'm going to keep
>>> poking at this as well.  Thanks!
>> Answered my own question now, am33xx (andti81xx) doesn't opt-in for
>> omap-common/hwinit-common.c
>>
>  Ok, Thanks for the pointer. So i will add this in the series.
>  and boot test once on am33xx
 Ok, you have already addressed this . Thanks a lot..

Regards,
 Sricharan

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

end of thread, other threads:[~2013-06-03  7:26 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-24 10:41 [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
2013-04-24 10:41 ` [U-Boot] [PATCH V2 1/5] ARM: OMAP: Make omap_boot_parameters common across socs Sricharan R
2013-04-24 10:41 ` [U-Boot] [PATCH V2 2/5] ARM: OMAP4/5: Make OMAPx_SRAM_SCRATCH_ defines common Sricharan R
2013-04-24 10:41 ` [U-Boot] [PATCH V2 3/5] ARM: OMAP: Correct save_boot_params and replace with 'C' function Sricharan R
2013-04-24 10:41 ` [U-Boot] [PATCH V2 4/5] ARM: OMAP: Cleanup boot parameters usage Sricharan R
2013-05-08 17:56   ` Tom Rini
2013-04-24 10:41 ` [U-Boot] [PATCH V2 5/5] ARM: OMAP: Add arch_cpu_init function Sricharan R
2013-05-08 17:56   ` Tom Rini
2013-05-08  9:20 ` [U-Boot] [PATCH V2 0/5] ARM: OMAP: Cleanup save_boot_params function Sricharan R
2013-05-08 17:56   ` Tom Rini
2013-05-09  6:04     ` Sricharan R
2013-05-31 14:18 ` Tom Rini
2013-05-31 14:22   ` Tom Rini
2013-06-03  6:09     ` Sricharan R
2013-06-03  7:26       ` Sricharan R

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox