Skip to contentSkip to conversation

Moving custom board imx6q from u-boot-imx 2014.04 to 2015.04 lead to freeze

U-Boot Roberto Fichera 2 participants 5 messages Feb 10, 2016 – Feb 11, 2016 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

Hi All,

After upgrading my u-boot-imx v2014.04 to v2015.04 I was not able to boot anymore my custom iMX6Q board. Everything seems stopping after relocation.

Last executed initcall is the setup_reloc(), and the board_init_f() will finish correctly. It seems that it's freezing somewhere within arch/arm/lib/crt0.S after calling the board_init_f().

Does anyone can suggest where to look better?

Thanks in advance,
Roberto Fichera.

initcall: 1782e45c

U-Boot 2015.04-imx_v2015.04_3.14.38_6qp_ga+gf80d628 (Feb 10 2016 - 12:09:32)

initcall: 17806230
U-Boot code: 17800000 -> 17846BB0 BSS: -> 17881394
initcall: 17801d5c
CPU: Freescale i.MX6Q rev1.5 at 792 MHz
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 -1
- not found

CPU:   Temperature 43 C
Reset cause: POR
initcall: 17806700
Board: Janas iMX6Q (ID:e315c0641d0f31d4)
initcall: 17806274
I2C:   ready
initcall: 1780625c
DRAM:  initcall: 178033b0
initcall: 17806464
Monitor len: 00081394
Ram size: 80000000
Ram top: 90000000
initcall: 17805ff0
initcall: 178061d8

TLB table from 8fff0000 to 8fff4000
initcall: 17806388
initcall: 1780618c
Reserving 516k for U-Boot at: 8ff6e000
initcall: 1780615c
Reserving 16392k for malloc() at: 8ef6c000
initcall: 1780632c
Reserving 80 Bytes for Board Info at: 8ef6bfb0
initcall: 17806008
initcall: 17806128
Reserving 248 Bytes for Global Data at: 8ef6beb8
initcall: 178060bc
initcall: 17806010
initcall: 178064d0
initcall: 17806440
initcall: 1780639c

RAM Configuration:
Bank #0: 10000000 2 GiB

DRAM: 2 GiB
initcall: 178060a0
New Stack Pointer is: 8ef6be90
initcall: 17806018
initcall: 17806050 <--- setup_reloc() Relocation Offset is: 7876e000
Relocating to 8ff6e000, new gd at 8ef6beb8, sp@8ef6be90

#1 lore raw
Quoted 3 lines · Roberto Fichera

Hi All,

After upgrading my u-boot-imx v2014.04 to v2015.04 I was not able to boot anymore my custom iMX6Q

Why don't you try 2016.01 instead?

#2 lore raw

On 02/10/2016 07:59 PM, Fabio Estevam wrote:

Hi Fabio,

Quoted 5 lines · Roberto Fichera
Quoted 3 lines

Hi All,

After upgrading my u-boot-imx v2014.04 to v2015.04 I was not able to boot anymore my custom iMX6Q

Why don't you try 2016.01 instead?

Ok! Will do! However I've found that with this patch below it boots pretty fine! Do you know why?

arch/arm/lib/crt0.S +1 -1
index 92d3732..f87acb6 100644
@@ -108,7 +108,7 @@ here:
  * now relocate vectors
  */
 
-    bl    relocate_vectors
+    /* bl    relocate_vectors */
 
 /* Set up final (full) environment */
#4 lore raw
In reply to Fabio Estevam
Quoted 6 lines · Fabio Estevam
Quoted 3 lines · Roberto Fichera

Hi All,

After upgrading my u-boot-imx v2014.04 to v2015.04 I was not able to boot anymore my custom iMX6Q

Why don't you try 2016.01 instead?

It has the same problem, below standard boot without apply any changes:

U-Boot 2016.01-v2016.01+gfa85e82 (Feb 11 2016 - 10:05:36 +0100)

CPU:   Freescale i.MX6Q rev1.5 at 792 MHz
Reset cause: POR
Board: Janas iMX6Q (ID:e315c0641d0f31d4)
I2C:   Error, wrong i2c adapter 0 max 0 possible

Error, wrong i2c adapter 0 max 0 possible
ready
DRAM: 2 GiB
<...freeze...>

Apply similar patch for v2015.04

arch/arm/lib/crt0.S +1 -1
index 92d3732..f87acb6 100644
@@ -108,7 +108,7 @@ here:
  * now relocate vectors
  */
 
-    bl    relocate_vectors
+    /* bl    relocate_vectors */
 
 /* Set up final (full) environment */
 

still need to fix some voltages and ldo bypass but at least boot

U-Boot 2016.01-v2016.01+gfa85e82 (Feb 11 2016 - 10:38:05 +0100)

CPU:   Freescale i.MX6Q rev1.5 at 792 MHz
Reset cause: POR
Board: Janas iMX6Q (ID:e315c0641d0f31d4)
I2C:   ready
DRAM:  2 GiB
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 0, FSL_SDHC: 1

Card did not respond to voltage select!
*** Warning - MMC init failed, using default environment

PCI:   pcie phy link never came up
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   FEC [PRIME]
Error: FEC address not set.

Hit any key to stop autoboot: 0
=>

#3 lore raw
In reply to Roberto Fichera
Quoted 7 lines · Roberto Fichera

Ok! Will do! However I've found that with this patch below it boots pretty fine! Do you know why?

arch/arm/lib/crt0.S +0 -0
index 92d3732..f87acb6 100644

arch/arm/lib/crt0.S here: · line 114

Quoted 8 lines
arch/arm/lib/crt0.S +1 -1
@@ -108,7 +108,7 @@ here:
  * now relocate vectors
  */
 
-    bl    relocate_vectors
+    /* bl    relocate_vectors */
 
 /* Set up final (full) environment */
 

I am not sure why removing this line fixes the boot for you.

This line has been added by commit:

commit db544b9662622826b8482c126c116ec366fcd58c

Author: Albert ARIBAUD <[email protected]>
Date:   Thu Nov 13 17:59:15 2014 +0100

imx: fix exception vectors relocation in imx27

Adding Albert on Cc in case he has any ideas as to why this would impact mx6 to boot.