Re: [PATCH 00/17] various fixes for atomisp to make it work

Tsuchiya Yuto
2021-10-30T09:50:24Z

On Thu, 2021-10-28 at 11:58 +0100, Mauro Carvalho Chehab wrote:
> Em Thu, 28 Oct 2021 13:32:29 +0900
> Tsuchiya Yuto <kitakar@gmail.com> escreveu:
>
> > <Fixed Cc list>
> >
> > On Mon, 2021-10-18 at 01:19 +0900, Tsuchiya Yuto wrote:
> > > [...]
> > > ## taking a picture with atomisp
> > >
> > > Note that to try to take a picture, please also apply at least the
> > > this RFC patch ("[BUG][RFC] media: atomisp: pci: assume run_mode is
> > > PREVIEW") I'll send as almost a BUG report later.
> > >
> > > You need to use firmware version irci_stable_candrpv_0415_20150521_0458,
> > > which is available from the intel-aero [1]
> >
> > Just in case, the hash (as well as version) of firmware which I
> > downloaded from intel-aero and I use to capture is the following:
> >
> > $ sha256sum /lib/firmware/shisp_2401a0_v21.bin
> > e89359f4e4934c410c83d525e283f34c5fcce9cb5caa75ad8a32d66d3842d95c /lib/firmware/shisp_2401a0_v21.bin
> >
> > $ strings /lib/firmware/shisp_2401a0_v21.bin | grep 2015
> > irci_stable_candrpv_0415_20150521_0458

Also note that the firmware file from the intel-aero only supports
hw_revision 2401a0_v21 as the filename implies. So, if someone have
Bay Trail (ISP2400) device to test, you need to get a firmware file (from
somewhere like Android installation/image as the initial commit of atomisp
mentions) made for version irci_stable_candrpv_0415_20150521_0458 and
hw_revision 2400b0_v21 then place it under /lib/firmware

> > > The atomisp (ipu2), like the ipu3, needs userspace support. The libcamera
> > > has now decent ipu3 support but does not have atomisp support yet.
> > >
> > > I found some userspace tools for atomisp that run on Linux:
> > >
> > > - capturev4l2 from intel-aero/sample-apps
> > > (https://github.com/intel-aero/sample-apps/tree/master/capturev4l2)
> > > - hd-camera from intel-aero/sample-apps
> > > (https://github.com/intel-aero/sample-apps/tree/master/hd-camera)
> > > - intel/nvt
> > > (https://github.com/intel/nvt)
> > >
> > > It looks like the nvt is the most feature-rich, like exposure and white
> > > balance. Note that current upstreamed atomisp dropped 32-bit support.
> > > So, you need to build it with `-m64` (change it in Makefile). Here is
> > > the example of usage I use on mipad2:
> > >
> > > $ ./v4l2n -o testimage_@.raw \
> > > --device /dev/video2 \
> > > --input 0 \
> > > --exposure=30000,30000,30000,30000 \
> > > --parm type=1,capturemode=CI_MODE_PREVIEW \
> > > --fmt type=1,width=1920,height=1080,pixelformat=NV12 \
> > > --reqbufs count=2,memory=USERPTR \
> > > --parameters=wb_config.r=32768,wb_config.gr=21043,wb_config.gb=21043,wb_config.b=30863 \
> > > --capture=2 \
> > >
> > > ./raw2pnm -x1920 -y1080 -fNV12 testimage_001.raw testimage_001.pnm
> > > feh *.pnm # open the converted image
> > > rm testimage*
>
> Great! that worked for me too on Asus T101HA (CHT). I had to tweak the
> resolution, as ov2680 sensor has a max of 1616x1216 30fps. I had
> to use a number smaller than that, though (1600x1200).

Ah, glad to hear that!

> I guess the next step is to make a generic app to also work on it.

It's great if we can eventually add atomisp support to the libcamera.
I think this is the easiest way to support generic apps (I mean, like
cheese). Some ipu3 cameras already work on cheese with libcamera.
I don't have any knowledge about userspace support though.

> > >
> > > Note that I see the following warn/err after capture:
> > >
> > > kern :warn : [72660.793335] atomisp-isp2 0000:00:03.0: stop stream timeout.
> > > kern :err : [72660.973629] atomisp-isp2 0000:00:03.0: atomisp_reset
> > >
> > > but I see the same message on the Android kernel, too. So, I think this
> > > is not a real issue (I hope).
>
> Same here.
>
> > >
> > > [1] https://github.com/intel-aero/meta-intel-aero-base/tree/master/recipes-kernel/linux/linux-yocto
> > > filename shisp_2401a0_v21.bin
> >
> >