[libcamera-devel] MS Surface Go camera not working

Olivier Fauchon ofauchon2204 at gmail.com
Fri Jan 3 09:29:43 CET 2020


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.

Can I 'patch' my ACPI tables to add these missing entries ?
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20200103/26829927/attachment.htm>


More information about the libcamera-devel mailing list