* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
@ 2011-06-04 22:18 Felix Radensky
2011-06-04 23:24 ` Fabio Estevam
0 siblings, 1 reply; 8+ messages in thread
From: Felix Radensky @ 2011-06-04 22:18 UTC (permalink / raw)
To: u-boot
Hi Fabio,
On 01/-10/-28163 09:59 PM, wrote:
> Signed-off-by: Fabio Estevam fabio.estevam at freescale.com
> ---
> Changes since v2:
> - Use PHYS_SDRAM_1 in get_ram_size
> - Remove local config.mk
>
> Changes since v1:
>
> - Fixed lines over 80 characters.
>
> Build tested only.
>
> Do not have the hardware handy to test.
>
I've tested your patch on mx31ads. Unfortunately it bricks the board.
There are no messages on console. The latest u-boot version that
works on this board is 2010.09. I've compiled u-boot using ELDK-4.2.
If you have any ideas, I'm ready to test your patches.
Felix.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-04 22:18 [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme Felix Radensky
@ 2011-06-04 23:24 ` Fabio Estevam
2011-06-05 7:28 ` Felix Radensky
0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2011-06-04 23:24 UTC (permalink / raw)
To: u-boot
Hi Felix,
On Sat, Jun 4, 2011 at 7:18 PM, Felix Radensky <felix@embedded-sol.com> wrote:
...
> I've tested your patch on mx31ads. Unfortunately it bricks the board.
> There are no messages on console. The latest u-boot version that
> works on this board is 2010.09. I've compiled u-boot using ELDK-4.2.
Thanks for testing it.
> If you have any ideas, I'm ready to test your patches.
Could you please try to use change to CONFIG_SYS_TEXT_BASE = 0xa0000000
in board/freescale/mx31ads/config.mk ?
Thanks,
Fabio Estevam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-04 23:24 ` Fabio Estevam
@ 2011-06-05 7:28 ` Felix Radensky
2011-06-05 14:47 ` Fabio Estevam
2011-06-12 21:58 ` Fabio Estevam
0 siblings, 2 replies; 8+ messages in thread
From: Felix Radensky @ 2011-06-05 7:28 UTC (permalink / raw)
To: u-boot
Hi Fabio,
On 06/05/2011 02:24 AM, Fabio Estevam wrote:
> Hi Felix,
>
> On Sat, Jun 4, 2011 at 7:18 PM, Felix Radensky<felix@embedded-sol.com> wrote:
> ...
>> I've tested your patch on mx31ads. Unfortunately it bricks the board.
>> There are no messages on console. The latest u-boot version that
>> works on this board is 2010.09. I've compiled u-boot using ELDK-4.2.
> Thanks for testing it.
>
>> If you have any ideas, I'm ready to test your patches.
> Could you please try to use change to CONFIG_SYS_TEXT_BASE = 0xa0000000
>
> in board/freescale/mx31ads/config.mk ?
>
> Thanks,
>
> Fabio Estevam
Setting CONFIG_SYS_TEXT_BASE to 0xa0000000 in mx31ads.h
fixes the problem.
You can add
Tested-by: Felix Radensky felix at embedded-sol.com
Unrelated to your patch, u-boot prints
CPU: Freescale i.MX31 rev 2.0 unknown at 531 MHz.Reset cause: WDOG
Do you think "unknown" can be replaced by something more meaningful ?
Also, environment settings are completely broken, environment address
clashes with u-boot address. I'll submit a patch to fix that after
your patch
goes in.
Thanks for your efforts to keep this board support alive.
Felix.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-05 7:28 ` Felix Radensky
@ 2011-06-05 14:47 ` Fabio Estevam
2011-06-12 21:58 ` Fabio Estevam
1 sibling, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2011-06-05 14:47 UTC (permalink / raw)
To: u-boot
Hi Felix,
On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <felix@embedded-sol.com> wrote:
...
> Setting CONFIG_SYS_TEXT_BASE to 0xa0000000 in mx31ads.h
> fixes the problem.
Excellent!
> You can add
>
> Tested-by: Felix Radensky felix at embedded-sol.com
Ok, I will send v4 of this patch tomorrow and will add your Tested-by line then.
> Unrelated to your patch, u-boot prints
>
> CPU: ? Freescale i.MX31 rev 2.0 unknown at 531 MHz.Reset cause: WDOG
>
> Do you think "unknown" can be replaced by something more meaningful ?
Yes, I agree. This is common MX31 code and I will take a look at fixing it.
> Also, environment settings are completely broken, environment address
> clashes with u-boot address. I'll submit a patch to fix that after your
> patch
> goes in.
Sounds like a good plan.
> Thanks for your efforts to keep this board support alive.
and thankyou for testing it :-)
Regards,
Fabio Estevam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-05 7:28 ` Felix Radensky
2011-06-05 14:47 ` Fabio Estevam
@ 2011-06-12 21:58 ` Fabio Estevam
2011-06-12 22:31 ` Fabio Estevam
1 sibling, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2011-06-12 21:58 UTC (permalink / raw)
To: u-boot
Hi Felix,
On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <felix@embedded-sol.com> wrote:
...
> Unrelated to your patch, u-boot prints
>
> CPU: ? Freescale i.MX31 rev 2.0 unknown at 531 MHz.Reset cause: WDOG
>
> Do you think "unknown" can be replaced by something more meaningful ?
I don't see the "unknown" string on my MX31PDK board.
Can you try the patch below and let me know if it gets rid of it?
diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/gen
index 4ebf38d..f0cfa8a 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -129,8 +129,9 @@ u32 get_cpu_rev(void)
for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++)
if (srev == mx31_cpu_type[i].srev)
return mx31_cpu_type[i].v;
+ srev|= 0x8000;
- return srev | 0x8000;
+ return srev;
}
Regards,
Fabio Estevam
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-12 21:58 ` Fabio Estevam
@ 2011-06-12 22:31 ` Fabio Estevam
2011-06-13 4:34 ` Felix Radensky
0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2011-06-12 22:31 UTC (permalink / raw)
To: u-boot
On Sun, Jun 12, 2011 at 6:58 PM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Felix,
>
> On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <felix@embedded-sol.com> wrote:
> ...
>> Unrelated to your patch, u-boot prints
>>
>> CPU: ? Freescale i.MX31 rev 2.0 unknown at 531 MHz.Reset cause: WDOG
>>
>> Do you think "unknown" can be replaced by something more meaningful ?
>
> I don't see the "unknown" string on my MX31PDK board.
>
> Can you try the patch below and let me know if it gets rid of it?
>
> diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/gen
> index 4ebf38d..f0cfa8a 100644
> --- a/arch/arm/cpu/arm1136/mx31/generic.c
> +++ b/arch/arm/cpu/arm1136/mx31/generic.c
> @@ -129,8 +129,9 @@ u32 get_cpu_rev(void)
> ? ? ? ?for (i = 0; i < ARRAY_SIZE(mx31_cpu_type); i++)
> ? ? ? ? ? ? ? ?if (srev == mx31_cpu_type[i].srev)
> ? ? ? ? ? ? ? ? ? ? ? ?return mx31_cpu_type[i].v;
> + ? ? ? srev|= 0x8000;
>
> - ? ? ? return srev | 0x8000;
> + ? ? ? return srev;
> ?}
Please ignore my last message. I think you could try:
diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/gen
index 4ebf38d..36ceb02 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -159,6 +159,7 @@ static char *get_reset_cause(void)
int print_cpuinfo (void)
{
u32 srev = get_cpu_rev();
+ printf ("srev = %08x\n", srev);
printf("CPU: Freescale i.MX31 rev %d.%d%s at %d MHz.",
(srev & 0xF0) >> 4, (srev & 0x0F),
Then please let us know what srev prints on the console.
Regards,
Fabio Estevam
^ permalink raw reply related [flat|nested] 8+ messages in thread* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
2011-06-12 22:31 ` Fabio Estevam
@ 2011-06-13 4:34 ` Felix Radensky
0 siblings, 0 replies; 8+ messages in thread
From: Felix Radensky @ 2011-06-13 4:34 UTC (permalink / raw)
To: u-boot
Hi Fabio,
On 06/13/2011 01:31 AM, Fabio Estevam wrote:
>
> Please ignore my last message. I think you could try:
>
> diff --git a/arch/arm/cpu/arm1136/mx31/generic.c b/arch/arm/cpu/arm1136/mx31/gen
> index 4ebf38d..36ceb02 100644
> --- a/arch/arm/cpu/arm1136/mx31/generic.c
> +++ b/arch/arm/cpu/arm1136/mx31/generic.c
> @@ -159,6 +159,7 @@ static char *get_reset_cause(void)
> int print_cpuinfo (void)
> {
> u32 srev = get_cpu_rev();
> + printf ("srev = %08x\n", srev);
>
> printf("CPU: Freescale i.MX31 rev %d.%d%s at %d MHz.",
> (srev& 0xF0)>> 4, (srev& 0x0F),
>
> Then please let us know what srev prints on the console.
>
I get
srev = 00008020
Felix.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme
@ 2011-06-02 19:26 Fabio Estevam
0 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2011-06-02 19:26 UTC (permalink / raw)
To: u-boot
This fixes the MX31ADS build by using the new relocation scheme.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v2:
- Use PHYS_SDRAM_1 in get_ram_size
- Remove local config.mk
Changes since v1:
- Fixed lines over 80 characters.
Build tested only.
Do not have the hardware handy to test.
board/freescale/mx31ads/config.mk | 1 -
board/freescale/mx31ads/mx31ads.c | 19 ++++++++++++---
board/freescale/mx31ads/u-boot.lds | 42 ++++++++++++++++++++++++++++-------
include/configs/mx31ads.h | 11 +++++++++
4 files changed, 59 insertions(+), 14 deletions(-)
delete mode 100644 board/freescale/mx31ads/config.mk
diff --git a/board/freescale/mx31ads/config.mk b/board/freescale/mx31ads/config.mk
deleted file mode 100644
index 0131edf..0000000
--- a/board/freescale/mx31ads/config.mk
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SYS_TEXT_BASE = 0x87f00000
diff --git a/board/freescale/mx31ads/mx31ads.c b/board/freescale/mx31ads/mx31ads.c
index a298e05..9bf9c18 100644
--- a/board/freescale/mx31ads/mx31ads.c
+++ b/board/freescale/mx31ads/mx31ads.c
@@ -28,15 +28,21 @@
DECLARE_GLOBAL_DATA_PTR;
-int dram_init (void)
+int dram_init(void)
+{
+ /* dram_init must store complete ramsize in gd->ram_size */
+ gd->ram_size = get_ram_size((volatile void *)PHYS_SDRAM_1,
+ PHYS_SDRAM_1_SIZE);
+ return 0;
+}
+
+void dram_init_banksize(void)
{
gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
-
- return 0;
}
-int board_init (void)
+int board_early_init_f(void)
{
int i;
@@ -94,6 +100,11 @@ int board_init (void)
readb(CS4_BASE + 8);
readb(CS4_BASE + 7);
+ return 0;
+}
+
+int board_init(void)
+{
gd->bd->bi_arch_number = MACH_TYPE_MX31ADS; /* board id for linux */
gd->bd->bi_boot_params = 0x80000100; /* adress of boot parameters */
diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds
index b081b21..79eb7ac 100644
--- a/board/freescale/mx31ads/u-boot.lds
+++ b/board/freescale/mx31ads/u-boot.lds
@@ -48,23 +48,47 @@ SECTIONS
*(.text)
}
-
. = ALIGN(4);
- .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+ .rodata : { *(.rodata) }
. = ALIGN(4);
- .data : { *(.data) }
+ .data : {
+ *(.data)
+ }
. = ALIGN(4);
- .got : { *(.got) }
-
- . = .;
__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;
. = ALIGN(4);
- __bss_start = .;
- .bss : { *(.bss) . = ALIGN(4); }
- __bss_end__ = .;
+
+ .rel.dyn : {
+ __rel_dyn_start = .;
+ *(.rel*)
+ __rel_dyn_end = .;
+ }
+
+ .dynsym : {
+ __dynsym_start = .;
+ *(.dynsym)
+ }
+
+ _end = .;
+
+ .bss __rel_dyn_start (OVERLAY) : {
+ __bss_start = .;
+ *(.bss)
+ . = ALIGN(4);
+ __bss_end__ = .;
+ }
+
+ /DISCARD/ : { *(.bss*) }
+ /DISCARD/ : { *(.dynstr*) }
+ /DISCARD/ : { *(.dynsym*) }
+ /DISCARD/ : { *(.dynamic*) }
+ /DISCARD/ : { *(.hash*) }
+ /DISCARD/ : { *(.plt*) }
+ /DISCARD/ : { *(.interp*) }
+ /DISCARD/ : { *(.gnu*) }
}
diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h
index 5ea59b4..f8be3e9 100644
--- a/include/configs/mx31ads.h
+++ b/include/configs/mx31ads.h
@@ -33,6 +33,8 @@
#define CONFIG_DISPLAY_CPUINFO
#define CONFIG_DISPLAY_BOARDINFO
+#define CONFIG_SYS_TEXT_BASE 0x87f00000
+
/*
* Disabled for now due to build problems under Debian and a significant increase
* in the final file size: 144260 vs. 109536 Bytes.
@@ -160,6 +162,15 @@
#define CONFIG_NR_DRAM_BANKS 1
#define PHYS_SDRAM_1 CSD0_BASE
#define PHYS_SDRAM_1_SIZE (128 * 1024 * 1024)
+#define CONFIG_BOARD_EARLY_INIT_F
+
+#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
+#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
+#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - \
+ GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
+ CONFIG_SYS_GBL_DATA_OFFSET)
/*-----------------------------------------------------------------------
* FLASH and environment organization
--
1.6.0.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-06-13 4:34 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-04 22:18 [U-Boot] [PATCH v3] mx31ads: Use the new relocation scheme Felix Radensky
2011-06-04 23:24 ` Fabio Estevam
2011-06-05 7:28 ` Felix Radensky
2011-06-05 14:47 ` Fabio Estevam
2011-06-12 21:58 ` Fabio Estevam
2011-06-12 22:31 ` Fabio Estevam
2011-06-13 4:34 ` Felix Radensky
-- strict thread matches above, loose matches on Subject: below --
2011-06-02 19:26 Fabio Estevam
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox