From nobody Tue Sep 29 10:29:01 2026 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) (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 3D29F386425 for ; Sun, 9 Aug 2026 04:26:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249613; cv=none; b=FJBXn/qJFm4ZrbEHOTq38izypeLQrQ5pm+B5/Za93fkjEZqxcX8N0u6OgKjXKA59BuEwz2V9nBMXgVPtaYAgZ4rUO9nKXjR0oU9uVV3JVfbSpBdBCD2XxbtBMhHbCvtnb1IDRZVhxjxNxGaPQTvpie00vyQHOOCYcklszfV7J0w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249613; c=relaxed/simple; bh=ouw44kHGedVeO0E+hLA3fb+FxAY3evm4VsKzPJMMlpk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eekgHTEwjG3hWLPXHLoyquD0/Sm65qWqAE5XwSBWTmte+FMeKtVsWpzKR0hr9XAgP5Hw45CBiYrLShSQAAYubtpUvZPTZNapcb5Pyo08/s1wKTdMZlQH8XzxTsLVVGTPZyaPnzMWvu1iRoPaYL2880lmSkKq37dpmOSgKk4ELc4= 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=ZEV1LNeI; arc=none smtp.client-ip=209.85.214.180 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="ZEV1LNeI" Received: by mail-pl1-f180.google.com with SMTP id d9443c01a7336-2cf27856f9cso9098165ad.2 for ; Sat, 08 Aug 2026 21:26:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786249611; x=1786854411; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=SGeSbVJTIYqzecVclabk6CPYlIjPO3PArrjverwRDGI=; b=ZEV1LNeIQSQpAJeWQFEPIe7fZFsu3HLT9fQa/W37rjWm+TydYLH4/8gGDHnp3ptDZh Xxt2JBORx9GxIZo9t4L5iG5kw7sMM1yCmtvpCiR1Uxa99LCIdk30IJJyGtxQZjRGrQlr VqClo+JrSTy9fFe3/1dPcMxwuHh4XZJF4F2o92Sf5E/e00I6L8cFgCMVrmjbjvTgMp9d RYkrJkn6elyT2NZk8eMdA+sPClgrzfHM8gmnP/ux/ayh5oloa3uXSo6bWcLbYebU4lT1 5hB7ERY5w8zR5FyjtjXfA5TpVMJlIU3D0sD/waleTzd18Q+hxZ8rZi57DhTLReTgr1VN uN1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786249611; x=1786854411; h=content-transfer-encoding:mime-version:references:in-reply-to :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=SGeSbVJTIYqzecVclabk6CPYlIjPO3PArrjverwRDGI=; b=Irfa7nbIahvjmTA2b79K+u/pVy4XvDcDPY4uIQ2YunjlG+qmgTPDf3z+PthNlM5WGR O5PJwgGJmnPHcXNLKOON6Dkxii6OfVXpcd501mPrqLlGoXCy3RaUBGjsnSTvrLZimeO8 YQM+FWj0O7bGH9VC/JxYXa3NSm3hN7ApYoaAkcouxs1B7LKyGDRF7dJJ06jP866Tn5l6 DyGQhtmqMapRriqCQriJHXUOF+bgh3YeQbN/cfsE+JGp5UqBxMa78k5KzJJIBKFLoxVB K3L4EBOIN6aOQUDRPZoR/H3WC+npDzd3N/nm8ABnuSkVewI3Ap1+atuOWS4g/alkz6kM WA1g== X-Forwarded-Encrypted: i=1; AHgh+RpwAhh6MB345vE79cKIBprHKMwkiLDK6ELoS0iM6whWqHOjQYPNfZf2Ph2CouGb9CoguetYcKLNMh9Igy4=@vger.kernel.org X-Gm-Message-State: AOJu0YwTrvBRGbUGQek+d+x78x/uTH60flOzIb6S6UIlUZ38O0dRNHuz i16OE/2vq2IaD8yLnZ9rH4auEvyehdt82hVuscAWSzULQ8XuqHHteW5Z X-Gm-Gg: AR+sD121Y2frqiICJ9q6Nn2f3wwDgTIKy/aTiDRQpBtBFVsU68Y+H/2ydbzhQClSwfW Y9lkskLlYEJzrIk4BF2hLPKtg22WPP+iJc5wLSZz3i0Rc4rcnR07KtAe5RPA9/ZMk6mlQNWeq8c mvR1rCxbRDzARrhh3ykfXfLvYqbgcsoyAFl/CRAAcP1kH/RYFAWRbAf7JQXfWx1icgw4Kl/6pw8 jHc7wGjXL1CrwwU5iFBRF/Q+3Lj1cPFvmVFVa0pbXLsLqt0k0NqYdg5QWMbAplkU/H7L7xXVNzd LcnK8HbZJpKQu5zkmUGWjOEw8yPr7lgFvaKTk1+Bqzc61HzOVYdu+MvNjkI4L1gXtuXUR/h0kBx XQP0x7erZD086IbuaHmYeGnBEi+t2f6l1u2SMPLsL03Ru8cgRGdRTBPyopLAdgZ5mohxMGYLiiv YcqWN5UG12KKlmvx8DMV13zEd2FXo3qMyMuhClEE+DgzkQ6C47uI/W5TWLpR7L8Zh/WVv0M9T9g YRiWXT9i4qb3hQT3Wmka2z1dbcwnJel6b0QSmQeYe8Pm6zQ943RaPZXPuob6HY= X-Received: by 2002:a17:90a:da83:b0:38e:2c8f:a01a with SMTP id 98e67ed59e1d1-3903c5d2f8bmr34453647a91.11.1786249611305; Sat, 08 Aug 2026 21:26:51 -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.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 21:26:50 -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 1/3] platform/x86: int3472: Add TPS68470 board data for Dell 7320 Detachable Date: Sun, 9 Aug 2026 14:25:17 +1000 Message-ID: <20260809042540.15849-2-adee.sahan@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260809042540.15849-1-adee.sahan@gmail.com> References: <20260809042540.15849-1-adee.sahan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Dell Latitude 7320 Detachable has two MIPI cameras behind an Intel IPU6, both powered by a TPS68470 PMIC. Without board data the PMIC driver fails: int3472-tps68470 i2c-INT3472:07: error -ENODEV: No board-data found for this model and because the sensors declare an ACPI _DEP on the control logic they are never enumerated at all - no i2c client is created for either of them, so nothing can bind them. Add board data for the front sensor, which ACPI describes as OVTI5678. The GPIO and rail assignments are the same as on the Dell 7212 and the Dell 5290 2-in-1: reset on tps68470-gpio 3, powerdown on 4, and VSIO/AUX1/AUX2 feeding avdd/dvdd/dovdd. This was confirmed on the hardware - with these settings the sensor powers up and acknowledges on i2c, and with the conventional ANA/CORE/VSIO mapping it does not. The CLDB buffer read from this machine also carries C0W4=3D3, agreeing with reset on GPIO 3. The rails that have no consumers are wired as on the Dell 7212, so reuse those regulator_init_data rather than duplicating them. Note the control logic here enumerates as INT3472:07, not :05 as on the other Dell models in this file. The board data lookup matches on DMI and device name, so this has to be exact. The rear OVTI8856 sensor shares this PMIC but its GPIO assignment is not yet known, so it is left out for now. Signed-off-by: Sahan Nissanka --- .../x86/intel/int3472/tps68470_board_data.c | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/drivers/platform/x86/intel/int3472/tps68470_board_data.c b/dri= vers/platform/x86/intel/int3472/tps68470_board_data.c index 71357a0..f32a884 100644 --- a/drivers/platform/x86/intel/int3472/tps68470_board_data.c +++ b/drivers/platform/x86/intel/int3472/tps68470_board_data.c @@ -232,6 +232,69 @@ static const struct tps68470_regulator_platform_data d= ell_7212_tps68470_pdata =3D }, }; =20 +/* Settings for Dell Latitude 7320 Detachable */ + +static struct regulator_consumer_supply ovti5678_vsio_consumer_supplies[] = =3D { + REGULATOR_SUPPLY("avdd", "i2c-OVTI5678:00"), +}; + +static struct regulator_consumer_supply ovti5678_aux1_consumer_supplies[] = =3D { + REGULATOR_SUPPLY("dvdd", "i2c-OVTI5678:00"), +}; + +static struct regulator_consumer_supply ovti5678_aux2_consumer_supplies[] = =3D { + REGULATOR_SUPPLY("dovdd", "i2c-OVTI5678:00"), +}; + +static const struct regulator_init_data dell_7320_tps68470_vsio_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1800600, + .max_uV =3D 1800600, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(ovti5678_vsio_consumer_supplies), + .consumer_supplies =3D ovti5678_vsio_consumer_supplies, +}; + +static const struct regulator_init_data dell_7320_tps68470_aux1_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1213200, + .max_uV =3D 1213200, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(ovti5678_aux1_consumer_supplies), + .consumer_supplies =3D ovti5678_aux1_consumer_supplies, +}; + +static const struct regulator_init_data dell_7320_tps68470_aux2_reg_init_d= ata =3D { + .constraints =3D { + .min_uV =3D 1800600, + .max_uV =3D 1800600, + .apply_uV =3D 1, + .valid_ops_mask =3D REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies =3D ARRAY_SIZE(ovti5678_aux2_consumer_supplies), + .consumer_supplies =3D ovti5678_aux2_consumer_supplies, +}; + +/* + * The rails without consumers are wired the same way as on the Dell 7212,= so + * reuse those init_data rather than duplicating them. + */ +static const struct tps68470_regulator_platform_data dell_7320_tps68470_pd= ata =3D { + .reg_init_data =3D { + [TPS68470_CORE] =3D &dell_7212_tps68470_core_reg_init_data, + [TPS68470_ANA] =3D &dell_7212_tps68470_ana_reg_init_data, + [TPS68470_VCM] =3D &dell_7212_tps68470_vcm_reg_init_data, + [TPS68470_VIO] =3D &dell_7212_tps68470_vio_reg_init_data, + [TPS68470_VSIO] =3D &dell_7320_tps68470_vsio_reg_init_data, + [TPS68470_AUX1] =3D &dell_7320_tps68470_aux1_reg_init_data, + [TPS68470_AUX2] =3D &dell_7320_tps68470_aux2_reg_init_data, + }, +}; + static struct gpiod_lookup_table surface_go_int347a_gpios =3D { .dev_id =3D "i2c-INT347A:00", .table =3D { @@ -258,6 +321,15 @@ static struct gpiod_lookup_table dell_7212_int3479_gpi= os =3D { } }; =20 +static struct gpiod_lookup_table dell_7320_ovti5678_gpios =3D { + .dev_id =3D "i2c-OVTI5678:00", + .table =3D { + GPIO_LOOKUP("tps68470-gpio", 3, "reset", GPIO_ACTIVE_LOW), + GPIO_LOOKUP("tps68470-gpio", 4, "powerdown", GPIO_ACTIVE_LOW), + { } + } +}; + static const struct int3472_tps68470_board_data surface_go_tps68470_board_= data =3D { .dev_name =3D "i2c-INT3472:05", .tps68470_regulator_pdata =3D &surface_go_tps68470_pdata, @@ -287,6 +359,19 @@ static const struct int3472_tps68470_board_data dell_7= 212_tps68470_board_data =3D }, }; =20 +/* + * The control logic on the Latitude 7320 Detachable enumerates as INT3472= :07, + * not :05 as on the other Dell models here. + */ +static const struct int3472_tps68470_board_data dell_7320_tps68470_board_d= ata =3D { + .dev_name =3D "i2c-INT3472:07", + .tps68470_regulator_pdata =3D &dell_7320_tps68470_pdata, + .n_gpiod_lookups =3D 1, + .tps68470_gpio_lookup_tables =3D { + &dell_7320_ovti5678_gpios, + }, +}; + static const struct dmi_system_id int3472_tps68470_board_data_table[] =3D { { .matches =3D { @@ -316,6 +401,13 @@ static const struct dmi_system_id int3472_tps68470_boa= rd_data_table[] =3D { }, .driver_data =3D (void *)&dell_7212_tps68470_board_data, }, + { + .matches =3D { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Latitude 7320 Detachable"), + }, + .driver_data =3D (void *)&dell_7320_tps68470_board_data, + }, { } }; =20 --=20 2.53.0 From nobody Tue Sep 29 10:29:01 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (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 E1CDA33689D for ; Sun, 9 Aug 2026 04:27:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249624; cv=none; b=o+4/TZwEaB61knL8A8CHg591aOc7h3xPJYX3G3G11gQIaCnBDee4TF+xjUC5TaPNL9iostBQnwWOX5LPUFjTVsw1mxA5lD5AtFDrCKG+cs3JG4MXd64p1kjI1o/vxWwYzNjONRTMYZr374Tukgll3OaO/MMEjorPT/Jbo7qExY0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249624; c=relaxed/simple; bh=cEHlWZML2ga4aWj1RY2I55GP/wsvqEDgh9jmkMn/Q34=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tfveZ04yn23/JDp9MQWW4z6I383UdZdTAwOxKLX6ZHV7GS/mr6hSoUIugZaMPJnwS7gpgWToWda34lC6oWH3zmG4UBay2BSGex6F3tgDpZltYatPUHVFPLymcWf4GUqmeNG5Lgn4FI3YIzJgSevEQO7CFxJRi+nKFPGI+7oQWYs= 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=sN5zvBQ4; arc=none smtp.client-ip=209.85.214.179 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="sN5zvBQ4" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2cc7ef7ec27so9141835ad.1 for ; Sat, 08 Aug 2026 21:27:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786249621; x=1786854421; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Hq8Gl8becy/WF/DMiRZlVep4ksVkXKkaPmZC8U6R6nM=; b=sN5zvBQ4TKB1JLgmbBzzG96z44kOPKrjOXI7JOlHWb8X2wZAvvMLn7jnrjVEwaJnO6 QTaiOgIMUUXq+OLdUgRUAi/Be6clY9forJiC2aN7v9UlOoM4Fyg1V0/ouwdY1PLMvaOO R4ZC9U9fGSmjaMuT5KjgOnfu/jE4nox4BOcwzA7dbytO9T1KCi/VhrAi80X/3lX2O8KX tWsQzCB+HIDqFR4mrZclj+uMJBYaXjxeSTK2/gUmkeyUEfsrP8fZqsq7dc6bGRcsYPxY rGtW5PMtJUgPPeEMB5Y602FGL8X3tnGB8PmT5QoJOJff7xI743izvE5qO7TMDHKw9ag8 GhDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786249621; x=1786854421; h=content-transfer-encoding:mime-version:references:in-reply-to :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=Hq8Gl8becy/WF/DMiRZlVep4ksVkXKkaPmZC8U6R6nM=; b=kxQOLzuiCP5oCYeJ/FkAguzDhAInqapeZ3ARMC7/farPrrMqqof0exishIzqGy7laJ GKLPF3zkKxO5bxv4AFby15Nc1aHcjvB8V7EvKQ+mPWx/J6O72HvoeQXQk29dDpz0lxH5 CHCutqLAwBoffZ8W/R4a215yKfQr9R7bAHMB1lqFBTcS7U51523xrNaYyAAN6wNAAI7N ++W/y04ufvZWzlmGKUmS8lhZ6CL8fi25o9/smhPVgI+FYUyAwHlWR2T1Ce0lowLI0h4m iBUAU2cxuuZUVtNtFni82xeAXyWcvqkvD78kem8q56Ti5Hzarjqx9VGXAU9gYme1bcPm La7Q== X-Forwarded-Encrypted: i=1; AHgh+RrmJRZbwIQZkibBc+EdRmxz9VaBIaYAhAOhtRCa1EF1X0d/zybNgGx7PK58kcIOv7GzpEmBDp7si3MKGZc=@vger.kernel.org X-Gm-Message-State: AOJu0YyfyNazFG0Ub/yhx45M5/suIbIavzZqYrkvKHh3Dmcbe5rZEhJU CSw008BM+YtHGCPyc+0HGgISrdv6/N2TJDgHlVveLzwx9982LoKXETPF X-Gm-Gg: AR+sD11CgJ5q9cHvHthDwGKkziBTB4J9/NIAuvIhkr1P342uMfD+upfPWjauSSQSFuP rTepYU1Tal0zcsgmXv5gS05Oc7Mi0VljvqNn8UVpnyKDvUlnLwDwPhEfxhJBHm41NDrP29TvNss +egK/4+n5stqTsIdg/L9elIGPYa6XX5SgI12Kw3bh+Kb3MHdFCOBxDLU8mDlM9i1bBVRM9J7+YO 4XM7VpuGZI4sw6ESAZ7aSZ5I4lG8Au1+gTPJGwc7P7lpEPcZuEKXvalbp2SLBHGhely1eUVY3ma 8OAxWmHpJcMHYfVn34aZoFTWHS8MAFT1Vw/rSpmToeW+yXVmfF48NBJ7HoR4DnkVRsghZUwswC8 2ofymtfxnc1B9yLBqjmo9LyPzJUTvJ2hqHbv8pxXtlSzHgzEv3/t5jI0p1qn4mQQTgurkWFhXhe 0AHmD3cPXylqjIJIq9ST6LICu33RjCl04IfOTfgJxRdKlJCYBcTmB7504yV3hfgS9YuF2XyZGZU Fi9fXDFAS0kzQeW0AIKe8vIRmHxIHim8C/bUMw5jtzQW94xqjQ4 X-Received: by 2002:a05:6a21:4d8c:b0:3b4:75c0:3ec0 with SMTP id adf61e73a8af0-3cbce94fef7mr12969462637.30.1786249621385; Sat, 08 Aug 2026 21:27:01 -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.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 21:27:00 -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 2/3] media: i2c: ov5675: Add OVTI5678 ACPI id Date: Sun, 9 Aug 2026 14:25:18 +1000 Message-ID: <20260809042540.15849-3-adee.sahan@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260809042540.15849-1-adee.sahan@gmail.com> References: <20260809042540.15849-1-adee.sahan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The front camera of the Dell Latitude 7320 Detachable is described in ACPI as OVTI5678, and no driver has ever claimed that id. It reports chip id 0x005675 at register 0x300a, which is what ov5675_identify_module() expects, and it streams with this driver unmodified: ov5675 i2c-OVTI5678:00: chip id at 0x300a reads 0x005675 reg 0x300a =3D 0x00 reg 0x300b =3D 0x56 reg 0x300c =3D 0x75 The two other values this driver is sensitive to were read from the machine's ACPI SSDB before the sensor was ever powered, and both agree: L0NL =3D 2 data lanes (OV5675_DATA_LANES) and L0CK =3D 19200000 Hz (OV5675_XVCLK_19_2). Native resolution matches at 2592x1944. With this id added the sensor binds and streams: libcamera lists it and capture runs at 2584x1944, 29.95 fps. This part is not a plain Bayer sensor, however, and the format this driver declares for it is inaccurate. It carries a 4x4 RGB-IR colour filter array, one pixel in four being infrared: G I G I R G B G G I G I B G R G Confirmed three ways. Intel's Windows IPU6 configuration for this exact module - matched by ACPI _DDN, so not a near relative - declares bayer_order=3D"GIGI_RGBG_GIGI_BGRG" and sensor_type=3D"RGB_IR". Measured on the sensor at full resolution, positions a 2x2 model treats as a single channel differ by 18% while the four infrared positions agree to 0.4%. And the module's Intel tuning data carries a 4x4 channel index map that agrees with both. Read as the SGRBG10 declared here, the "blue" channel is pure infrared and the "red" channel interleaves real red with real blue, so colour is wrong in a way no white balance can correct. This cannot be fixed in this driver: there is no RGB-IR media bus code in the V4L2 ABI. Nor is it unique to this part - ox05b1s declares SGRBG10 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 patch makes otherwise unusable hardware work, carrying the same known inaccuracy as the existing RGB-IR sensor support. One further note for anyone building on this: the sensor's binned 1296x972 mode averages infrared pixels together with colour ones, which destroys the mosaic. Only the full resolution mode is meaningful for an RGB-IR aware pipeline. Signed-off-by: Sahan Nissanka --- drivers/media/i2c/ov5675.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/media/i2c/ov5675.c b/drivers/media/i2c/ov5675.c index ea26df3..99dbf53 100644 --- a/drivers/media/i2c/ov5675.c +++ b/drivers/media/i2c/ov5675.c @@ -1355,6 +1355,17 @@ static const struct dev_pm_ops ov5675_pm_ops =3D { #ifdef CONFIG_ACPI static const struct acpi_device_id ov5675_acpi_ids[] =3D { {"OVTI5675"}, + /* + * The front sensor of the Dell Latitude 7320 Detachable is described + * as OVTI5678 in ACPI, but the part reports chip id 0x005675 and its + * SSDB agrees with this driver on both other values that matter: + * 2 CSI-2 data lanes and a 19.2 MHz external clock. + * + * Note this variant carries a 4x4 RGB-IR colour filter array, not the + * 2x2 Bayer declared here, so colour is incorrect. There is currently + * no RGB-IR media bus code to declare instead. + */ + {"OVTI5678"}, {} }; =20 --=20 2.53.0 From nobody Tue Sep 29 10:29:01 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 AC85933689D for ; Sun, 9 Aug 2026 04:27:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249628; cv=none; b=sUuU7x0Shjl9+m/zm+EJaI2grHgJDk9UG7rD8KIFkQdvy/QNlR+vmxDuktgP2kyjjrFUNG/SgFlsmJO0gkdXkrU0Hfw7CkuUkjsDkrFXvUzZgVwrpyhA30gOKoAee7BBbfJ4aDJw06NxebchTMuXJA8zrRGv+QubWztJ7Yl5hsg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786249628; c=relaxed/simple; bh=3BLRNn9BFgWPIcjS83UUdtk2AE6DhPirjaUW6ukskX4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Cjl7qAG+1uPn6U2MUEWprq811oddj1hYVE0WcItZEbPmXRT/XIJGtgnvV8HPuYo2SAD3GnvGpAkY6HrlcJu4ZvcRT0xjB3ojoPav6R3ZfIbghSmmyaDnkeDSQLLNBSOcXZNf1D/1QRGgAUp+61cmiC9MjDCqWggiuBPZh6+X8iQ= 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=dI65B5kF; arc=none smtp.client-ip=209.85.214.174 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="dI65B5kF" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2caea3f742bso13406445ad.0 for ; Sat, 08 Aug 2026 21:27:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786249627; x=1786854427; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hoKe5zyW8uN2y0zixFka7SwpyUgNoPXFgQjUlHoz6IY=; b=dI65B5kFr0zS8rqqTyxfAWjU6TLloVMTiFsB7/K9embJBbhLbrgLPvcE8h3FFeOv67 3krTDnHDQUkiyONcbZ5lLcjypO9pMuCuLFInzLJGHr2HwTGvvfygOeFuIlW97jkap052 AnIcXmtykopC+EgL0OV0cScdZfmx0fiOVfBUnV9aFslpaT8jCkIjffmewizLkLgaHOnM V/FrhndyAqlqzTmYcVUZCfGL+ygsy/SK1N5AVSTyFgCpt0c5QyAv03MElmI+iAxj8ScR mAdfurGEalwMd8B4/lEglS/Szd4VO7R+EpdraC6zlpt0rdFKKkrxV8Vg1GicKkHbZXQw 34Ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786249627; x=1786854427; h=content-transfer-encoding:mime-version:references:in-reply-to :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=hoKe5zyW8uN2y0zixFka7SwpyUgNoPXFgQjUlHoz6IY=; b=QHK6YMY5ZQgEZa9iuLhDEqP4x8MQLwybuh22tXEdeMt7aeMATzISg/uydni5aauBU/ RdDTgs01V7YQBGEqbFPcklWmG04RoTCPSxRddlvvqER+TAD2dHayYNDdDzLdmUFzwefB XpuYni6h6RobgMYh6EdbMTI0aPqa73XMVusM+0eo97ZRFIas8qWE1Vq59BQh7lztzhtG X5PbLiJ28VoOICiuaEc3KgfrZaF2GV/f/MJnPWaWhm6bpOTBAioaDx+9IUFnIAscL14J QdUEMDA6bNyU8zHXfMIURZolUf8DYp3uTyr2QV1fw4KIk+b6kiT+FUFqASTPPR52tifh K+DQ== X-Forwarded-Encrypted: i=1; AHgh+RoLMyR9gf1NJdC2IW8cVPGpi0pbquQ1R3MPjga68F5zxq6dfgXsRos7z+CRakUdTEUo7dP8/b0kgNON5Ic=@vger.kernel.org X-Gm-Message-State: AOJu0YwY0YRzK4tvZ5bdJV2P0twl4cVJjEkv1Yk3Y84Y/UBv+WJvUJgu qAzyFQb0uBf7Dm5maH4tTWsnmZKfM0mJ8efBAle/RZ29Gv/J3ZR0Bmlh X-Gm-Gg: AR+sD113rv4/eV4VVB5tbkJM2OH+gHmM2F/a4T7VhwonqhrZPYJZi5OiDaFBpJHIEGA 1JbxNjb2cNK8+9ds5TDrIeKxj+hNaH8+jlpRfExoNv/QHBlRNJ+W5Y4L3r8JuGa63ls3wNafSNc u6hQldrAhxGjJ2bdgvGDei1qq90L6wru0cMRpsq8UBwGIAcPmNgxj4ZP/4iCvDrLRUm6lMY2RaH bhlDI0227u/RJ0KN04+6x/ml7lEX7h1Z5tQolWbthfI52C/6KsGl4RVIHtS0yF3zBFD72PUt5Wz fxU4Hgknq59Zd02nV/nr7Yh7stS2yidsBnXK337UVlkmKZqJ1mC/DrlEoFQ2wcA6P47anbrqvaB VK8U+X+EizwQ+78a7fNZOKThjkWgENEi5grVN6gr9fKdsjmz5E7hShviQ7dIIB8G1ESl9yfdpRA inS6E4LEIBjxhJjwzdBKETsej6flSGqlEqed9wiurWlG6b5p3DlCxv3EKyKuRDucVrKvA/oRevQ aJWmLRENjdMyFw82/hTH99lURM8yrHU/hDjfshCnuNSIvM6hjKG X-Received: by 2002:a05:6a20:6a1e:b0:3b4:7e2d:a3c2 with SMTP id adf61e73a8af0-3cb85ec567bmr31633197637.18.1786249626830; Sat, 08 Aug 2026 21:27:06 -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.27.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 21:27:06 -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 3/3] media: ipu-bridge: Add sensor configuration for OV5675 (OVTI5678) Date: Sun, 9 Aug 2026 14:25:19 +1000 Message-ID: <20260809042540.15849-4-adee.sahan@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260809042540.15849-1-adee.sahan@gmail.com> References: <20260809042540.15849-1-adee.sahan@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The front camera of the Dell Latitude 7320 Detachable is an OV5675 described in ACPI as OVTI5678. Without an entry here ipu-bridge creates no software node for it, so no fwnode endpoint exists and the sensor cannot be connected to the IPU6 even once a driver binds it: intel-ipu6 0000:00:05.0: Found supported sensor OVTI8856:00 intel-ipu6 0000:00:05.0: Connected 1 cameras 450 MHz is OV5675_LINK_FREQ_450MHZ, the only link frequency ov5675.c supports, and matches the two data lanes the machine's SSDB reports. With this entry both cameras are found and the front sensor appears in the media graph: 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 Signed-off-by: Sahan Nissanka --- drivers/media/pci/intel/ipu-bridge.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel= /ipu-bridge.c index 9cebc6a..78fe1f7 100644 --- a/drivers/media/pci/intel/ipu-bridge.c +++ b/drivers/media/pci/intel/ipu-bridge.c @@ -101,6 +101,8 @@ static const struct ipu_sensor_config ipu_supported_sen= sors[] =3D { IPU_SENSOR_CONFIG("OVTIDB10", 1, 560000000), /* Omnivision OV2680 */ IPU_SENSOR_CONFIG("OVTI2680", 1, 331200000), + /* Omnivision OV5675, described as OVTI5678 in ACPI */ + IPU_SENSOR_CONFIG("OVTI5678", 1, 450000000), /* Omnivision OV8856 */ IPU_SENSOR_CONFIG("OVTI8856", 3, 180000000, 360000000, 720000000), /* Sony IMX471 */ --=20 2.53.0