From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 C67BA3F65E5 for ; Wed, 8 Jul 2026 21:36:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783546607; cv=none; b=I2y+q3IQbL0WwqzML+MesarwnHlbrcxJPtgW1MpWStl4vna03VWFrvtLRe6D/pU98IPVaRTb54XBfa61Fo+8jGhovMzxQOH6Zb4oeWBNoxaqY4EekFHu/iyPLr0X5nEXxMFRySg5j9cqUBvcndJ/+TqaY8TApt4JK0qhC2ymmak= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783546607; c=relaxed/simple; bh=5m54YSkayBjfymTOaMTs63W9YSbPr5wsG6NiuXstMy0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=p+0a0XH5SarJu8mbXRtzFHXXyRJv/S3SYV7vVu00QVLgdNsZIjxL8Q06vLPxVH+YNlxmXW1OC7gvaocGZhZqtCNk06x5LQqSupbWst5TPYb/mlKXj2U7uozwMDPUR75qegVHaZL+7UUr7PuAI7v8XvSMc7i6+AlfKz/ZgljGqYM= 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=snderf5a; arc=none smtp.client-ip=209.85.128.48 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="snderf5a" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-493bfe9f886so6210275e9.0 for ; Wed, 08 Jul 2026 14:36:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783546604; x=1784151404; 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=nfr4hNPDMxSC3hDg5gyegf7QLZwqwa7EAfP6d1SzZr0=; b=snderf5anVnu1clOujZ2nDKvzB2vbpS8zIQGAL6p+WTX+FNQ0OadP0gHT+NZLZrwfv KhYqUivgJ1ryUXTdbtVuwAis+aDW77QBP2cVVYUHakOuorSmiRhL2sMcws+MzaLHpY8M Bje7YwExXEGjS+5P9CiLVtdGzBf0sLeU8SRWUCQD9YAMLvNdtXo6+QwdNQ6957lifR79 Kqha31ENlqT9LeA6HdfVynxlUbRfrSrhbZhS+2MlE5acmc2wKltf0f4aHRTvdX/U3Aen ibx1gQxHv0135WyNhcAItuAtbUK2URcQHs35VAblUZL3TQHl1ah5BUILNMBWK5mqryiE 71Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783546604; x=1784151404; 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=nfr4hNPDMxSC3hDg5gyegf7QLZwqwa7EAfP6d1SzZr0=; b=c69OEkJ0V/O0I3uRhYsOFWSarJ5AQna33cLkDHPa8epfxMTRoulhqV9YKy3/GFA2dG Sp3+t2NB7EoQRhkn/07RY94DHqIsRFJC0PPsVe8fYqJ3lG4o7auisbDGhWkzKXdVYC3k i+liWE3Xh/DG5dm7ijqEMMXzgeyHQx5UsgFJqtIa7OqmairVRoLp5u91IyRSmBx1AT0R EfOLJrqWfBAFeasvQiSbPh6FtKKPEVxoi+09K3M0iCsPrd/JFdBieEVWx2sbLvyjJ4QE vYaLKfnbDn+uYUcfUF+RrgnDoXEi/OyyUqChIY4lIg5b1X6AKnN7jTlZdXpzLMj0B/MX uzPA== X-Forwarded-Encrypted: i=1; AHgh+Rqwe6qMWRNLlvBImcqzfMXqPgx+jhhW1NdgvftxOdyNaUiQw4XdPjhq3uwo7NSGi9Khd1QcPMftrGayp7I=@vger.kernel.org X-Gm-Message-State: AOJu0YyC620up4yHdhk6fN/CH9QZoVQJyUhaUVZ9FkqYfW+GUM1Ac/hh xHFDDTbOs+StdSqvLvi7C0MfUY/NQRrqeoelmnJ2E86G/m5bTDT9j408 X-Gm-Gg: AfdE7cmSXpzLo/mlmw2swP6jF0Tzka+304gpF3Z9QFyHkeB20C5CxoWUof6zBXuWDDg g1kbQhzjXbWvNqB/ubWCdr3aYDNUn6q3UsMbD2E/LPI+7uK1auUarJUbtSi/RFgJZqIcbAEvV1N WlhLYpHw/Y4d47PbtFprgGT26v2pVrLqajqyUkm8TT3/284KCU8ZSv7VUFRQY2qV/VUsF+PtlMV 5tGQQNVM5v9nFGUaGZuIjWS9TUNE+GtO9msKa+Z/F3NY0y4MTHuNQ1hK/jYFsCIE7A4n+MdLMbp 55gFwsekZQGHpX4Lqo5zmeHZz0GLs7OHveW9hxR0BM6yuTC0SLVAh73w0NIepC/Ak/6HR0AgxaQ jcRA8D6MOuMDwIOG2Y89fPHx3EIdfA4zZNZm7F16Q0cdr6QCfEzlkWJ+d9HXgfwrukuf7CamowQ AjBryl718zM3PCEoO/2VQo/WW8t268ndHRCRYPdw== X-Received: by 2002:a05:600c:3548:b0:493:c4e1:40a6 with SMTP id 5b1f17b1804b1-493e6873594mr39471085e9.32.1783546604034; Wed, 08 Jul 2026 14:36:44 -0700 (PDT) Received: from localhost.localdomain ([2001:b07:5d3a:fe75:ecea:55a7:5b01:7b9f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47a9e3e2702sm47900063f8f.9.2026.07.08.14.36.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jul 2026 14:36:43 -0700 (PDT) From: Fernando Rimoli To: Daniel Scally , Sakari Ailus , linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, Fernando Rimoli Subject: [PATCH] media: ov5693: add OVTI5693 ACPI HID for IPU6 Surface devices Date: Wed, 8 Jul 2026 23:36:33 +0200 Message-ID: <20260708213633.18392-1-fernandorimoli11@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The ov5693 driver only matches the "INT33BE" ACPI HID. Some Intel IPU6 Surface devices (e.g. Microsoft Surface Pro 9) enumerate the same OV5693 front camera with the ACPI HID "OVTI5693" instead. Without this HID the i2c core never binds the driver, and the IPU bridge never builds the firmware node graph for the sensor, so the front camera is unusable. Add "OVTI5693" to the sensor driver's ACPI match table and to the IPU bridge's supported-sensor list. The link frequency (419200000) matches the existing INT33BE entry, as it is the same sensor. Devices that use "INT33BE" (e.g. Surface Go 4) are unaffected. Tested on Surface Pro 9 (IPU6): the sensor enumerates as OVTI5693:00 (ACPI path \_SB_.PC00.I2C3.CAMF) and binds with this change. Link: https://github.com/linux-surface/linux-surface/pull/2171 Signed-off-by: Fernando Rimoli --- Note: this HID addition makes the sensor bind and enumerate, but a fully working front camera on IPU6 also requires programming MIPI_CTRL00 (0x4800 = 0x2d) before stream-on, otherwise the IPU6 CSI-2 receiver never locks and capture times out. That register change is being handled separately (see the Link: above). This patch is independent and useful on its own for enumeration, so I'm sending it standalone; happy to reorder if you'd prefer it after the register fix. drivers/media/i2c/ov5693.c | 1 + drivers/media/pci/intel/ipu-bridge.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/media/i2c/ov5693.c b/drivers/media/i2c/ov5693.c index 4cc796bbe..02236f3db 100644 --- a/drivers/media/i2c/ov5693.c +++ b/drivers/media/i2c/ov5693.c @@ -1396,6 +1396,7 @@ static const struct dev_pm_ops ov5693_pm_ops = { static const struct acpi_device_id ov5693_acpi_match[] = { {"INT33BE"}, + {"OVTI5693"}, {}, }; MODULE_DEVICE_TABLE(acpi, ov5693_acpi_match); diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c index 88581a4c0..b70d61099 100644 --- a/drivers/media/pci/intel/ipu-bridge.c +++ b/drivers/media/pci/intel/ipu-bridge.c @@ -93,6 +93,8 @@ static const struct ipu_sensor_config ipu_supported_sensors[] = { IPU_SENSOR_CONFIG("OVTI2680", 1, 331200000), /* Omnivision OV5675 */ IPU_SENSOR_CONFIG("OVTI5675", 1, 450000000), + /* Omnivision OV5693 */ + IPU_SENSOR_CONFIG("OVTI5693", 1, 419200000), /* Omnivision OV8856 */ IPU_SENSOR_CONFIG("OVTI8856", 3, 180000000, 360000000, 720000000), /* Sony IMX471 */ -- 2.43.0