OS08A10 Supported Resolutions


I’m able to operate this camera on VIM3 but I need to operate it at lower resolutions. I have tried changing it form the driver it self but it did not work.
I specifically need 640x480 or lower than that.

How can I achieve that? Can khadas provide a solution for this?


The minimum resolution of VIM3 is 480x320p60hz, provided that your monitor can support this resolution, connect the USB to the monitor and use the adb command to view the support list, as shown below:

Check out the list of supported HDMIs:
cat /sys/class/amhdmitx/amhdmitx0/vesa_cap

Or you can change the resolution manually like this:

To change the resolution manually:
echo “480x320p60hz” > /sys/class/display/mode

Hii @xiong.zhang

I was talking about OS08A10 camera resolution.


The premise is that the camera you use can support 480p

Do you want to modify Back camera video or Front camera video? We only have HD 1080p, HD 720p, SD 480p for Back camera video, and we only have HD 1080p for Front camera video, you can choose in Resolution&quality of Setting in Camera app

Or you want to fix the adapter node, isp node, isp_cma node to the resolution of your camera sensor in dts

The above picture shows the example of 1920x1080 and 3840x2160 as an example, you can change it to the resolution you need

Okay, Thank You @xiong.zhang.

Let me try this out. Will let you know if this works or not.

Hii @xiong.zhang

How do you calculate temper-frame-size?
I did not find the exact formula to do that. Apart from that other calculations seem clear.

temper-frame-size = fr width * fr height * 6(Unit:bit)


Yes, but how do I get this number?


I tried multiplying 12M to 1024 but I’m not getting 0x0c00000.


The resulting product is DEC, you need to convert it to HEX

As shown below

Hi @xiong.zhang

I have updated my file but it does not seem to be working. I’m sharing my patch here please let me know if I’m doing this right or not. Also, I did not get the calculation of isp_cma node.

This is for 640x480 resolution:

cma pool size need 4MB align

Because isp_cma_reserve included a attribute which named “alignment”

So the size must be 4MB * N, otherwise it’s failed to allocate

And the adapt_cma node needs to align too


Okay, let me try this.

I just have one doubt on isp_cma node.
How do you calculate the size?

Maybe you can check the comment#4,
OS08A10 Supported Resolutions - #4 by xiong.zhang,

Xiong.zhang has posted the calculation of the cma node.


I got these logs after changing the dts. What does it mean?
Did I miscalculate it?


That’s normal log, when the user open one stream, it will print this log once.

The log looks like stream0, stream2 are repeatedly opened multiple times, that’s weird.

Okay, Then why my default Camera app is getting crashed?
After changing the dts according to those parameters, default camera app is getting crashed. So, I think those changes are not effective.

I’m sharing my diff here. This is for 640x480 resolution. Can you please have a look at it whether it’s correct or not.

I checked the release notes of our OS08A10 camera, the following link can be viewed


Among them, there is a minimum supported format and frame rate of 720p

And 640x480 is already lower than 720p, so there is no way to do this resolution

As you mean, do you want to crop it, and the 640x480 you need will be very blurry, are you sure you need to do this?