[libcamera-devel] Firmware (devicetree/ACPI interface) for marking camera sensors being on the front/back of a device

Tomasz Figa tfiga at chromium.org
Wed Jan 26 12:58:06 CET 2022


Hi Hans,

+Ricardo Ribalda +Sergey Senozhatsky FYI

On Mon, Jan 17, 2022 at 6:43 AM Hans de Goede <hdegoede at redhat.com> wrote:
>
> Hi All,
>
> IIRC there was some discussion about $subject a while ago,
> esp. being pushed by the ChromeOS folks (IIRC). If you know what
> I'm talking about, please add relevant folks to the Cc.
>
> While doing some work on atomisp support I noticed that the
> ACPI device fwnode-s describing the sensors have an ACPI _PLD
> method, which is a standardized ACPI method to retreive an
> package (ACPI for struct) describing the location of things
> like USB ports; and in this case of the camera sensors.
>
> And upon checking the Surface Go DSDT the sensors there seem to
> have the _PLD bits to. And in both cases at least the following
> PLD field (bits 67-69) seems to contain valid and relevant info,
> quoting from the ACPI spec 6.2 version, page 329:
>
> """
> Panel: Describes which panel surface of the system’s housing
> the device connection point resides on:
> 0 – Top
> 1 – Bottom
> 2 – Left
> 3 – Right
> 4 – Front
> 5 – Back
> 6 – Unknown
> """
>
> This seems to be consistently set to 4 or 5 for the _PLD method
> of the sensor ACPI nodes which I checked.
>
> So rather then defining a new devicetree property for this and
> embedding that inside the ACPI tables, IMHO it would be best if
> the ChromeOS devices would use the standardized _PLD ACPI method
> for this too.

Thanks for bringing this to our attention.

We don't seem to be using it in our ACPI tables, but I agree that it
sounds like something that should be populated.

However, we probably still need something else to describe rotation
(as Laurent mentioned) and position on the plane (when there is more
than one camera facing the same direction).

Best regards,
Tomasz


More information about the libcamera-devel mailing list