T1040 FMAN Microcode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

T1040 FMAN Microcode

1,173 Views
kmanjushree
Contributor I

Hi

If i need to load the FMAN microcode to T1040RDB then i will copy the microcode from NOR flash to FMan controller Configuration Data Download Registers using the fm_upload_ucode function. The first step in the fm_upload_ucode function is 1. /* enable address auto increase */ out_be32(&imem->iadd, IRAM_IADD_AIE); 2. /* write microcode to IRAM */ for (i = 0; i < size / 4; i++) out_be32(&imem->idata, (be32_to_cpu(ucode[i]))); As per the DPAA manual, imem->iadd is FMCDADDR i.e address register. So '0' bit corresponds to Auto increment enable and 1-31 bits is the address. 1. Which address does 1-31 bits point to ? 2. Do i need to specify some address in 1-31 bits so that the microcode gets copied to that location? 3. Or does it point to 0th location?

Labels (1)
Tags (2)
0 Kudos
5 Replies

981 Views
kmanjushree
Contributor I

Hi,

I am not using uboot. But I followed the same open source uboot code. In fm_eth_send function,

I am stuck at this point,

for (i = 0; muram_readw(&txbd->status) & TxBD_READY; i++) {

udelay(100);

if (i > 0x10000) {

printf("%s: Tx error, txbd->status = 0x%x\n",

dev->name, muram_readw(&txbd->status));

return 0;

}

}

Packets are not transmitted out.

How do I debug this issue?

Thanks

Manjushree K

0 Kudos

981 Views
ufedor
NXP Employee
NXP Employee

You have to refer to the U-Boot source code to understand how FMan microcode has to be correctly loaded.

0 Kudos

981 Views
kmanjushree
Contributor I

Hi,

I am able to load the microcode. So the Ethernet driver which I developed is working on T1040RDB. The same driver I am trying to use on T1022 custom board. Its not working.

Is it a hardware issue?

If yes then how I can do the basic test to check if the hardware is fine?

Thanks

Manjushree K

0 Kudos

981 Views
ufedor
NXP Employee
NXP Employee
1) This is not a hardware issue because SGMII MAC3 should behave identically for  T1022 with SerDes protocol 0x85 and T1040 with SerDes protocol 0x66.
 

2) Please use a debugger to check the driver code execution.

0 Kudos