[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250610-ringneck-haikou-video-demo-cam-v2-0-de1bf87e0732@cherry.de>
Date: Tue, 10 Jun 2025 18:22:15 +0200
From: Quentin Schulz <foss+kernel@...il.net>
To: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Heiko Stuebner <heiko@...ech.de>
Cc: devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
Quentin Schulz <quentin.schulz@...rry.de>
Subject: [PATCH v2 0/3] arm64: dts: rockchip: support camera module on
Haikou Video Demo on PX30 Ringneck
The first patch is fixing dtc warnings related to the ISP on PX30.
Sadly there's still one due to there only be one port in PX30's ISP and
still address-cells and size-cells properties set. The "issue" is that
there are actually two ports (see binding) so we shouldn't really remove
it, but the binding requires a bus-type property (either parallel or
bt656 mode) for the port@1, which we cannot know from the SoC PoV.
The secibd patch adds a label to the port@0 of the ISP to make it easier
to add an endpoint to it from a board DTS(I).
The third patch adds support for the camera module found on Haikou
Video Demo adapter with PX30 Ringneck.
This adapter is also used with RK3588 Tiger, but there's currently no
camera stack at all on RK3588, and RK3399 Puma, but:
- 19.2MHz is not achievable exactly, so need to patch the driver to
support 24MHz for example, this will come later,
- The camera clk is on an IO domain at 1.8V but configured at boot at
3.3V, and until the IO domain is properly configured, the camera
won't receive a clock. Based on the probe order, it is possible (and
empirically very likely) that the camera won't be detected at all.
A Linux kernel solution was attempted multiple times in the past,
c.f.
https://lore.kernel.org/linux-gpio/20230904115816.1237684-1-s.hauer@pengutronix.de/
https://lore.kernel.org/lkml/20220802095252.2486591-1-foss+kernel@0leil.net/
We'll need to figure something out this time as I won't be able to
upstream camera support without it :)
To test, install libcamera on Debian Bookworm (or more recent I guess;
libcamera-ipa libcamera-tools) and add a file at
/usr/share/libcamera/ipa/rkisp1/ov5675.yaml whose content is (remove one
leading whitespace):
# SPDX-License-Identifier: CC0-1.0
%YAML 1.1
---
version: 1
algorithms:
- Agc:
- Awb:
- BlackLevelCorrection:
- ColorProcessing:
...
then call
qcam -platform eglfs -c /base/i2c@...90000/camera@36
While this is running, control the focus lens driver with (via v4l-utils
Debian package):
v4l2-ctl -d /dev/v4l-subdev5 -c focus_absolute=150
and change the focus_absolute value to see the lens moving and the focus
change.
I'll try to have a look at libcamera's config file so I can send a
proper one to the project instead of this dummy one.
Signed-off-by: Quentin Schulz <quentin.schulz@...rry.de>
---
Changes in v2:
- added patch 1 (fix dtc warnings for endpoint in ISP port@0 node)
- added patch 2 (label to port@0 ISP node),
- used phandle to port@0 ISP node, removed reg and @0 suffix to
endpoint,
- Link to v1: https://lore.kernel.org/r/20250516-ringneck-haikou-video-demo-cam-v1-1-fff23160395f@cherry.de
---
Quentin Schulz (3):
arm64: dts: rockchip: fix endpoint dtc warning for PX30 ISP
arm64: dts: rockchip: px30: add label to first port of ISP
arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck
arch/arm64/boot/dts/rockchip/px30-evb.dts | 3 +-
arch/arm64/boot/dts/rockchip/px30-pp1516.dtsi | 3 +-
.../rockchip/px30-ringneck-haikou-video-demo.dtso | 53 ++++++++++++++++++++++
arch/arm64/boot/dts/rockchip/px30.dtsi | 4 +-
4 files changed, 56 insertions(+), 7 deletions(-)
---
base-commit: 8a7f81861ba3226f9cd6fc1cd34d7d62ff8951c0
change-id: 20250516-ringneck-haikou-video-demo-cam-420685fb7f9f
Best regards,
--
Quentin Schulz <quentin.schulz@...rry.de>
Powered by blists - more mailing lists