CX3_CONFIG_CTRL : "DATA MODE" bits

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
leda_289486
Level 5
Level 5
10 sign-ins 5 sign-ins 100 replies posted

In the CX3_CONFIG_CTRL  register, bits [9:8] points to "DATA MODE" that should be used for data packing  and byte ordering.

It is written that the register is set by SetintfParams function.

However, I cannot retrieve which parameter of "SetIntfParams" function is used to configure "data mode".

When I re-read register with I2C directly, DATA MODE is always 0.

Furthermode DATA MODE explaination refers to 0 = Mode 0, 1 = Mode 1, 2 = Mode 2, 3 = reserved.

Could you please precise the exact meaning of "DATA MODE" and the correct way to program it ?

For now, I program it after SetIntParams function call with a direct I2C write command : is this ok ?

Thank you for your help,

Best Regards

0 Likes
1 Solution

Please refer section 1.6 CX3 MIPI CSI-2 Stream Formats of CX3_TRM.pdf for the supported streaming formats and output modes.

It is mentioned that there is only one mode for RGB888. Hence, only one mode is supported. We can see that RGB666 supports two modes (Mode 0 and Mode 1). Hence, it supports two modes.

View solution in original post

0 Likes
3 Replies
leda_289486
Level 5
Level 5
10 sign-ins 5 sign-ins 100 replies posted

I've tried to understand the SetIntfParams and QueryIntfParams programmation of DATA_MODE. If I select RGB888 format, the definition is 0x03.

There is a intermediate variable in code "pdfMode" that is linked to this DATA_MODE. there is indeed a macro that makes (RGB888 format) & 0xf0 >> 4 as pdfMode.

So can explain that the DATA MODE is always set to 0.

As There is no special explaination for 'mode0,mode1,mode2' I've just try to set the parameter from RGB888 to RGB888 | 0x20 to set DATA MODE to 2 which I suppose is 24 bits format.

However, I'm somewhere wrong because DATA MODE is not correctly programmed and whole 0x4 I2C mipi register is wrong : I'm trying to program 0x0243 (0x200 | 0x43) but read value is 0x8004 after SetIntf programmation.

Thank you for your help,

Best Regards.

0 Likes

Well,

I believe the DATA_MODE is in fact just a part of DATA_FORMAT definition. So for some format definitions, it is allowed to change it but for RGB888 ("3"), it is not possible and only possibility is DATA_MODE = 0 and automatically output is 24 bits.as soon.

So for RGB888 mode1, mode2 for DATA_MODE have no meaning whereas for RGB666 they have.

Would it be possible to confirm this ?

Thank you

Best Regards.

0 Likes

Please refer section 1.6 CX3 MIPI CSI-2 Stream Formats of CX3_TRM.pdf for the supported streaming formats and output modes.

It is mentioned that there is only one mode for RGB888. Hence, only one mode is supported. We can see that RGB666 supports two modes (Mode 0 and Mode 1). Hence, it supports two modes.

0 Likes