Skip to contentSkip to conversation

Latest u-boot-atmel git hangs on AVR32 board

U-Boot Mark Jackson 2 participants 3 messages Jun 13, 2011 – Jun 14, 2011

lore
Share & tools
lore
#0 lore raw

Hi

Our MIMC200 board has been using 2009.08 for some time, so I thought I would take a look at the latest git version to keep our boards more up-to-date.

I have checked out the u-boot-atmel branch, and done:-

$ make mimc200_config
$ make

Everything compiles, but when I try the image, I only get:-

U-Boot 2011.06-rc2-02816-g5f2e176 (Jun 13 2011 - 12:50:29)

U-Boot code: 00000000 -> 00012668 data: 0001ae38 -> 00050840
LCD: Frame buffer allocated at preset 0x10600000 VMR table @ 0x11fca7f4

I have traced through the code to see where things stop, and it seems to be in:-

arch/avr32/cpu/at32ap700x/mmu.c

void mmu_init_r(unsigned long dest_addr)

{
	...
	printf("VMR table @ 0x%08x\n", vmr_table_addr);

/* Enable paging */

puts("a");
	sysreg_write(MMUCR, SYSREG_BF(DRP, 1) | SYSREG_BF(DLA, 1)
			| SYSREG_BIT(MMUCR_S) | SYSREG_BIT(M) | SYSREG_BIT(E));

puts("b");
}

I get the "VMR table ..." string, as well as "a", but I never get "b".

Can anyone help ?

Regards
Mark

#1 lore raw

Dear Mark Jackson,

Am 13.06.2011 um 14:26 schrieb Mark Jackson:

Quoted 1 line

Hi

<snip mimc upgrate to 2011.06, something wrong with mmu_init_r()>

this is a quite new function, but used to work on stk1000 and our not mainline board.

Quoted 1 line

Can anyone help ?

My last try with avr32 boards was around 2011.03 release ... will have a look for it tomorrow.

regards

Andreas Bie?mann

#2 lore raw

Dear Mark Jackson,

Am 13.06.2011 15:28, schrieb Andreas Bie?mann:

Quoted 7 lines

Dear Mark Jackson,

Am 13.06.2011 um 14:26 schrieb Mark Jackson:

Quoted 1 line

Can anyone help ?

My last try with avr32 boards was around 2011.03 release ... will have a look for it tomorrow.

ATSTK1002 and our (not mainline) board do still work with 2011.06-rc2-00012-g9571865.

Maybe it is something with the 'simple tlb' -> your board is the only one with 3 entries in struct mmu_vm_range mmu_vmr_table[CONFIG_SYS_NR_VM_REGIONS]. This feature was heavily tested on boards with 2 entries, therefore i guess you need to look for that table mainly. Maybe there is also something wrong with mmu_handle_tlb_miss() ... can you debug this?

It would be great to get this fixed for 2011.06 if possible.

regards

Andreas Bie?mann