Sometime openwrt on mikrotik board wrong detecting ram. It found 64mb instead of 16, so the board hang and doesn't boot. This is a big problem when the board is mounted.

I solved the issue in this way:

File build_mipsel/linux-2.6-adm5120/linux-2.6.22-rc6/arch/mips/adm5120/adm5120_info.c, line 998

        *p = t;

        mem_dbg("%ldMB chip found\n", size >> 20);

(*)     if (size == (64 << 20))
(*)     { mem_dbg("Enrico patch, no board mikrotik with 64Mb flash, is a 16Mb on 133C");
(*)        size= 16<<20;
(*)     }

        if (size == (32 << 20))
                /* if bank size is 32MB, 2nd bank is not supported */
                goto out;

(*) mean i added the line

Not much correct, but mikrotik doesn't produce a adm5120 board with 64mb ram, and i have no notice of someone else that produce it, so the patch work.
May be someone of you can do something better.

Sorry. I have no time to upload a patch.
Enrico.