I am using T1040 D4 RDB kit. Can you please let me know the use of FMAN microcode which is located in NOR flash. when and where does this microcode gets copied to RAM location?
The FMan micro-code is needed for anything that runs on the FMan Controller.
FMAN ucode is loaded by fman_upload_firmware in u-boot source code drivers/net/fm/fm.c.
FMAN ucode is loaded in FMAN common part initialization.
Please refer to the following, when boot from NOR flash FMAN ucode is loaded from address 0xEFF00000 on NOR flash directly. For NAND, SPI and SD boot, the FMAN ucode will be copied to RAM allocated by malloc function.
#if defined(CONFIG_SYS_QE_FMAN_FW_IN_NOR)
void *addr = (void *)CONFIG_SYS_FMAN_FW_ADDR;
#elif defined(CONFIG_SYS_QE_FMAN_FW_IN_NAND)
size_t fw_length = CONFIG_SYS_QE_FMAN_FW_LENGTH;
void *addr = malloc(CONFIG_SYS_QE_FMAN_FW_LENGTH);
rc = nand_read(nand_info[0], (loff_t)CONFIG_SYS_FMAN_FW_ADDR,
&fw_length, (u_char *)addr);
if (rc == -EUCLEAN) {
printf("NAND read of FMAN firmware at offset 0x%x failed %d\n",
CONFIG_SYS_FMAN_FW_ADDR, rc);
}
When boot from NOR flash, whether u-boot copies FMAN ucode from address 0xEFF00000 to any RAM location? can I see that on debug memory window?
FMAN ucode will loaded from 0xEFF00000 on NOR flash directly, will not copy to RAM. You could dump it from NOR flash.
When boot from NOR flash, whether u-boot copies FMAN ucode from address 0xEFF00000 to any RAM location? can I see that on debug memory window?
When I boot from NOR flash, does u-boot code copies the microcode from 0xEFF00000 to any RAM location? where can I see that on T1040D4RDB kit in debug memory window to confirm that the microcode is loaded?