From nobody Thu Apr 2 18:53:51 2026 Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) (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 30DB037EFF8 for ; Thu, 5 Mar 2026 10:21:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772706109; cv=none; b=hbyzVsu5zNoXyMiTaYLQf64O/DlKizrjpHKaKjWH7xmRE0tMLHm/MmCV6Oo6xFBTISUhFgAZdbY4oEjwlL++ZAD1m5aj0j1KwTgID0U0T713dJLv0iFlgntsdAtjKgNRMPuiE8yl7mAAbfaj65EuMobk9D8N/WyIxLDRms1zc4w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772706109; c=relaxed/simple; bh=CoeSUcu5JKP2vlIyuq71hLdki8LZeHARqdF+DbG35Tk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZFjkbkLGts/Roe6sHErhUI8Hx7q+EWzuHng9FvXcE8kiRtlW8ZpnCHwEol+YHlF13IQ0hmXHfP8xjlryJBgY7c/Tsu1ZGTAqRvw3E/nHoGsgw/6es4s7IRI5y9bGbUXJk6KTPkVI4Uezqo9A9z7n/CCMuypse+IosG9Y7lxTcXE= 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=IL/cFkxS; arc=none smtp.client-ip=209.85.221.47 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="IL/cFkxS" Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-439bc14dcf4so2673470f8f.1 for ; Thu, 05 Mar 2026 02:21:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772706106; x=1773310906; 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; bh=GcDfVsxOaZtMJ1kOTr1x0s4TukCtP+zyp2wxcrrzJwc=; b=IL/cFkxSV7sFVJMh5VamY41mYfXW31HjLvxKSUmQqQOedI7gNGX0tSZYxGIhkExSOi y4nCGMX+poS0DBB3DBn/CD4U6fKtGCzQeyfXh2vtfqF77jtht5nAg/Z6XCNOjUWmgh6l kaqp7/4JAOEX1wb0l7sN57SjOW189jsiBF+2WrVRKamDjlh9XJ4XOchsjVvqYETADSG4 oPWp9F1XsKNq5WnWXrw0+yUs4wyKdIvwjYGwbM9M3+XoNfV9uOKOL4oQ25VlqoxQ5z9x drBrXWwvvUWb4dgDDPsPTlLa+VcWFxG9Sfhty9SgBXHaGMryVA2a3SoAj142ntqJpeQo Em7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772706106; x=1773310906; 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; bh=GcDfVsxOaZtMJ1kOTr1x0s4TukCtP+zyp2wxcrrzJwc=; b=qQSdw7OTyyE5xQ8KXz8R33CgtjDk6+DJXRVtdWTJI0ad+Ru/xRfBpeHMRW+v5/dcIU YIIPY/4ZnxYoXmhOeIhh7M3y2h88yEsai4sE0X1klZeVOF2gYB4/hUsJwOG1/0iRDrxl 86ccs2bzE2xH/95R+Iz4Xow6DqB+2qhd6HybtJNi5dRXAglqr/ESfHsPvMaItVvx2iZV 7M5/ObRvigP0r45Ky05k8GmeFz3pqY/E15xUAHhpKgsIFpAW8mu9R2+VW1WFo1Lu73K3 Pb5PE5uIGukyN1HAKQZ628GzXiBMlR4dFS0AQxVMzg9uJfGPXzbHyxDkRiehNGcGt9pT mqnQ== X-Forwarded-Encrypted: i=1; AJvYcCW5IKGeySKAWW161DkUDeJeBtdkTW4Pzk0uowEkWyW+YI4MZMzQEqgSv2iWomnbOwXbFnoQBDozX0O1brY=@vger.kernel.org X-Gm-Message-State: AOJu0Yyr7DP5A6L6z6PFwx5GmFztMtAg1LSwVXzuRTdJHzVr9tCPhSzc NXMaCebWnQo2Hr8YTeuNpVQOx9wel9rrJk9g5/j6BgYXj04YaIMu4pbZ X-Gm-Gg: ATEYQzwRUhsMEIEDRdYcFJfBGsIdieykMn1LdRNEmI+pNG2er9kMIwqFMn9Jv1Kpetb c7ORqZdGL1ViJsZfwtEEMm/iV0thl3mYQCg/JoYY0UhOMlpQKU8iCojHyPAWqOWhyEyyea2tVJb ED4au2ijhcf3+Y1Z4MAzFB89c1Ez7YjIyhv1ifvZkam9dzuBVtJ4n+YNq8nGBiPSodMIDIUOU6Q YPnaOAvMklOB8W9fEvKd4t/BHo5NrtthI26SSPIolFfoR9eR7DmY1LtqHex21DUG1fGZW6TOBVx 7Tx64p0LBmD6WbOAzOHrWNntF9HzLDvPKh4vS3NfX8T6vd2O4ZwymDPdzWmOgLD7MIHxuy47CrM dsBjQIoGbJcyFIUW8/qffIvrjInTM9dK+qSJi02U1DUGzoHJzmTbAO8/auTJI3DpqBjaCgWfOxY XvJ7VL+vBJGJxU X-Received: by 2002:a05:6000:2f86:b0:439:c5da:64b7 with SMTP id ffacd0b85a97d-439cfd65b13mr3269114f8f.15.1772706106411; Thu, 05 Mar 2026 02:21:46 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b503425asm32625444f8f.25.2026.03.05.02.21.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 02:21:46 -0800 (PST) From: Svyatoslav Ryhel To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus , Svyatoslav Ryhel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/2] dt-bindings: media: mt9m114: document MI1040 sensor Date: Thu, 5 Mar 2026 12:21:21 +0200 Message-ID: <20260305102123.17216-2-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260305102123.17216-1-clamor95@gmail.com> References: <20260305102123.17216-1-clamor95@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 Aptina MI1040 is a slightly different version of the MT9M114 camera module. It is used in several devices, such as the ASUS Nexus 7 (2012) and the ASUS Transformer Prime TF201. The compatible "onnn,mt9m114" is placed first in the enum, as it is considered the default compatible value. Signed-off-by: Svyatoslav Ryhel Acked-by: Conor Dooley --- Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml = b/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml index dffd23ca4839..e896f4db2421 100644 --- a/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml +++ b/Documentation/devicetree/bindings/media/i2c/onnn,mt9m114.yaml @@ -17,7 +17,9 @@ description: |- =20 properties: compatible: - const: onnn,mt9m114 + enum: + - onnn,mt9m114 + - aptina,mi1040 =20 reg: description: I2C device address --=20 2.51.0 From nobody Thu Apr 2 18:53:51 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.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 1CC7637F739 for ; Thu, 5 Mar 2026 10:21:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772706110; cv=none; b=sgUj6W4ZdHhcPBdwYwHRuhxLjS9Ff8TMJD/kMT/sCW8CXdvgZJ4paGJFb+lk9ZRjlac/tfWr8i0JKEG/+RMz0gO1Z9eO8xjTtDLbvXfCmt83ISnJ58hjKrynnEdXAA3Ty2O4osGgbGcEpTa2vxwjZJo38KAT3jvcS0Y4QgVh6nM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772706110; c=relaxed/simple; bh=2+U/ZONee4dT26Jw5gWNEb8dK26/hW7z5aXQpBzS04Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pI/kjaFD0EPW6pW+szWf2VMR5DxqG2L8xy9QxXMwwOmlh+ddz/8cAC0fTUOmMKAkH1vEv54gI751oahMyC6ZrHtZyNJ/VjUohvPIcTSL5nSeYMQKkuVBMqifnzqQlaoIBlqVHMsg+fY3QHZhUYms7IAJ9TsDENFM2CQsxSXGKDk= 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=O5efC91G; arc=none smtp.client-ip=209.85.221.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="O5efC91G" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-439c6fc2910so1281138f8f.0 for ; Thu, 05 Mar 2026 02:21:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772706107; x=1773310907; 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; bh=Cx7lcE//ZT+Yr/4kAurpDNP3t7qSzC1pEGhI2wYTnFk=; b=O5efC91GcGdFmdzXiYREL7pqXJHcRK1THkjj3P4RuEF6FbwSUWAllnndaWHtkh0hhS Eha9+nLieN17Q7q0bhzOyPcSZAwvcvizNsUBGp6k4ly6I4qxutg7o3TKPmkV/zF161tn PB8vqrV7If9Hh0401+QgPt93rDCT91pZThZ+xEIw61dqHPd/uihV/pGwx5wXWkSBRxbL F9NgB2Hf3/FxVg29u8pZe7tPSPqbRgomdzCj6pOXE91MKFOBNWJG1aGAFF+LyIYVfLib Z3RU6NAcmuMIFosO+A9WKcRGJ1B7PllhYex2m/CWD0DpsHNrGTlMSRTxJWycdlJzNIYf AsBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772706107; x=1773310907; 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; bh=Cx7lcE//ZT+Yr/4kAurpDNP3t7qSzC1pEGhI2wYTnFk=; b=jBJey8slHbBTcUu/HTCUE3CJPiUDH2CDoAdt9v8wtIROJRV/JLkHkrO63lVzelVJE7 GgwXxwKHTANxovrlWT/t1l3rqrwki9ZWsDZdUAHrpDYRo/4wssGvJDkMVzW091poKayY GRr7lGuwZRvWOh6JLtWEsdK3j0KbXid0yn1pq8DUorjDFpcPoMGmo2+8C8PYODSWL3se 98vOxT6U/TyxOXP4tXEIfUCtbNji+vhQhQJsQePtFManW6CZ/fwsh7eVtRDvkkU1Nmjm 7/ZFBknNM9dOJxJ/Lt3E02G5bNPur0IgFNjUqAfzrHHnnsfPXBbFCONE1p/JV1BvGivL T36w== X-Forwarded-Encrypted: i=1; AJvYcCU7YP0PNcZKekSosAg6IFxqltVhxJdaNgRoTjJD8iJbeHtzhWI2TvE89qRPqR1N/0qjauB+gVF3+nmeAAc=@vger.kernel.org X-Gm-Message-State: AOJu0YyRkS/6Dpa5PFa6xtAAGZ0WldpeOyZytoQ30RGy/DrWl0d5swuq CRCvAyFXaxwifUu/o108/HdPszAtc6xjGpTtcjK6zYu59geeM45BoPHh X-Gm-Gg: ATEYQzweA6yG2MBUnjg9kwQBzxk+IEXqEdq+lSX3imYTHWf50xOHXwIBDKtCjSxoZ43 VywnuD3ra3CLYlUxsjAQc+nGRtYWgrrsEnih5on5m0a02oOmDgNfytKHyPyzP6m0ylBQiK6nktq w0RK9JaGH+SyOZlKn2lDVPi32pwCPujJ7TxLEmA9tkow2NSuLQUvsyaa8OB1fVcdW60ZgLimpic Cgm2aYL58LBVb1NazQWDXKWOCJjX6XEm15NtYiotfekdHuQYv3X/r5fEBAJSGFvyS/kbwi2Xbim UXCOoaRTjgUwguh61tFUWx/jV8BVeuNBYJUFKnfSU1hW/5sooZ3bxrSBglI0+FyAinGhNCnehcN 356ds1q8sTTmg+QRrBrntSM4U2a/KlfYgt64PvQ3hjjXwB+Y5p0/rUbP3BoR0froaEWBpEzBXV7 t7Ciei8kuywM/I X-Received: by 2002:a05:6000:4312:b0:439:c4fb:27f6 with SMTP id ffacd0b85a97d-439c7f79e1cmr10500857f8f.19.1772706107351; Thu, 05 Mar 2026 02:21:47 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439b503425asm32625444f8f.25.2026.03.05.02.21.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 02:21:46 -0800 (PST) From: Svyatoslav Ryhel To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus , Svyatoslav Ryhel Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/2] media: i2c: mt9m114: add support for Aptina MI1040 Date: Thu, 5 Mar 2026 12:21:22 +0200 Message-ID: <20260305102123.17216-3-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260305102123.17216-1-clamor95@gmail.com> References: <20260305102123.17216-1-clamor95@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" Slightly different version of MT9M114 camera module is used in a several devices like ASUS Nexus 7 (2012) or ASUS Transformer Prime TF201 and is called Aptina MI1040. The only difference found so far is lacking ability to poll STATE register during power on sequence, which causes driver to fail with time out error. Add state_standby_polling flag to diverge models and address quirk found in MI1040. Signed-off-by: Svyatoslav Ryhel Reviewed-by: Hans de Goede --- drivers/media/i2c/mt9m114.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 16b0ace15813..e395e2d14e97 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -368,6 +368,10 @@ * Data Structures */ =20 +struct mt9m114_model_info { + bool state_standby_polling; +}; + enum mt9m114_format_flag { MT9M114_FMT_FLAG_PARALLEL =3D BIT(0), MT9M114_FMT_FLAG_CSI2 =3D BIT(1), @@ -417,6 +421,8 @@ struct mt9m114 { =20 struct v4l2_ctrl *tpg[4]; } ifp; + + const struct mt9m114_model_info *info; }; =20 /* -----------------------------------------------------------------------= ------ @@ -2284,9 +2290,11 @@ static int mt9m114_power_on(struct mt9m114 *sensor) * reaches the standby mode (either initiated manually above in * parallel mode, or automatically after reset in MIPI mode). */ - ret =3D mt9m114_poll_state(sensor, MT9M114_SYS_STATE_STANDBY); - if (ret < 0) - goto error_clock; + if (sensor->info->state_standby_polling) { + ret =3D mt9m114_poll_state(sensor, MT9M114_SYS_STATE_STANDBY); + if (ret < 0) + goto error_clock; + } =20 return 0; =20 @@ -2532,6 +2540,10 @@ static int mt9m114_probe(struct i2c_client *client) if (ret < 0) return ret; =20 + sensor->info =3D device_get_match_data(dev); + if (!sensor->info) + return -ENODEV; + /* Acquire clocks, GPIOs and regulators. */ sensor->clk =3D devm_v4l2_sensor_clk_get(dev, NULL); if (IS_ERR(sensor->clk)) { @@ -2646,15 +2658,24 @@ static void mt9m114_remove(struct i2c_client *clien= t) pm_runtime_set_suspended(dev); } =20 +static const struct mt9m114_model_info mt9m114_models_default =3D { + .state_standby_polling =3D true, +}; + +static const struct mt9m114_model_info mt9m114_models_aptina =3D { + .state_standby_polling =3D false, +}; + static const struct of_device_id mt9m114_of_ids[] =3D { - { .compatible =3D "onnn,mt9m114" }, - { /* sentinel */ }, + { .compatible =3D "onnn,mt9m114", .data =3D &mt9m114_models_default }, + { .compatible =3D "aptina,mi1040", .data =3D &mt9m114_models_aptina }, + { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mt9m114_of_ids); =20 static const struct acpi_device_id mt9m114_acpi_ids[] =3D { - { "INT33F0" }, - { /* sentinel */ }, + { "INT33F0", (kernel_ulong_t)&mt9m114_models_default }, + { /* sentinel */ } }; MODULE_DEVICE_TABLE(acpi, mt9m114_acpi_ids); =20 --=20 2.51.0