Debugging VoCore2 ROM Startup
Stefan Roese
sr at denx.de
Wed Jan 15 08:25:37 CET 2020
Hi Mauro,
On 15.01.20 00:55, Mauro Condarelli wrote:
> I found *one* of the bugs in startup:
> To enable UART2 pinmux setting:
> void __iomem *gpio_mode;
> gpio_mode = ioremap_nocache(MT76XX_GPIO1_MODE, 0x100);
> clrbits_le32(gpio_mode, GENMASK(27, 26));
> is not enough; you need also:
> setbits_le32(gpio_mode, GENMASK(3, 2));
> I actually use the more explicit, but hopefully equivalent:
> #define MT76XX_GPIO1_MODE 0x10000060
> #define MIPS_KSEG1_START 0xA0000000
>
> uint32_t v, *a;
> a = (uint32_t *)(MIPS_KSEG1_START + MT76XX_GPIO1_MODE);
> v = *a;
> v &= 0xF3FFFFFF;
> v |= 0x0000000C;
> *a = v;
>
> It is unclear to me how Linkit port could work.
I double checked on LiniIt and it works without this bit 2/3
setting:
=> md b0000060 1
b0000060: 50050404 ...P
You can check this on your VoCore2 board by setting this value
from the prompt. If this works, then its not strictly needed.
> Anyways now my "secondary from ROM" approach now
> works without the long delay described below.
>
> Unfortunately this does not seem to be the whole story because
> flashing u-boot linked directly in the "right palace":
>
> SYS_TEXT_BASE = 0x9c000000
>
> still refuses to display anything on serial; I assume some other
> initialization is missing, but that will be another fight.
>
> Any insight welcome.
Did my new image from yesterday produce any output on your board?
BTW: How do you flash the image into SPI NOR? From the new mainline
U-Boot loaded into RAM or from the ancient 1.1.3 version? Perhaps
something is going wrong in the flashing process?
Thanks,
Stefan
More information about the U-Boot
mailing list