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