[libcamera-devel] MS Surface Go camera not working

Jacopo Mondi jacopo at jmondi.org
Fri Jan 3 09:49:35 CET 2020


Hi Olivier,

On Fri, Jan 03, 2020 at 09:29:43AM +0100, Olivier Fauchon wrote:
> Hi Laurent,
>
> Thanks for your feedback.
>
> 1/ Camera drivers
>
> I found ov2740 and imx135 sensors drivers in a LG G3 Kernel sources:
>
> https://github.com/daeiron/LG_G3_Kernel/blob/master/drivers/media/platform/msm/camera_v2/sensor/ov2740.c
>
> https://github.com/daeiron/LG_G3_Kernel/blob/master/drivers/media/platform/msm/camera_v2/sensor/imx135.c
>
>
> The first job is to 'port' these drivers to the Linux Kernel, right ?
>
> 2/ ACPI Binding
>
> Do you have an example of a ChromeOS  "CIO2 ACPI device entry"  that works
> ?
> I'd like to understand what is missing in MS ACPI tables first.

This might help
https://review.coreboot.org/cgit/coreboot.git/tree/src/mainboard/google/poppy/variants/baseboard/include/baseboard/acpi?id=refs/heads/master

>
> Can I 'patch' my ACPI tables to add these missing entries ?

You can embed your custom DSDT in your kernel through the
CONFIG_ACPI_CUSTOM_DSDT_FILE option

Thanks
   j

> At least for testing/developpement stage ...
>
> Thanks
> Olivier
>
>
>
>
>
>
>
>
> Le ven. 3 janv. 2020 à 01:23, Laurent Pinchart <
> laurent.pinchart at ideasonboard.com> a écrit :
>
> > Hello Olivier,
> >
> > On Thu, Jan 02, 2020 at 05:11:58PM +0100, Olivier Fauchon wrote:
> > > Hi,
> > >
> > > I just installed Arch Linux (kernel 5.4.6) on my MS Surface Go tablet.
> > >
> > > It seems to use IPU3,CIO2 driver, but the camera is not working.
> > >
> > > Please find the acpidump, dmidecode, lsmod, lspci, lsusb outputs here:
> > >
> > > https://github.com/ofauchon/surface_go_linux/tree/master/logs
> > >
> > > Hope this will help to fix the problem.
> > > Please ask if more tests needed.
> >
> > Thank you for the information. This is helpful, but to fix the problem
> > we need someone to do the actual work :-)
> >
> > There are a few issues to be solved here. The first one lies on the
> > sensor side, we need drivers for the camera sensors used in your device.
> > Looking at the DSDT ACPI table, the back and front sensors are a Sony
> > IMX135 and an Omnivision OV2740. Neither of those two are supported
> > upstream, but there's some code floating around that could be leveraged.
> >
> > The second issue lies on the CIO2 side and its ACPI bindings. The CIO2
> > Linux driver was developed for Chrome OS, and Chrome OS devices ship
> > ACPI tables with CIO2 information differing significantly from the ACPI
> > tables shipped in devices developed for Windows. In particular the CIO2
> > driver expects the CIO2 ACPI device entry to contain pointers to the
> > camera sensors, which isn't the case on your device. A quick glance at
> > the DSDT didn't show an easy way to get that information, but I may have
> > missed something. An alternative would be to add board drivers to the
> > kernel to store this kind of data. Other solutions may be possible.
> >
> > Once all this gets solved libcamera should be able to support your
> > device. We just need a volunteer to do the kernel work :-)
> >
> > --
> > Regards,
> >
> > Laurent Pinchart
> >

> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20200103/ff1d3f24/attachment.sig>


More information about the libcamera-devel mailing list