All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Chatard <tchatard@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: linux-media@vger.kernel.org, platform-driver-x86@vger.kernel.org,
	lee@kernel.org, djrscally@gmail.com, hansg@kernel.org,
	ilpo.jarvinen@linux.intel.com, mchehab@kernel.org,
	sakari.ailus@linux.intel.com, jacopo.mondi@ideasonboard.com,
	nicholas@rothemail.net, Thierry Chatard <tchatard@gmail.com>
Subject: [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1
Date: Tue, 24 Mar 2026 14:41:24 -0700	[thread overview]
Message-ID: <20260324214129.17300-1-tchatard@gmail.com> (raw)
In-Reply-To: <20260320000937.9177-1-tchatard@gmail.com>

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:

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.

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.

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-03-24 21:42 UTC|newest]

Thread overview: 59+ 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-04-29  9:29   ` Andy Shevchenko
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 ` Thierry Chatard [this message]
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-04-17 16:32       ` [PATCH v3 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-17 16:32         ` [PATCH v3 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-17 17:35           ` Hans de Goede
2026-04-18  6:31           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-17 17:40           ` Hans de Goede
2026-04-18  6:29           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-17 18:54           ` Hans de Goede
2026-04-18  7:16             ` Sakari Ailus
2026-04-21 22:52               ` [PATCH v4 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-21 22:52                 ` [PATCH v4 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-22  6:54                   ` Sakari Ailus
2026-04-21 22:52                 ` [PATCH v4 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-22  7:07                   ` Sakari Ailus
2026-04-25  5:13                     ` [PATCH v5 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-25  5:13                       ` [PATCH v5 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-25 16:31                     ` [PATCH v6 0/5] Enable cameras on Dell Latitude 5285 2-in-1 Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 1/5] platform/x86: intel_lpss: add resource conflict quirk for Dell Latitude 5285 Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 2/5] platform/x86: int3472: tps68470: fix clock consumer registration " Thierry Chatard
2026-04-27  7:48                         ` Sakari Ailus
2026-04-25 16:31                       ` [PATCH v6 3/5] platform/x86: int3472: tps68470: add board data " Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-25 16:31                       ` [PATCH v6 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-27  7:49                         ` Sakari Ailus
2026-04-27 12:06                         ` Hans de Goede
2026-04-21 22:52                 ` [PATCH v4 3/5] platform/x86: int3472: tps68470: add board data for Dell Latitude 5285 Thierry Chatard
2026-04-22  7:11                   ` Sakari Ailus
2026-04-22  7:13                     ` Sakari Ailus
2026-04-21 22:52                 ` [PATCH v4 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-21 22:52                 ` [PATCH v4 5/5] media: ov8858: add ACPI device ID INT3477 Thierry Chatard
2026-04-22  7:15                   ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 4/5] media: ipu-bridge: add sensor configuration for OV8858 (INT3477) Thierry Chatard
2026-04-17 18:56           ` Hans de Goede
2026-04-18  7:18           ` Sakari Ailus
2026-04-17 16:32         ` [PATCH v3 5/5] media: ov8858: add ACPI device ID INT3477 and vsio power supply Thierry Chatard
2026-04-17 18:59           ` Hans de Goede
2026-04-17 16:35       ` [PATCH v2 2/3] platform/x86: int3472: tps68470: fix GNVS clock fields for Dell Latitude 5285 tchatard
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   ` [PATCH v2 0/5] Enable dual cameras on Dell Latitude 5285 2-in-1 Hans de Goede

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=20260324214129.17300-1-tchatard@gmail.com \
    --to=tchatard@gmail.com \
    --cc=djrscally@gmail.com \
    --cc=hansg@kernel.org \
    --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 \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.