From nobody Tue Aug 25 00:44:43 2026 Received: from mail.mainlining.org (mail.mainlining.org [5.75.144.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAB843DCD80; Wed, 5 Aug 2026 19:54:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.75.144.95 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959701; cv=none; b=nwNQvXrjcnufVe/9JfMQoV8SXoKRWv12mgBGgdI+UT32x5AQGTZq9UEbxNopJHY/G3HQL7bCBTQD0Z+AAfAY5oXK+r75RrUDuqCoGjyC6zRz94wWJucL2dGEO2iDrrysVcGm5zcc+Vfx0R2PchB6y/KRA6x/ESB9OVG81BUO8Ks= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959701; c=relaxed/simple; bh=EtE9eBuVezPblX0lgqzOCYUHC4jeotEPNRBqwukfnu8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=okEDrGuZ0XN4/+fTAl5O/xvCLKQMt7nXA28RUB+PEGVzOEJOrbGfwM3n+FzlSkzZU2bN7Ct1dcwzUTHTFiqdGZIsvGcdYeY61ZlS7SImh335/6MwgzGzwCYDwQn2HCJQtQIO/9N9lCFSmrivgSyWzbnERt4SjDJZIEApqWOU3d8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=FRVNGm6v; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=I3AsTJO+; arc=none smtp.client-ip=5.75.144.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="FRVNGm6v"; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="I3AsTJO+" DKIM-Signature: v=1; a=rsa-sha256; s=202507r; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959686; bh=R9UWx9HDr2ao7NFufthBQo0 JmWAgNGvgsDSNwDq7BuU=; b=FRVNGm6v2EwZRHcO/OIzYRoonQw/EsF+RiilhWFbStSVV8Kwao bW0cFdiRcaPCNBwhDVC5FprJpBz4R8PnaXDXuyWwoEp6UCL9WXUQrosBSUbpl/ff7CZONu5MCfF BCWLP4n0GbZaRa6dGypFVupgRVorJtWb2M22zF4aq7oUdWHWgnTmK4woSvtQiikEoLWwDR5jO/g WpU2zwo2eirs2xnHGCUD5eQVj4vQuptuRvnkqUktvN1g7Ge+F7umfQ3sazXFtq4avM13grAOlhP UbuBuO9Llqat/85PlE4UUr/6EzVJmNZCPHBGkeVTjMP4cdqQ3B/6ZDBTZ90TfkydxbA==; DKIM-Signature: v=1; a=ed25519-sha256; s=202507e; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959686; bh=R9UWx9HDr2ao7NFufthBQo0 JmWAgNGvgsDSNwDq7BuU=; b=I3AsTJO+4ziQ+zoEbnl3gRWy9ga6umuyn55YD9njxFMAA3GxAp suGtG3GLz6kRBND+Yw9NitXX5ksDiwmw00Bw==; From: Danila Tikhonov Date: Wed, 05 Aug 2026 22:54:24 +0300 Subject: [PATCH 1/4] dt-bindings: media: i2c: Add Sony IMX471 CMOS Image Sensor Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260805-imx471-v1-1-7be79f539ed8@mainlining.org> References: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> In-Reply-To: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kate Hsuan , Sakari Ailus , Bjorn Andersson , Konrad Dybcio , Eugene Lepshy , Vasiliy Doylov , Achill Gilgenast , Luca Weiss Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Danila Tikhonov X-Mailer: b4 0.15.2 Document the Sony IMX471 CMOS Image Sensor. Signed-off-by: Danila Tikhonov --- .../devicetree/bindings/media/i2c/sony,imx471.yaml | 123 +++++++++++++++++= ++++ 1 file changed, 123 insertions(+) diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml b= /Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml new file mode 100644 index 000000000000..9c6c7c55746f --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx471.yaml @@ -0,0 +1,123 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/sony,imx471.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sony IMX471 CMOS Image Sensor + +maintainers: + - Danila Tikhonov + +description: |- + The Sony IMX471 is a diagonal 5.822 mm (Type 1/3.09) 16-megapixel + back-illuminated stacked CMOS active pixel image sensor with a 4656 x 34= 96 + active pixel array and 1.0 um square pixels. It uses a Quad Bayer color = filter + array, is programmable through an I2C interface, and outputs image data + through MIPI CSI-2. + +allOf: + - $ref: /schemas/media/video-interface-devices.yaml# + +properties: + compatible: + const: sony,imx471 + + reg: + maxItems: 1 + + clocks: + description: External input clock (19.2 MHz) + maxItems: 1 + + vana-supply: + description: Analog power supply (2.8 V) + + vdig-supply: + description: Digital core power supply (1.05 V) + + vif-supply: + description: I/O interface power supply (1.8 V) + + reset-gpios: + description: Sensor reset (XCLR) GPIO + maxItems: 1 + + port: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + data-lanes: + items: + - const: 1 + - const: 2 + - const: 3 + - const: 4 + + link-frequencies: + maxItems: 1 + items: + const: 200000000 + + required: + - data-lanes + - link-frequencies + + required: + - endpoint + +required: + - compatible + - reg + - clocks + - vana-supply + - vdig-supply + - vif-supply + - port + +unevaluatedProperties: false + +examples: + - | + #include + #include + + i2c { + #address-cells =3D <1>; + #size-cells =3D <0>; + + camf_imx471: camera@1a { + compatible =3D "sony,imx471"; + reg =3D <0x1a>; + + vana-supply =3D <&vreg_camf_vana_2p8>; + vdig-supply =3D <&vreg_camf_vdig_1p1>; + vif-supply =3D <&vreg_cam_vio_1p8>; + + clocks =3D <&camcc CAM_CC_MCLK0_CLK>; + assigned-clocks =3D <&camcc CAM_CC_MCLK0_CLK>; + assigned-clock-rates =3D <19200000>; + + reset-gpios =3D <&tlmm 20 GPIO_ACTIVE_LOW>; + pinctrl-0 =3D <&cam_mclk0_default>; + pinctrl-names =3D "default"; + + orientation =3D <0>; + rotation =3D <270>; + + port { + camera_imx471_ep: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <200000000>; + remote-endpoint =3D <&csiphy0_ep>; + }; + }; + }; + }; +... --=20 2.55.0 From nobody Tue Aug 25 00:44:43 2026 Received: from mail.mainlining.org (mail.mainlining.org [5.75.144.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 146C53C553A; Wed, 5 Aug 2026 19:55:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.75.144.95 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959703; cv=none; b=dEOZXvbK0GKgctu9vPrxRYJwqs14A+SvRUZHnN6hTqUFu0CvnY6I1faIm99LaovST+HPWVpTfy8qSqPGjIZCvo9omcpIwaMEIaunjkVfeTiUg+AnKoskOYUs/0XsS7TQb7LD0xd6qTTKgl8KPqKnxxRPO4311E5GM+8wCiPlVEw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959703; c=relaxed/simple; bh=SGnRo+08e8k7RsyDTw1gMSux8u7Bv1qxzZd0aUowON0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jxqhIRqX7Fuhs91YOPGTUclLxr5fP0fJ3blbNhSr7sUO1R0RTTphgLYSiKYgqADrp6djL5pCYOra1ABcNc7xDk7v6nlXxV2NIEVVTNQ0QpydYntiRhRfh+zP3EbcdzdOZFHANWOXZ5zC3bcG6tqrhbpFfBh2fq2QVF9em6umCVQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=MSobwCYp; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=lnj8Dy4T; arc=none smtp.client-ip=5.75.144.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="MSobwCYp"; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="lnj8Dy4T" DKIM-Signature: v=1; a=rsa-sha256; s=202507r; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959688; bh=is9XdQ9w4SDrDonko7w16dQ sWjnQkpXJS636KDBNe20=; b=MSobwCYpcMLmmqiH+pznJZC841gJK3lY2I19XgchUrsgVsul9e r7S4NpEPVRIclOIIGJwFSpIKzgaSssWdD39tFR4AcS36lJ5wV+cken+qtIpzoEwzAxjSdamj2hB 48pFYkxA4yOHEaKio/pJH3/xu1pqv7u4V4zkoRCgfqhpcfqiZ1H6kZZr7R7OCkRLykEOzeiJDRa ULSsZWmstojz7SgXX61pYfeqpNfo2OD47as1VWs+HLNfKO6jGZgMq88herXdC+H26C4E9ibLxfY HePCYZbLgeydjLY3kNyQjKXF3yuojarRMnq4f9wi4DO1UwvMdLq0hvJr3VIVWxYWsXA==; DKIM-Signature: v=1; a=ed25519-sha256; s=202507e; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959688; bh=is9XdQ9w4SDrDonko7w16dQ sWjnQkpXJS636KDBNe20=; b=lnj8Dy4TilgZrjrY9oXzpE9pEuUpNMrs+1iXZgHCZQ80bzpDa9 ESOVVWkf4xywnUSh1KH2DYs+EdXoObGtEdBw==; From: Danila Tikhonov Date: Wed, 05 Aug 2026 22:54:25 +0300 Subject: [PATCH 2/4] drivers: media: i2c: imx471: Add vdig and vif power supplies Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260805-imx471-v1-2-7be79f539ed8@mainlining.org> References: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> In-Reply-To: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kate Hsuan , Sakari Ailus , Bjorn Andersson , Konrad Dybcio , Eugene Lepshy , Vasiliy Doylov , Achill Gilgenast , Luca Weiss Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Danila Tikhonov X-Mailer: b4 0.15.2 According to the product brief, the IMX471 sensor requires analog (vana, 2.8V), digital (vdig, 1.05V), and interface (vif, 1.8V) power supplies. Currently, only the analog supply is requested. Add 'vdig' and 'vif' to the regulator supply array. Following the pattern of other media i2c drivers (e.g., imx219, imx415), the regulator core will automatically substitute dummy regulators if these are missing. Signed-off-by: Danila Tikhonov --- drivers/media/i2c/imx471.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/imx471.c b/drivers/media/i2c/imx471.c index 4053aed84340..3ad123699f14 100644 --- a/drivers/media/i2c/imx471.c +++ b/drivers/media/i2c/imx471.c @@ -117,7 +117,9 @@ #define to_imx471(_sd) container_of_const(_sd, struct imx471, sd) =20 static const char * const imx471_supply_name[] =3D { - "vana", + "vana", /* 2p8V */ + "vdig", /* 1p05V */ + "vif", /* 1p8V */ }; =20 struct imx471_mode { --=20 2.55.0 From nobody Tue Aug 25 00:44:43 2026 Received: from mail.mainlining.org (mail.mainlining.org [5.75.144.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DED1425873; Wed, 5 Aug 2026 19:55:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.75.144.95 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959704; cv=none; b=P89EnUQwdA5ZCj3EHTfbUWzWpIuyTc/E8hrGoXPVY/fl/MbPAfC+3B6f8KVeeD/Y8Rym5NiEfXzR84YId2EYP7RlKhYd5Fo/HMM8w+7wteDLVbXMIVzJuajpTWvI5GMEcWLuftW2JcTRXF78Ujr1nwukgqu47ozoDqwlFNknoPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959704; c=relaxed/simple; bh=Jd3/EbGuqRh+RD9PAD10RCqjFBUpr7AoUJ5RGMp8Jr0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SRMN3GGLcsFlaYZVW8CVNFZ67mij7hZLh6/t/J/wiQVl4eZUvuc2+nhPHUL5uhmC54hrcNKNPUskvMXuBh5pZSZkDLXnOvwUE6kZW9eF+L1UwaA23iBT+Zu1133iQ1hmKJYcFcHwwPn6GHlXcXV/KO9i9ib6LycR9m6mG9FBnpA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=p4vBgHvD; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=9+jY3FS6; arc=none smtp.client-ip=5.75.144.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="p4vBgHvD"; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="9+jY3FS6" DKIM-Signature: v=1; a=rsa-sha256; s=202507r; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959690; bh=FP0gg95JwRcBgKS2IRQzZF1 sTs+hyAwsazPaF6BJYRc=; b=p4vBgHvDaEMDvIAtfCkDGPmDewy5OhhaOFIBMh9kpRMl+tJwgR cARtD8jmr0eD9Bys360ZeBwsChbH7etxiSx5FHHX8dvxckFmeHl71aFafRmf0Fq+41law+yqRef e81GHh9dJX1e6jgv9mgnxzN54v9ygIZiENifuOu+1RRs1V5MSiHe7gFB0StmI5gkcoLDXvI7BQm UScTbj0LP6pnbESD9nAtrjtizK6XuMhj1TERdmdrvL6XdazkAA6zdv3hB5ot8XWbgAtfsDgjiAR 8JbvaK7uTWzYDw7QJ4/NalY7Ils0Yk7LF3/BZKGKGU2hV/Dw5E/X+S5iBp4KbrjExgQ==; DKIM-Signature: v=1; a=ed25519-sha256; s=202507e; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959690; bh=FP0gg95JwRcBgKS2IRQzZF1 sTs+hyAwsazPaF6BJYRc=; b=9+jY3FS6Mjb/jk5BdA/8+WVTA5S0uCQySdDWNCCWJqcYRylf00 aNrbmT0FNSl1Ckga3Qoem1kYQVfebFr4S4Dg==; From: Danila Tikhonov Date: Wed, 05 Aug 2026 22:54:26 +0300 Subject: [PATCH 3/4] drivers: media: i2c: imx471: Add Device Tree matching support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260805-imx471-v1-3-7be79f539ed8@mainlining.org> References: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> In-Reply-To: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kate Hsuan , Sakari Ailus , Bjorn Andersson , Konrad Dybcio , Eugene Lepshy , Vasiliy Doylov , Achill Gilgenast , Luca Weiss Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Danila Tikhonov X-Mailer: b4 0.15.2 The IMX471 driver currently only supports probing via ACPI. Add OF device ID table with "sony,imx471" compatible string and header to allow probing on Device Tree based platforms. Signed-off-by: Danila Tikhonov --- drivers/media/i2c/imx471.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/media/i2c/imx471.c b/drivers/media/i2c/imx471.c index 3ad123699f14..cc75664f1af4 100644 --- a/drivers/media/i2c/imx471.c +++ b/drivers/media/i2c/imx471.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -941,10 +942,17 @@ static const struct acpi_device_id imx471_acpi_ids[] = __maybe_unused =3D { }; MODULE_DEVICE_TABLE(acpi, imx471_acpi_ids); =20 +static const struct of_device_id imx471_of_match[] =3D { + { .compatible =3D "sony,imx471" }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(of, imx471_of_match); + static struct i2c_driver imx471_i2c_driver =3D { .driver =3D { .name =3D "imx471", .acpi_match_table =3D ACPI_PTR(imx471_acpi_ids), + .of_match_table =3D imx471_of_match, .pm =3D pm_sleep_ptr(&imx471_pm_ops), }, .probe =3D imx471_probe, --=20 2.55.0 From nobody Tue Aug 25 00:44:43 2026 Received: from mail.mainlining.org (mail.mainlining.org [5.75.144.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 793F5429CD3; Wed, 5 Aug 2026 19:55:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=5.75.144.95 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959712; cv=none; b=QcbQM36hMvwIkx5EkaPNB34BO0EWmLd70MGgnFiPAIVZ5cLiVim/VPywBlTDOJPweqBx1jalwPvclziQ5tb2mrCLNt6OmuMNzXNe+uAEwK+nZ7EQlEVaS2ciP4TzL01Qr8CLiSDAG9NEWp1Gbo7yVGYMAzfIAAgT0WlTKTNMapc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785959712; c=relaxed/simple; bh=4vqU0sKhpd2cHpT4Lxu26NnBdLD4y2ehzn2oQCksO+Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rgRFsbOcp3nzF+PIMZMHoGJDHdXGKuWpMLzSVSh5rmxwysFUUbE1D9mxmfguYNLIXYSlVyygBXL9vfoFhmp0r7zStjABkBS/S7UzabuA5DYTahbx1lI9c8pwJT5pbDFXWvz0uRyOBrT1x94Cs1++lnrh6GoNEMT53DJE86VXjg4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org; spf=pass smtp.mailfrom=mainlining.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=E6hNdPso; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b=pvOANcts; arc=none smtp.client-ip=5.75.144.95 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=mainlining.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mainlining.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="E6hNdPso"; dkim=permerror (0-bit key) header.d=mainlining.org header.i=@mainlining.org header.b="pvOANcts" DKIM-Signature: v=1; a=rsa-sha256; s=202507r; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959693; bh=CaUT5za+xlw7XVD5v1CLX8U QXoGEYMhrTRTb+I8jBsc=; b=E6hNdPso1YgdMxI+j5zFMi0z/j4BBBJOp+rgsMCE7FH2Fesbpn 0xMWBLMR1t8aVKL3dfdMl/NhqUISMumaBlAthE4sgN9VhWyFyL/TIXvzJ85eN4nA08dwgNX7Wud XhVucn6hAKBTWiha1LKlnsAxLdWrwdlV1S+uwq6XO8Gj92IeGOZ401X8kL7cKLWGfSGWSmSykAO mDcz0nt7k1KzqcvPv5vKdx1amiyTRIgAf/lMU/dAcwROgjTwkurY3Xhzle4rz019npUJ1RyvOls XWffrIRXy2cg6WYPf/esphOjn1dZ1ucwCu8QZKO11VZry7gYVmbl1KIbUvtHh58M6Zw==; DKIM-Signature: v=1; a=ed25519-sha256; s=202507e; d=mainlining.org; c=relaxed/relaxed; h=To:Message-Id:Subject:Date:From; t=1785959693; bh=CaUT5za+xlw7XVD5v1CLX8U QXoGEYMhrTRTb+I8jBsc=; b=pvOANctsEf72cxKGB66cm5SbbfvK6hJFzlw/x/7Y+tV8qba4eh l7uZUYwatNu9JC9QlMj4LbnPhdRClL/YWUAQ==; From: Danila Tikhonov Date: Wed, 05 Aug 2026 22:54:27 +0300 Subject: [PATCH 4/4] arm64: dts: qcom: sm7325-nothing-spacewar: Add front camera support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260805-imx471-v1-4-7be79f539ed8@mainlining.org> References: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> In-Reply-To: <20260805-imx471-v1-0-7be79f539ed8@mainlining.org> To: Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kate Hsuan , Sakari Ailus , Bjorn Andersson , Konrad Dybcio , Eugene Lepshy , Vasiliy Doylov , Achill Gilgenast , Luca Weiss Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, Danila Tikhonov X-Mailer: b4 0.15.2 Add and configure the necessary nodes to enable the front camera (Sony IMX471), connected to CSIPHY 0. Signed-off-by: Danila Tikhonov --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 ++++ .../boot/dts/qcom/sm7325-nothing-spacewar.dts | 46 ++++++++++++++++++= +++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qco= m/kodiak.dtsi index f2da3706d5c8..9a66e65b2271 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -5852,6 +5852,13 @@ tlmm: pinctrl@f100000 { gpio-ranges =3D <&tlmm 0 0 175>; wakeup-parent =3D <&pdc>; =20 + cam_mclk0_default: cam-mclk0-default-state { + pins =3D "gpio64"; + function =3D "cam_mclk"; + drive-strength =3D <2>; + bias-disable; + }; + cam_mclk3_default: cam-mclk3-default-state { pins =3D "gpio67"; function =3D "cam_mclk"; diff --git a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts b/arch/ar= m64/boot/dts/qcom/sm7325-nothing-spacewar.dts index 7db9ae1c3cef..272c56328686 100644 --- a/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts +++ b/arch/arm64/boot/dts/qcom/sm7325-nothing-spacewar.dts @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -831,6 +832,23 @@ vreg_bob: bob { }; }; =20 +&camss { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; + + ports { + port@0 { + csiphy0_ep: endpoint { + data-lanes =3D <0 1 2 3>; + bus-type =3D ; + remote-endpoint =3D <&camera_imx471_ep>; + }; + }; + }; +}; + &cci0 { /* * cci0_i2c1 bus is unused and GPIO 71&72 are repurposed. @@ -843,7 +861,33 @@ &cci0 { }; =20 &cci0_i2c0 { - /* D-PHY sony,imx471 (Front) @ 0x1a */ + camf_imx471: camera@1a { + compatible =3D "sony,imx471"; + reg =3D <0x1a>; + + vana-supply =3D <&vreg_camf_vana_2p8>; + vdig-supply =3D <&vreg_camf_vdig_1p1>; + vif-supply =3D <&vreg_cam_vio_1p8>; + + clocks =3D <&camcc CAM_CC_MCLK0_CLK>; + assigned-clocks =3D <&camcc CAM_CC_MCLK0_CLK>; + assigned-clock-rates =3D <19200000>; + + reset-gpios =3D <&tlmm 20 GPIO_ACTIVE_LOW>; + pinctrl-0 =3D <&cam_mclk0_default>; + pinctrl-names =3D "default"; + + orientation =3D <0>; /* Front facing */ + rotation =3D <270>; + + port { + camera_imx471_ep: endpoint { + data-lanes =3D <1 2 3 4>; + link-frequencies =3D /bits/ 64 <200000000>; + remote-endpoint =3D <&csiphy0_ep>; + }; + }; + }; =20 camf_p24c64f: eeprom@52 { compatible =3D "puya,p24c64f", --=20 2.55.0