
HI Stefan,
On 1/15/20 8:25 AM, Stefan Roese wrote:
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.
This seems to be strictly needed on my board: U-Boot 1.1.3 (Apr 23 2017 - 14:59:01) VoCore2 > md b0000060 1 b0000060: 5505040c ...U VoCore2 > mm b0000060 b0000060: 5505040c ? 55050404 <DEAD> This is with the original "paleolithic" u-boot, of course, but it should be a HW-related feature, should I try also with "current" (RAM based)?
I am surprised though as all I could find on differences between MT7628 and MT7688 are is a reference on Mediatek site: https://docs.labs.mediatek.com/resource/linkit-smart-7688/en/faq
Q: What’s MT7628 and how is it different from MT7688AN?
The MT7628 series are pin-to-pin compatible with the MT7688 series. However, MT7628 comes with a 2T2R antenna, while MT7688 only supports 1T1R antenna.
(Incomplete!) comparison of the two datasheets did not show relevant differences.
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?
No. Your image was as silent as mine. Not a single char in serial line.
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?
I will try to read back after flashing, but I somewhat doubt that's the problem. I am using the new, RAM-based U-Boot to flash. Actual sequence is: usb reset; fatload usb 0 80010000 u-boot-ram.bin; go 80010000 usb start; sf probe; load usb 0:1 85000000 u-boot-rom.bin; sf update ${fileaddr} u-boot ${filesize} reset where: => mtd list List of MTD devices: * nor0 - type: NOR flash - block size: 0x1000 bytes - min I/O: 0x1 bytes - 0x000000000000-0x000001000000 : "nor0" - 0x000000000000-0x00000007e000 : "u-boot" - 0x00000007e000-0x00000007f000 : "env" - 0x00000007f000-0x000000080000 : "factory" - 0x000000080000-0x000000320000 : "kernel" - 0x000000320000-0x000001000000 : "filesystem" Equivalent sequences work correctly to flash kernel and (recovery) filesystem.
Thanks, Stefan
Many thanks for Your patience... Mauro