How to clip data during Memory Port to IPU on iMX6?

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

How to clip data during Memory Port to IPU on iMX6?

500 Views
patsandt
Contributor III

I will be using Memory Port to IPU to HDMI. My data is oversized and will need a custom clip each time I write it to the IPU. I was expecting to use a custom 2-dimensional DMA (delta x = 1 pixel, delta y = next row in memory). For example, if my source buffer is 5000 rows and 6000 columns, delta x would be the column increment, but I would need to use some subset (1280 pixels) of the 5000 rows and I might be starting 400 pixels into the row, running for 1280, and then needing the next row to start 400 pixels into the next row.

Chapter 37 of the applications processor reference manual says:

Addressing modes include:

• Sequential access (to a contiguous memory buffer) - for generic data.

• Raster-scan within a two-dimensional window of a video/display buffer - for

both pixel and generic data.

• Raster-scan of two-dimensional blocks within a two-dimensional window (for

rotation of pixel data)

The delta y will skip large chunks of the memory so sequential access is out unless I can DMA to another location first.

Do either of the others (which I do not understand yet) support the concept of row subsets?

Tags (2)
0 Kudos
2 Replies

361 Views
Yuri
NXP Employee
NXP Employee

Hello,

You may look at Chapter 6 [Image Processing Unit (IPU) Drivers]

of "i.MX_Linux_Reference_Manual.pdf".

http://www.nxp.com/webapp/Download?colCode=L4.1.15_1.1.0_LINUX_DOCS&Parent_nodeId=133769948107170617...

Summary page :

i.MX 6 Series Software and Development Tool|NXP

Also, the following may be useful :

ipu-examples release notes - v0.1

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

361 Views
patsandt
Contributor III

I've been slowly plowing my way through this. After many issues with the build (I'm in c++ and the .h files are not compliant), I have the ability to run some of the code. However, when I try to open /dev/mxc_ipu, the device is not found. Indeed, there is no such device on my system. I'm sure there is either some equivalent or I'm missing a configuration value. Note I use bitbake. Along with many other things, I have the following in defconfig:

CONFIG_MXC_CAMERA_OV5640=m
CONFIG_MXC_CAMERA_OV5642=m
CONFIG_MXC_CAMERA_OV5640_MIPI=m
CONFIG_MXC_TVIN_ADV7180=m
CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m

CONFIG_FB_MXC_SYNC_PANEL=y
CONFIG_FB_MXC_LDB=y
CONFIG_FB_MXC_MIPI_DSI=y
CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
CONFIG_FB_MXC_HDMI=y
CONFIG_FB_MXC_EINK_PANEL=y
CONFIG_FB_MXS_SII902X=y

Any clue what might cause /dev/mxc_ipu to be added? Or is it something in devicetree?

0 Kudos