The iram size on reserved for vpu on imx6 solo seems to be zero, the vpu node in device tree file passes zero as iram size where as imx6qd it is 0x2100.
arch/arm/boot/dts/imx6dl.dtsi
vpu@02040000 {
iramsize = <0>;
status = "okay";
};
The internal ram in imx solo is 128 KB. Why iram memory is not been used for vpu on imx6 solo ?
Solved! Go to Solution.
Hello,
Basically, FSL Linux BSP uses the IRAM. Say for i.MX6Q, where
IRAM size is 256K, up to 132K may be reserved for the VPU.
Since IRAM size of the i.MX6S is not so big, there is no IRAM reservation
for VPU. As for VPU API, please refer to section 3.2.2.33 (iram_t) of
“i.MX_6_VPU_Application_Programming_Interface_Linux_Reference_Manual.pdf”.
Looks like You should not use IRAM with VPU of i.MX6S.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello,
Basically, FSL Linux BSP uses the IRAM. Say for i.MX6Q, where
IRAM size is 256K, up to 132K may be reserved for the VPU.
Since IRAM size of the i.MX6S is not so big, there is no IRAM reservation
for VPU. As for VPU API, please refer to section 3.2.2.33 (iram_t) of
“i.MX_6_VPU_Application_Programming_Interface_Linux_Reference_Manual.pdf”.
Looks like You should not use IRAM with VPU of i.MX6S.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yuri,
If I am using the gstreamer imxvpuenc_h264 plugin, which piece of code I will have to change so I can correct for this problem? I have looked a few places but it is not clear to me where I need to change so the VPU will not use the IRAM.
Thanks,
Charles
Hello,
it is enough to set iramsize = <0> in the device tree file.
Regards,
Yuri.
That is what I thought too when I looked at the driver. And I already have that in the dts file.
vpu@02040000 {
compatible = "fsl,imx6-vpu";
reg = <0x2040000 0x3c000>;
reg-names = "vpu_regs";
interrupts = <0x0 0x3 0x1 0x0 0xc 0x4>;
interrupt-names = "vpu_jpu_irq", "vpu_ipi_irq";
clocks = <0x2 0xa8 0x2 0x8c 0x2 0x8e>;
clock-names = "vpu_clk", "mmdc_ch0_axi", "ocram";
iramsize = <0x0>;
iram = <0xa>;
resets = <0xb 0x1>;
power-domains = <0xc 0x1>;
};
But for some reason, it is still complaining about this when I ran the gstreamer pipeline that involves h264 encoding using the vpu. Can you think anything else that I may be missing?
Thanks,
Charles
Thanks Yuri, this was really helpful.