iMX6DQ IPU CPMEM Bus Address

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

iMX6DQ IPU CPMEM Bus Address

745 Views
ogj
Contributor IV

I'd like to know the bus address for the CPMEM for ipu1 and ipu2 in the iMX6Q. According to the RM, ipu1 is at 0x0260_0000 and ipu2 is at 0x02A0_0000. It appears from the SDK that the CPMEM is at the ipu base address + 0x0010_0000, but I'd like to make sure.

Another thing that puzzles me is the the RM shows the structure of the CPMEM as 80 channels x 2 mega-words per channel; each mega-word being 160-bits (5x 32-bit words).

ogj_0-1602620976807.png

The SDK structs for the CPMEM are:


struct ipu_cpmem_word
{
uint32_t data[5];
uint32_t res[3];
};

typedef struct ipu_cpmem
{
struct ipu_cpmem_word word[2];
} ipu_cpmem_t;

in the ipu_common.h file. I don't understand what the res[3] is for after each 160-bit mega-word.

 

iMX6 SDK shows the structure of

0 Kudos
Reply
2 Replies

732 Views
igorpadykov
NXP Employee
NXP Employee

Hi ogj

 

>appears from the SDK that the CPMEM is at the ipu base address + 0x0010_0000,

>but I'd like to make sure.

 

correct

 

>I don't understand what the res[3] is for after each 160-bit mega-word.

 

one can refer to (Word 1) Table 37-14. Channel Parameters Memory

i.MX 6Dual/6Quad Applications Processor Reference Manual

 

Best regards
igor

 

 

 

0 Kudos
Reply

726 Views
ogj
Contributor IV

Found the answer in Section 37.4.2.10.2 of the RM. Although each mega-word is 160 bits (5x 32-bit words), each word has to start on a 256-bit boundary (8x 32-bit words).

Thanks for your quick response.

0 Kudos
Reply