From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B10233F595 for ; Sun, 9 Aug 2026 04:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249604; cv=none; b=DvO6/Q0EeoS6ico12b03Uj5NHtXDSJc5xJZzB0d1s67YAsb1+Ku4bAh9MEOW0eY6S9ekYrXnumA/NCTsu/tJQDqaIEwtRdCnaSCjvE/KTksb8sOfc+f04Zj7M1CkQcVbwG8/I7lFGN2XXEjrcgMQJhttSrDUsbx1PTaYZdxScVU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249604; c=relaxed/simple; bh=iQBv7pUeEg3ytv+MCJ3yxgVxq3jCBJ5srbYcx2us9Ok=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Ta0K+baJcd18FG+eEqYIiOKFEYLf12klq/skc5XIQgNydBCEVMqRQBJAFU2WdU5cK1MV2yHz+mwexc1XLQVe6pCj/H2tMuvDaaZ7SCLkbwZtdX8VeIuxmGhhGA9vCWZmHIkukLlW6VjhAAv4IPX5cBT6aPiT3UIUL8UJTVrCvKI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sz6jyOU/; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sz6jyOU/" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-382ef647e20so826141a91.1 for ; Sat, 08 Aug 2026 21:26:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786249602; x=1786854402; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=jQPiHvxFttNhH3iwRqRd4nOB/qBhTJriz5rjrn2Jji4=; b=sz6jyOU/50EqUta3YzRbpx+9tfxCnHe1KyKq1gcLPAlsoKp7ZsAupwMdFOQLK4lyYV kgmuTDRI+m0c56isxqkoBJafzHejfoueKt/IDNGRFljVOEP0WD0fZ4PLhvZBy2lBqXBr vUkLYU6BSv6mTxAq3RpIiaDP66gIubgnyYG5PTnoYN8GcHJt5MeoIKUL8AAnZ8fO4mVg YElPc7WAGW5woEmK1LwmUoqPaRB1X+53Y5OwfsEep/m+uqcFHc/ux4esXIHJoEmZm+SC gllEysFS6zdNPUZ4Lb5HvRJzCf7xctUaiSssACOBsaRVniyJ4apHB4ErzGCSgOFtuxsK fGNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786249602; x=1786854402; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=jQPiHvxFttNhH3iwRqRd4nOB/qBhTJriz5rjrn2Jji4=; b=cwicoj9VYNqwx7l7tQp5my6OEGskagDThqAmsyKfUazJCbT7NVHoqXTc7kPOb7otaj S6OtjfkYca2ESoJuqgJaLTUqr59ov/DFWqqQfObBXlD7FzVicqF3rnWP0/6UO7dS5NNo Ho0i8d7ZH/5vaaCDXVNkT3wh7r5vpY8uazPU4W//KHxBl6dMrR/p8uLCdRwevNqgQ49q HbO+oOi/tbSquf2ZV4ypkA2z+F7rQRObFJ3+iDhINUhLK0FQqRfmJ1g4RQ8NS347AZUl GbHoByWMzEHEh1IyGRqSz3uYgB+Xvcs+JErwNKTNU52YLKl+NdTqUmcJJBwnA679xre1 JMww== X-Forwarded-Encrypted: i=1; AHgh+RrHiG2t9/EwsmBUFMUi/zXwsUNa8GpAlT3mn2WgZ6oWKl6pA18UWUp1ZV54URxxIWmX4I7Z6itQSy78Aw==@vger.kernel.org X-Gm-Message-State: AOJu0Yy3Iqui9bdpdMqLKrJUHRAuKsX2k1LHCpHu/dz5dQAQqEVl732c l4D76CPRHxSzkjI+emliDTIM9vZLf1tNOP4JCAm0Mp189OIzSUG0hsdYfckH/q2H X-Gm-Gg: AR+sD11UIK2ER0fuV5xRP+nmUIXg5cuH2ZRBlc77SztaGQBrlZaBHikgfuraX2k4Bde vAPdt7nnj21xCr8ggxMc1VHJCFRCYVjOxdM7Jwusgj3cwP3rl7psXfT+eZ0KWm567dd/tjTuJq8 elIUJVj97R7Mh3SvV29j15MFw3F2pQirI3NtW1CX4f7tJgUjAukzclFvLV23XKn4kEEoTo3wsG6 UugvCjXQOeIdwcwHfsQkXskzK0WdkaVPcJMcxLbFVsKTUdvw6El4/bTHz0R2zrLGtavKnvYQZc2 xvowH9MBlQVeby3MADzOmvW18NFaffOOBAMGnKtnI7Wgs37vBxmz4477sgdXlTvEnDS+liJKsZ7 VZRb8GUj/uoLzHTKNcH08SkcRWMF77quFPh/NXPYyAQXhNTMIS6mz2uTSRDexgmzXTxAMY3ZRjK UyKLLKnsL8q2mKROvdTiThXuLsW7FuSQaGL2jxINsq/LZXzmLk7LKHuHZohV5iHxkgnWQjgNZAb 70RF9DHe7Beo4O3Js0d/zwHIZBsk25W1Pd7zwrk/uHQz5u5b+be X-Received: by 2002:a17:90b:2f03:b0:381:a766:efc9 with SMTP id 98e67ed59e1d1-3903c53404amr35739006a91.7.1786249602278; Sat, 08 Aug 2026 21:26:42 -0700 (PDT) Received: from prof-g-y-land-Latitude-7320-Detachable (121-45-161-118.tpgi.com.au. [121.45.161.118]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1410199cf49sm21659516c88.3.2026.08.08.21.26.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 21:26:41 -0700 (PDT) From: Sahan Nissanka To: platform-driver-x86@vger.kernel.org, linux-media@vger.kernel.org Cc: dan.scally@ideasonboard.com, sakari.ailus@linux.intel.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com, mchehab@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/3] Enable the front camera on the Dell Latitude 7320 Detachable Date: Sun, 9 Aug 2026 14:25:16 +1000 Message-ID: <20260809042540.15849-1-adee.sahan@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series enables the user-facing 5MP camera on the Dell Latitude 7320 Detachable, which has never worked on Linux. Two open reports ask for it: intel/ipu6-drivers issues #24 (2022) and #402 (2025), the latter blocked waiting for "OV5678 sensor specifications (clock rates, power requirements)". Those specifications turned out not to be needed. ACPI describes the front sensor as OVTI5678 and no driver has ever claimed that id. The part reports chip id 0x005675 at register 0x300a, and the values ov5675.c is sensitive to were read from the machine's ACPI SSDB before the sensor was ever powered and both agree - 2 CSI-2 data lanes and a 19.2 MHz external clock. The advertised 5MP also matches the driver's native 2592x1944. So no new sensor driver and no new register tables are required to make it stream. One caveat, set out in full in 2/3: this part is not a plain Bayer sensor. It carries a 4x4 RGB-IR colour filter array, one pixel in four being infrared. That is confirmed from Intel's own Windows IPU6 configuration for this exact module, from measurements on the sensor at full resolution, and from the module's tuning data, which agree with each other. The SGRBG10 that ov5675 declares is therefore inaccurate, and colour is wrong in a way white balance cannot correct. That cannot be fixed in this series: the V4L2 ABI has no RGB-IR media bus code at all, and ox05b1s already carries the same inaccuracy for an RGB-IR sensor of the same class and resolution. I intend to propose RGB-IR media bus codes separately. Until such support exists, this series takes hardware that does not work at all to hardware that works with imperfect colour, which seemed worth having in the meantime. I am happy to hold 2/3 if maintainers would rather not add the id before the format can be described honestly. That leaves three small pieces: 1/3 gives the TPS68470 PMIC board data, without which the sensors are not even enumerated - they declare an ACPI _DEP on the control logic, so no i2c client is created until it probes. 2/3 adds the OVTI5678 id to ov5675. 3/3 adds the ipu-bridge entry so a software node is created for it. The patches touch two subsystems: 1/3 is platform-driver-x86, 2/3 and 3/3 are media. They are independent of each other in build terms, but none of them does anything useful alone, so they are sent together for context. Happy to split them if maintainers prefer. Tested on a Dell Latitude 7320 Detachable, BIOS 1.48.0, kernel 7.0.0. With all three applied: intel-ipu6 0000:00:05.0: Found supported sensor OVTI5678:00 intel-ipu6 0000:00:05.0: Found supported sensor OVTI8856:00 intel-ipu6 0000:00:05.0: Connected 2 cameras ov5675 1-0036: ... appears in the media graph and libcamera captures 2584x1944 at 29.95 fps. The rear OVTI8856 sensor shares the same PMIC. Its rails are described by the same board data, but its reset/powerdown GPIO assignment is not yet known, so it is deliberately left out here. Sahan Nissanka (3): platform/x86: int3472: Add TPS68470 board data for Dell 7320 Detachable media: i2c: ov5675: Add OVTI5678 ACPI id media: ipu-bridge: Add sensor configuration for OV5675 (OVTI5678) drivers/media/i2c/ov5675.c | 11 ++ drivers/media/pci/intel/ipu-bridge.c | 2 + .../x86/intel/int3472/tps68470_board_data.c | 92 +++++++++++++++++++ 3 files changed, 105 insertions(+) -- 2.53.0