From nobody Sat Oct 11 12:10:14 2025 Received: from smtp-42ac.mail.infomaniak.ch (smtp-42ac.mail.infomaniak.ch [84.16.66.172]) (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 B37FA226520; Tue, 10 Jun 2025 16:22:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=84.16.66.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572560; cv=none; b=GHHMWuCG2U6f1IBetlM7w1eMkZSoKipbKVWPS2Okx0oZUwvH5k4pVOEZoEkgVrqfrJbVBi9fLMF4WJk5Dg2Oyxm7qiccOaVVCp7Ac5LYzYsjlCcOYKmyh8yQIStqjcguJTUvMO4wBwH7QqjGlNEJMBI/N3Ko5rF+xGHg1Cf0a7g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572560; c=relaxed/simple; bh=+t743NmkX1ADopyo7PCrJxNUgdYBmCORK6PWhHIF75w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VYfstcls2FGfbs2TDGSOgYKPhX36XHx3TdST8Ed9feOK/X1n5omOCeZCvJlAjt26sCNUjOPTsvjv1sCpMXaDGmwcE5QbZMAvhlKQy0oVLTJFUyC+xhay8ThGuoghRTHMT+JR6kmIS0SqoA68Wb6oS0B1xBL08aKJzSg+vSOg2iY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net; spf=pass smtp.mailfrom=0leil.net; arc=none smtp.client-ip=84.16.66.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=0leil.net Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4bGvFy4TQbzqkH; Tue, 10 Jun 2025 18:22:30 +0200 (CEST) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4bGvFx5nLjz14f; Tue, 10 Jun 2025 18:22:29 +0200 (CEST) From: Quentin Schulz Date: Tue, 10 Jun 2025 18:22:16 +0200 Subject: [PATCH v2 1/3] arm64: dts: rockchip: fix endpoint dtc warning for PX30 ISP 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: <20250610-ringneck-haikou-video-demo-cam-v2-1-de1bf87e0732@cherry.de> References: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> In-Reply-To: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha From: Quentin Schulz dtc complains with the following message for DTSes which use the ISP: arch/arm64/boot/dts/rockchip/px30.dtsi:1272.19-1276.6: Warning (graph_child= _address): /isp@ff4a0000/ports/port@0: graph node has single child node 'en= dpoint@0', #address-cells/#size-cells are not necessary Typically, it is expected from the device DTS(I) to update the SoC DTSI nodes if they have more than one endpoint, so let's assume there's only one endpoint in port@0 by default, instead of forcing board DTS(I)s to /delete-property/ address-cells and size-cells to make dtc happy. Because PX30 PP1516/EVB's endpoint@0 is the only endpoint and considering its parent node now has no address-cells property, dtc complains (same messages for PX30 EVB): arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi:447.29-451.6: Warning (avoid_= default_addr_size): /isp@ff4a0000/ports/port@0/endpoint@0: Relying on defau= lt #address-cells value arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi:447.29-451.6: Warning (avoid_= default_addr_size): /isp@ff4a0000/ports/port@0/endpoint@0: Relying on defau= lt #size-cells value arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dtb: Warning (avoi= d_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dtb: Warning (uniq= ue_unit_address_if_enabled): Failed prerequisite 'avoid_default_addr_size' arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi:447.29-451.6: Warning (graph_= endpoint): /isp@ff4a0000/ports/port@0/endpoint@0: graph node '#address-cell= s' is -1, must be 1 arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi:447.29-451.6: Warning (graph_= endpoint): /isp@ff4a0000/ports/port@0/endpoint@0: graph node '#size-cells' = is -1, must be 0 arch/arm64/boot/dts/rockchip/px30-pp1516-ltk050h3146w-a2.dtb: Warning (grap= h_child_address): Failed prerequisite 'graph_endpoint' so we fix that by removing the reg property. dtc still complains (same messages for PX30 EVB): arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi:447.29-450.6: Warning (unit_a= ddress_vs_reg): /isp@ff4a0000/ports/port@0/endpoint@0: node has a unit name= , but no reg or ranges property so we also remove the @0 suffix off the node name. Fixes: 8df7b4537dfb ("arm64: dts: rockchip: add isp node for px30") Fixes: 474a77395be2 ("arm64: dts: rockchip: hook up camera on px30-evb") Fixes: 56198acdbf0d ("arm64: dts: rockchip: add px30-pp1516 base dtsi and b= oard variants") Signed-off-by: Quentin Schulz --- arch/arm64/boot/dts/rockchip/px30-evb.dts | 3 +-- arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi | 3 +-- arch/arm64/boot/dts/rockchip/px30.dtsi | 2 -- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/px30-evb.dts b/arch/arm64/boot/dt= s/rockchip/px30-evb.dts index d93aaac7a42f151590808083e3956a0f64ce7710..bfd724b73c9a7647f661b4799df= 00edd838f1085 100644 --- a/arch/arm64/boot/dts/rockchip/px30-evb.dts +++ b/arch/arm64/boot/dts/rockchip/px30-evb.dts @@ -483,8 +483,7 @@ &isp { =20 ports { port@0 { - mipi_in_ucam: endpoint@0 { - reg =3D <0>; + mipi_in_ucam: endpoint { data-lanes =3D <1 2>; remote-endpoint =3D <&ucam_out>; }; diff --git a/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi b/arch/arm64/boo= t/dts/rockchip/px30-pp1516.dtsi index 3f9a133d7373a122861931b7c8199bee485234a5..b4bd4e34747ca0bc5a6407bf8b0= a3de8c08899a7 100644 --- a/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi +++ b/arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi @@ -444,8 +444,7 @@ &isp { =20 ports { port@0 { - mipi_in_ucam: endpoint@0 { - reg =3D <0>; + mipi_in_ucam: endpoint { data-lanes =3D <1 2>; remote-endpoint =3D <&ucam_out>; }; diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/r= ockchip/px30.dtsi index feabdadfa440f96c0134a0bb05e64a0c7b5adf2e..8220c875415f52bb2098af5c064= 7cae8fe5c9aed 100644 --- a/arch/arm64/boot/dts/rockchip/px30.dtsi +++ b/arch/arm64/boot/dts/rockchip/px30.dtsi @@ -1271,8 +1271,6 @@ ports { =20 port@0 { reg =3D <0>; - #address-cells =3D <1>; - #size-cells =3D <0>; }; }; }; --=20 2.49.0 From nobody Sat Oct 11 12:10:14 2025 Received: from smtp-bc08.mail.infomaniak.ch (smtp-bc08.mail.infomaniak.ch [45.157.188.8]) (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 65E3E23D281 for ; Tue, 10 Jun 2025 16:22:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.157.188.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572560; cv=none; b=E2eaD00d4iD4+3/kYK+QdvSpBAWM2BGyMzVQUQL34v+LFvFYMtDiIp6/FLas8/LSvI30fUhZgWSGD3Qfvib6+tv0aF4KB+wjwC70GcqLjtN3nLt/4k6OXtnqDThSGMNPxEijNQ80URMJvayPkKBjChyBQRF17/PV0D0b2+or1EA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572560; c=relaxed/simple; bh=x1Wkm27e53UM4T6qiWZzq4L2tb2uGPNcxdt52zzhg7I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XlDrwhUb7BSIaXRZ4dGq8PGUmMyZ3KNOqHSjtaigbCKFgX4jiI/15aeyIR1zcmmGwPjaKRtI5I/fYSFeYl/Mz2vNA84HgC6Uis+PCSBwpTRJRX97XieD8Y+LwRF675GFfjCeSyxXy8HqHARXUWZYQH0ZbfV9eAj7R9egLKH/GVs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net; spf=pass smtp.mailfrom=0leil.net; arc=none smtp.client-ip=45.157.188.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=0leil.net Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4bGvFz3nwxzflV; Tue, 10 Jun 2025 18:22:31 +0200 (CEST) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4bGvFy5CTWz14h; Tue, 10 Jun 2025 18:22:30 +0200 (CEST) From: Quentin Schulz Date: Tue, 10 Jun 2025 18:22:17 +0200 Subject: [PATCH v2 2/3] arm64: dts: rockchip: px30: add label to first port of ISP 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: <20250610-ringneck-haikou-video-demo-cam-v2-2-de1bf87e0732@cherry.de> References: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> In-Reply-To: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha From: Quentin Schulz This will make it slightly easier for Device Trees (and Overlays) to link the ISP controller to a video input such as a CSI camera while also bringing it closer to what's been done already for the DSI controller. Suggested-by: Heiko Stuebner Signed-off-by: Quentin Schulz --- arch/arm64/boot/dts/rockchip/px30.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/r= ockchip/px30.dtsi index 8220c875415f52bb2098af5c0647cae8fe5c9aed..0cad83c5d5fe64dc8539e0fd064= 0e02058e1955c 100644 --- a/arch/arm64/boot/dts/rockchip/px30.dtsi +++ b/arch/arm64/boot/dts/rockchip/px30.dtsi @@ -1269,7 +1269,7 @@ ports { #address-cells =3D <1>; #size-cells =3D <0>; =20 - port@0 { + isp_in: port@0 { reg =3D <0>; }; }; --=20 2.49.0 From nobody Sat Oct 11 12:10:14 2025 Received: from smtp-bc08.mail.infomaniak.ch (smtp-bc08.mail.infomaniak.ch [45.157.188.8]) (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 00720241122 for ; Tue, 10 Jun 2025 16:22:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.157.188.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572562; cv=none; b=MCG5sp2yd0QC12aUMgrtxdtV8yltfU1LmMwz/adOJKY4JDeQYEEPDVK1JSWUNmgq+NnHN4HcYM+Nv1t9LzNIXRqQosHO8VowQo3DerIK5uEFOxZEJeNMxdNTrwE2/Z9xJTwKuOxxEAQPycrNWR99F3tqqWJqVg2C/y/grZxFo0s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749572562; c=relaxed/simple; bh=Z6D+GL9GtsJgbHK3WL3YW7UtvGDqmKqTgGYeL9dKFuw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ChEnxwYGrrFRVq0YhC60eDCbLWENppIFbkzwFQd61nO/aiMwKZKa3yZm/vGnDM6UBySwH3u1uAk6vUjIB3X3bQNsQ6diyb+xBLuldsQOCYxXO0aM7XPwMvXXYzbeW6KmdN2ndMOYkN01WL1edTVlS2SJQg3O84gxoOmHa209XDY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net; spf=pass smtp.mailfrom=0leil.net; arc=none smtp.client-ip=45.157.188.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=0leil.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=0leil.net Received: from smtp-3-0001.mail.infomaniak.ch (smtp-3-0001.mail.infomaniak.ch [10.4.36.108]) by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4bGvG03JXvznlH; Tue, 10 Jun 2025 18:22:32 +0200 (CEST) Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4bGvFz4fyJzyLt; Tue, 10 Jun 2025 18:22:31 +0200 (CEST) From: Quentin Schulz Date: Tue, 10 Jun 2025 18:22:18 +0200 Subject: [PATCH v2 3/3] arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck 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: <20250610-ringneck-haikou-video-demo-cam-v2-3-de1bf87e0732@cherry.de> References: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> In-Reply-To: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Quentin Schulz X-Mailer: b4 0.14.2 X-Infomaniak-Routing: alpha From: Quentin Schulz The Haikou Video Demo adapter has a proprietary connector for a camera module which has an OV5675 camera sensor and a companion DW9714 focus lens driver. This adds support for the camera module on PX30 Ringneck module fitted on a Haikou devkit with the Haikou Video Demo adapter. Signed-off-by: Quentin Schulz --- .../rockchip/px30-ringneck-haikou-video-demo.dtso | 53 ++++++++++++++++++= ++++ 1 file changed, 53 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.d= tso b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.dtso index 7d9ea5aa598486680191d52e4c87af59f7b0e579..ea5ce919984f0704d88dc1f5eb0= 2a42d5633656e 100644 --- a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.dtso +++ b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.dtso @@ -94,6 +94,15 @@ video-adapter-led { }; }; =20 +&cif_clkout_m0 { + rockchip,pins =3D + <2 RK_PB3 1 &pcfg_pull_none_12ma>; +}; + +&csi_dphy { + status =3D "okay"; +}; + &display_subsystem { status =3D "okay"; }; @@ -135,6 +144,12 @@ &i2c1 { /* OV5675, GT911, DW9714 are limited to 400KHz */ clock-frequency =3D <400000>; =20 + focus: focus@c { + compatible =3D "dongwoon,dw9714"; + reg =3D <0xc>; + vcc-supply =3D <&cam_afvdd_2v8>; + }; + touchscreen@14 { compatible =3D "goodix,gt911"; reg =3D <0x14>; @@ -157,6 +172,44 @@ pca9670: gpio@27 { pinctrl-names =3D "default"; reset-gpios =3D <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; }; + + camera@36 { + compatible =3D "ovti,ov5675"; + reg =3D <0x36>; + clocks =3D <&cru SCLK_CIF_OUT>; + assigned-clocks =3D <&cru SCLK_CIF_OUT>; + /* Only parent to get exactly 19.2MHz */ + assigned-clock-parents =3D <&cru USB480M>; + assigned-clock-rates =3D <19200000>; + avdd-supply =3D <&cam_avdd_2v8>; + dvdd-supply =3D <&cam_dvdd_1v2>; + dovdd-supply =3D <&cam_dovdd_1v8>; + lens-focus =3D <&focus>; + orientation =3D <0>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&cif_clkout_m0>; + reset-gpios =3D <&pca9670 6 GPIO_ACTIVE_LOW>; + rotation =3D <180>; + + port { + cam_out: endpoint { + data-lanes =3D <1 2>; + link-frequencies =3D /bits/ 64 <450000000>; + remote-endpoint =3D <&mipi_in_cam>; + }; + }; + }; +}; + +&isp { + status =3D "okay"; +}; + +&isp_in { + mipi_in_cam: endpoint { + data-lanes =3D <1 2>; + remote-endpoint =3D <&cam_out>; + }; }; =20 &pinctrl { --=20 2.49.0