public inbox for platform-driver-x86@vger.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hansg@kernel.org>
To: Thierry Chatard <tchatard@gmail.com>, linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org, platform-driver-x86@vger.kernel.org,
	lee@kernel.org, djrscally@gmail.com,
	ilpo.jarvinen@linux.intel.com, mchehab@kernel.org,
	sakari.ailus@linux.intel.com, jacopo.mondi@ideasonboard.com,
	nicholas@rothemail.net
Subject: Re: [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1
Date: Mon, 13 Apr 2026 11:45:54 +0200	[thread overview]
Message-ID: <25fd6ad5-0da9-485b-b507-9d1dc080cc86@kernel.org> (raw)
In-Reply-To: <20260324214129.17300-1-tchatard@gmail.com>

Hi Thierry,

Thank you for your work on this.

On 24-Mar-26 10:41 PM, Thierry Chatard wrote:
> Changes in v2:
> - patch 2: split trailing statements in aml_parse_int() onto separate
>   lines (checkpatch); add kernel-doc @param descriptions to
>   aml_parse_int(), dell5285_gnvs_from_table(), and dell5285_gnvs_find()
>   (kernel test robot); add Reported-by/Closes tags
> - patch 3: wrap long lines in commit message (checkpatch)
> 
> The Dell Latitude 5285 2-in-1 has two cameras (OV5670 front, OV8858
> rear) connected through a TPS68470 PMIC/clock/GPIO hub. All five patches
> are required for a working system; each is self-contained and
> bisect-safe.
> 
> Hardware topology
> -----------------
>   Front camera:  OV5670 (ACPI INT3479), I2C4 / INT3446
>   Rear camera:   OV8858 (ACPI INT3477), I2C2 / i2c_designware.3
>   PMIC:          TPS68470 (ACPI INT3472:05), addr 0x4D, on I2C2
>   ISP:           Intel IPU3 (ipu3_cio2 + ipu3-imgu)
> 
> The OV8858 is daisy-chained behind the TPS68470 S_I2C passthrough port.
> The TPS68470 VSIO regulator controls S_I2C_CTL (reg 0x43); marking it
> always_on keeps the passthrough active from boot so OV8858 is reachable
> on I2C2 at probe time.
> > Four problems must be fixed in combination:

Hmm, it is unfortunate that this 2-in-1 requires the first 2 workarounds,
especially the second workaround.

Patches 3-5 look fine at a quick glance.

> patch 1/5 - intel_lpss: The BIOS claims the same MMIO region for both
>   GEXP and INT3446 (I2C4). Without this quirk the kernel rejects INT3446
>   as a resource conflict and the front camera's I2C bus never comes up.

This one is a bit unfortunate but this is a known issue on similar
(Microsoft Surface Go series) devices with an IPU3 camera like here,
with a pre-existing quirk mechanism to deal with this, so I guess this is
acceptable.

> patch 2/5 - GNVS fixup: With I2C4 available, ipu_bridge still does not
>   create the front camera client because _DEP on INT3479 returns the
>   root PCI bus instead of the INT3472 handle. Root cause: BIOS leaves
>   GNVS fields C0TP, L0CL, L1CL at zero. Fix: scan DSDT/SSDTs for the
>   GNVS OperationRegion at TPS68470 probe time and write 0x02 (19.2 MHz)
>   into all three fields before ipu_bridge evaluates _DEP.

This one really is nasty. I'll reply in detail to the patch itself.

Regards,

Hans



> patch 3/5 - TPS68470 board data: No board data existed for this machine,
>   so no PMIC regulators or GPIOs were configured for either sensor.
> 
> patch 4/5 - ipu-bridge: INT3477 (OV8858) was unknown to ipu_bridge, so
>   it was skipped at CSI-2 enumeration.
> 
> patch 5/5 - ov8858 driver: No ACPI match for INT3477, and the driver did
>   not request the vsio supply needed by the S_I2C passthrough.
> 
> Tested on Dell Latitude 5285 2-in-1, Ubuntu 25.10, kernel 6.17.0-19.
> Both cameras appear in libcamera and are usable in applications.
> Note: the IPU3 IMGU can only run one pipeline at a time, so front and
> rear camera use is mutually exclusive.
> 
> Thierry Chatard (5):
>   platform/x86: intel_lpss: add resource conflict quirk for Dell
>     Latitude 5285
>   platform/x86: int3472: tps68470: fix GNVS clock fields for Dell
>     Latitude 5285
>   platform/x86: int3472: tps68470: add board data for Dell Latitude 5285
>   media: ipu-bridge: add sensor configuration for OV8858 (INT3477)
>   media: ov8858: add ACPI device ID INT3477 and vsio power supply
> 
>  drivers/mfd/intel-lpss-acpi.c                 |  32 +++
>  drivers/media/i2c/ov8858.c                    |  10 +-
>  drivers/media/pci/intel/ipu-bridge.c          |   2 ++
>  drivers/platform/x86/intel/int3472/tps68470.c | 201 ++++++++++++++++++
>  .../x86/intel/int3472/tps68470_board_data.c   | 163 ++++++++++++++
>  5 files changed, 407 insertions(+), 1 deletion(-)
> 
> base-commit: 6de23f81a4be5ee86a4df4fde0ca0c7bf67aecd1
> --
> 2.51.0
> 


      parent reply	other threads:[~2026-04-13  9:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-20  0:09 [PATCH 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-03-20  0:09 ` [PATCH 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-03-20  0:09 ` [PATCH 2/5] platform/x86: int3472: tps68470: fix GNVS clock fields " Thierry Chatard
2026-03-21  9:44   ` kernel test robot
2026-03-20  0:09 ` [PATCH 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-03-20  0:09 ` [PATCH 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-03-20  0:09 ` [PATCH 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-03-24 21:41 ` [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-03-24 21:41   ` [PATCH v2 1/3] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-13  9:48     ` Hans de Goede
2026-03-24 21:41   ` [PATCH v2 2/3] platform/x86: int3472: tps68470: fix GNVS clock fields " Thierry Chatard
2026-04-13 11:02     ` Hans de Goede
2026-03-24 21:41   ` [PATCH v2 3/3] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-03-24 21:41   ` [PATCH v2 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-03-24 21:41   ` [PATCH v2 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-04-13  9:45   ` Hans de Goede [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=25fd6ad5-0da9-485b-b507-9d1dc080cc86@kernel.org \
    --to=hansg@kernel.org \
    --cc=djrscally@gmail.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=nicholas@rothemail.net \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tchatard@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox