Skip to contentSkip to conversation

mx31ads: Use the new relocation scheme

PATCH Superseded Felix Radensky 2 participants 7 messages Jun 4, 2011 – Jun 13, 2011 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Hi Fabio,

Quoted 6 lines · 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

Quoted 8 lines

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.

#1 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Hi Felix,

On Sat, Jun 4, 2011 at 7:18 PM, Felix Radensky <[email protected]> wrote:
...

Quoted 3 lines

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.

Quoted 1 line

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

#2 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Hi Fabio,

Quoted 9 lines · Fabio Estevam

Hi Felix,

On Sat, Jun 4, 2011 at 7:18 PM, Felix Radensky<[email protected]> wrote:
...

Quoted 3 lines

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.

Quoted 8 lines
Quoted 1 line

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.

#3 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Hi Felix,

On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <[email protected]> wrote:
...

Quoted 2 lines

Setting CONFIG_SYS_TEXT_BASE to 0xa0000000 in mx31ads.h fixes the problem.

Excellent!

Quoted 3 lines

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.

Quoted 5 lines

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.

Quoted 4 lines

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.

Quoted 1 line

Thanks for your efforts to keep this board support alive.

and thankyou for testing it :-)

Regards,

Fabio Estevam

#4 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

In reply to Felix Radensky

Hi Felix,

On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <[email protected]> wrote:
...

Quoted 5 lines

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?

arch/arm/cpu/arm1136/mx31/generic.c +2 -1
index 4ebf38d..f0cfa8a 100644
@@ -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

#5 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Quoted 19 lines · Fabio Estevam

Hi Felix,

On Sun, Jun 5, 2011 at 4:28 AM, Felix Radensky <[email protected]> wrote:
...

Quoted 5 lines

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?

arch/arm/cpu/arm1136/mx31/generic.c +0 -0
index 4ebf38d..f0cfa8a 100644

arch/arm/cpu/arm1136/mx31/generic.c u32 get_cpu_rev(void) · line 135

Quoted 8 lines
arch/arm/cpu/arm1136/mx31/generic.c +2 -1
@@ -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:

arch/arm/cpu/arm1136/mx31/generic.c +1 -0
index 4ebf38d..36ceb02 100644
@@ -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

#6 lore raw

PATCH v3 1/1 mx31ads: Use the new relocation scheme

Hi Fabio,

Quoted 16 lines · Fabio Estevam

Please ignore my last message. I think you could try:

arch/arm/cpu/arm1136/mx31/generic.c +1 -0
index 4ebf38d..36ceb02 100644
@@ -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),
Quoted 2 lines

Then please let us know what srev prints on the console.

I get

srev = 00008020

Felix.