I’m struggling to find the source code for the driver, else I might be able to give you some idea.
I found this
https://lwn.net/Articles/729768/
which calls out
drivers/gpu/drm/ivip/
but I can’t find that anywhere in linux-socfpga source
nor the official kernel
Did a little digging and ended up here
which led me here
Pretty esoteric piece of documentation, but maybe that can help you?
Looks to be from March, so reasonably updated?
dp_0_frame_buf: vip@0x100000280 {
compatible = "altr,vip-frame-buffer-2.0";
reg = <0x00000001 0x00000280 0x00000040>;
altr,max-width = <1920>;
altr,max-height = <1080>;
altr,bits-per-symbol = <8>;
altr,mem-port-width = <128>;
};
If that doesn’t work, this probably isn’t what you want to hear (since it sounds like you may be more firmware side than software), but you can always write your own driver. Should be able to look through the register space and allocate buffers using dma_alloc_coherent. I’m writing my own framebuffer IP right now and could give you some code for how to allocate the buffers if you need it.
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_vip.pdf#page=160&zoom=100,0,612