LS1046A DPPA IF_STATUS Register

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

LS1046A DPPA IF_STATUS Register

Jump to solution
1,212 Views
DaT63
Contributor II

Hi,

I need to programmatically read register IF_STATUS (offset 0x304) of the Frame Manager EMAC3 that should be at address 0x1AE4304. Of this register only the nibble 16-19 is meaningful because the other bits are reserved. The value of the nibble that I read is 0xD (or 0b1101) that seems correct because the bits indicate:

- a valid link is established by the RGMII PHY

- 1 Gbps

- RGMII full duplex link is established

What it looks weird to me is that the full 32-bit value I read is:

0x00D00000

i.e. the 0xD nibble does not appear to be in the right position because it occupies bits 20-23. Changing the endianity by byte swapping does not help because in this case the value would be

0x0000D000

and the nibble would occupy bits 12-15

What am I doing wrong here?

Thanks in advance for the support

Labels (1)
0 Kudos
Reply
1 Solution
1,165 Views
yipingwang
NXP TechSupport
NXP TechSupport

The DPAA components should be in big-endian mode. The DPAA software should perform endianness-related byte-swap.

The 0xD nibble occupies bits 16-19.

View solution in original post

0 Kudos
Reply
1 Reply
1,166 Views
yipingwang
NXP TechSupport
NXP TechSupport

The DPAA components should be in big-endian mode. The DPAA software should perform endianness-related byte-swap.

The 0xD nibble occupies bits 16-19.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2021372%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELS1046A%20DPPA%20IF_STATUS%20Register%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2021372%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EI%20need%20to%20programmatically%20read%20register%20IF_STATUS%20(offset%200x304)%20of%20the%20Frame%20Manager%20EMAC3%20that%20should%20be%20at%20address%200x1AE4304.%20Of%20this%20register%20only%20the%20nibble%2016-19%20is%20meaningful%20because%20the%20other%20bits%20are%20reserved.%20The%20value%20of%20the%20nibble%20that%20I%20read%20is%200xD%20(or%200b1101)%20that%20seems%20correct%20because%20the%20bits%20indicate%3A%3C%2FP%3E%3CP%3E-%26nbsp%3Ba%20valid%20link%20is%20established%20by%20the%20RGMII%20PHY%3C%2FP%3E%3CP%3E-%201%20Gbps%3C%2FP%3E%3CP%3E-%26nbsp%3BRGMII%20full%20duplex%20link%20is%20established%3C%2FP%3E%3CP%3EWhat%20it%20looks%20weird%20to%20me%20is%20that%20the%20full%2032-bit%20value%20I%20read%20is%3A%3C%2FP%3E%3CP%3E0x00D00000%3C%2FP%3E%3CP%3Ei.e.%20the%200xD%20nibble%20does%20not%20appear%20to%20be%20in%20the%20right%20position%20because%20it%20occupies%20bits%2020-23.%20Changing%20the%20endianity%20by%20byte%20swapping%20does%20not%20help%20because%20in%20this%20case%20the%20value%20would%20be%3C%2FP%3E%3CP%3E0x0000D000%3C%2FP%3E%3CP%3Eand%20the%20nibble%20would%20occupy%20bits%2012-15%3C%2FP%3E%3CP%3EWhat%20am%20I%20doing%20wrong%20here%3F%3C%2FP%3E%3CP%3EThanks%20in%20advance%20for%20the%20support%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2021372%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EQorIQ%20LS1%20Devices%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2026580%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20LS1046A%20DPPA%20IF_STATUS%20Register%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2026580%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThe%20DPAA%20components%20should%20be%20in%20big-endian%20mode.%26nbsp%3BThe%20DPAA%20software%20should%20perform%20endianness-related%20byte-swap.%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EThe%200xD%20nibble%20occupies%20bits%2016-19.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E