Is LS1043A FMan microcode needed for any RTOS?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Is LS1043A FMan microcode needed for any RTOS?

跳至解决方案
3,053 次查看
sempori
Contributor II

Hi,

I am developing ethernet driver for LS1043A DPAA on a custom RTOS. So, I am reading about the DPAA and trying to understand it. In between, I noticed a message in U-Boot that "Fman1: Uploading microcode version xxx.xx.xx".

Here, my doubt is, what is the purpose of the FMan microcode? Does it needed even when I am not using the Linux or U-Boot?

In other words, Can I write a raw driver without using the FMAN microcode? Similarly, do I need any other firmware for writing the driver for the DPAA?

Besides these, If you have any sample program or initialization sequence for the DPAA, please let me know. Thank you.

标签 (1)
0 项奖励
回复
1 解答
3,047 次查看
ufedor
NXP Employee
NXP Employee

FMan functions implemented thru microcode are the following:

A- ‘’Independent Mode’’

Simplified FMan-to-Memory model, bypassing BMan/QMan for Boot/Debug purposes and simple Ethernet driver

B- Table Lookup Coarse Classification

To classify incoming packets thru some protocol headers exact match criteria

C- Advanced packet processing offloads

Header manipulation, IP-Fragmentation/Reassembly, IPSec pre-processing

D- Host Command interface

QMan based FMan control commands used by core/SW for updating some FMan global configuration during operation.

 

Can FMan provide Ethernet without loading microcode?

Overall answer is YES …

… as far as functions listed for Q1 (IM-Independent Mode, Host Interface, Table Lookup Coarse Classification, Advanced packet processing offloads) are not needed, none of them being strictly mandatory.

Software reference environment provided by FSL (Linux/SDK) or other suppliers require microcode to be loaded ..

 

What is FMan Independent Mode (IM), what is it used for?

IM is a simplified FMan mode of operation where Ethernet Rx and Tx are managed through simple BD rings as in PowerQUICC and non-DPAA QorIQ devices.

In IM mode, BMan and QMan are not used and thus do not need to be initialized.

IM mode is primarily intended for use during boot phase, before application performs full initialization of all DPAA resources (FMan/BMan/QMan …).

IM can also be used in operational mode (after boot phase) but due to simple BD ring model, the use of IM generally leads to lower Ethernet performance.

在原帖中查看解决方案

4 回复数
2,367 次查看
sanspepin
Contributor II

I use the ls1046a

In you answer above you say that the FSL Linux/SDK require the microcode to be loaded. Is it the Linux OS or an "user space" application that does the full initialization of the DPAA resources?

0 项奖励
回复
3,033 次查看
sempori
Contributor II

Thanks a lot for detailed explanation.

I understand that this microcode is loaded to QUICC Engine Block. If you have any specification or manual regarding the microcode, please share it so that I can decide whether to use it.

I find difficult to find any reference code for the LS1043A (DPAA) Ethernet drivers. Kindly let me know any reference source or application notes for that.

0 项奖励
回复
3,025 次查看
ufedor
NXP Employee
NXP Employee

There is no customer-available documents about the microcode.

Please refer to the LSDK User Guide:

https://www.nxp.com/design/software/embedded-software/linux-software-and-development-tools/layerscap...

0 项奖励
回复
3,048 次查看
ufedor
NXP Employee
NXP Employee

FMan functions implemented thru microcode are the following:

A- ‘’Independent Mode’’

Simplified FMan-to-Memory model, bypassing BMan/QMan for Boot/Debug purposes and simple Ethernet driver

B- Table Lookup Coarse Classification

To classify incoming packets thru some protocol headers exact match criteria

C- Advanced packet processing offloads

Header manipulation, IP-Fragmentation/Reassembly, IPSec pre-processing

D- Host Command interface

QMan based FMan control commands used by core/SW for updating some FMan global configuration during operation.

 

Can FMan provide Ethernet without loading microcode?

Overall answer is YES …

… as far as functions listed for Q1 (IM-Independent Mode, Host Interface, Table Lookup Coarse Classification, Advanced packet processing offloads) are not needed, none of them being strictly mandatory.

Software reference environment provided by FSL (Linux/SDK) or other suppliers require microcode to be loaded ..

 

What is FMan Independent Mode (IM), what is it used for?

IM is a simplified FMan mode of operation where Ethernet Rx and Tx are managed through simple BD rings as in PowerQUICC and non-DPAA QorIQ devices.

In IM mode, BMan and QMan are not used and thus do not need to be initialized.

IM mode is primarily intended for use during boot phase, before application performs full initialization of all DPAA resources (FMan/BMan/QMan …).

IM can also be used in operational mode (after boot phase) but due to simple BD ring model, the use of IM generally leads to lower Ethernet performance.