Link to issue: linux-surface/linux-surface#209
Take a look at my kernel repo. The upstreamed atomisp is currently not working.
Patches for atomisp (also contain sensor drivers):
Patches for kernel core (like regulators) (also contains patches unrelated to atomisp, maybe I need to create dedicated branch for atomisp later):
Sensor drivers are already included in my kernel tree mentioned above, but if you want to build drivers here:
make KDIR="/path/to/your/kernel_tree" ATOMISP_INC="drivers/staging/media/atomisp/include"
Current atomisp driver requires you to load sensor modules before atomisp main pci driver.
Here is the example:
# unload atomisp pci driver
sudo rmmod atomisp
# load drivers needed for atomisp first for insmod
# for sensor drivers
sudo modprobe media # needed for older LTS
sudo modprobe videodev
sudo modprobe v4l2_common # needed for older LTS
sudo modprobe v4l2_async # if using async_register
# for atomisp
sudo modprobe videobuf-core
sudo modprobe videobuf-vmalloc
# load atomisp drivers
sudo insmod atomisp-ar0330.ko
sudo insmod atomisp-ov883x.ko
# IIRC, modprobe works but try insmod instead if weird
sudo modprobe atomisp dbg_level=1 #dyndbg
You need a firmware file, place it to /lib/firmware/shisp_2401a0_v21.bin
The firmware version should be irci_stable_candrpv_0415_20150521_0458
.
You can download it from intel-aero (https://github.com/intel-aero/meta-intel-aero-base/tree/master/recipes-kernel/linux/linux-yocto)
Just in case, the version and hash of firmware which I downloaded from intel-aero is the following:
$ strings /lib/firmware/shisp_2401a0_v21.bin | grep 2015
irci_stable_candrpv_0415_20150521_0458
$ sha256sum /lib/firmware/shisp_2401a0_v21.bin
e89359f4e4934c410c83d525e283f34c5fcce9cb5caa75ad8a32d66d3842d95c /lib/firmware/shisp_2401a0_v21.bin
Note that the other version of firmware may not work.
You can find atomisp and its sensor drivers for Android (kernel 3.10) on some places:
- https://www.asus.com/us/supportonly/ASUS%20ZenFone%206%20(A600CG)/HelpDesk_Download/
- https://android.googlesource.com/kernel/x86/+/android-x86-grant-3.10-marshmallow-mr1-wear-release/drivers/external_drivers/camera/drivers/media/
Linux kernel for intel-aero also provides atomisp and its sensor drivers (up to linux 4.4):
atomisp and its sensor drivers as patch format for Linux v4.4 and atomisp firmware file: