[U-Boot] Moving custom board imx6q from u-boot-imx 2014.04 to 2015.04 lead to freeze

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 at 8ef6be90

On Wed, Feb 10, 2016 at 9:47 AM, Roberto Fichera kernel@tekno-soft.it wrote:
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?

On 02/10/2016 07:59 PM, Fabio Estevam wrote:
Hi Fabio,
On Wed, Feb 10, 2016 at 9:47 AM, Roberto Fichera kernel@tekno-soft.it wrote:
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?
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 92d3732..f87acb6 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -108,7 +108,7 @@ here: * now relocate vectors */
- bl relocate_vectors + /* bl relocate_vectors */
/* Set up final (full) environment */

On Thu, Feb 11, 2016 at 5:50 AM, Roberto Fichera kernel@tekno-soft.it wrote:
Ok! Will do! However I've found that with this patch below it boots pretty fine! Do you know why?
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 92d3732..f87acb6 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -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 albert.u.boot@aribaud.net 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.

On 02/10/2016 07:59 PM, Fabio Estevam wrote:
On Wed, Feb 10, 2016 at 9:47 AM, Roberto Fichera kernel@tekno-soft.it wrote:
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
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 92d3732..f87acb6 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -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 =>
participants (2)
-
Fabio Estevam
-
Roberto Fichera