[PATCH v2 0/3] arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck

Quentin Schulz posted 3 patches 4 months ago
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(-)
[PATCH v2 0/3] arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck
Posted by Quentin Schulz 4 months ago
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@ff190000/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@cherry.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@cherry.de>
Re: [PATCH v2 0/3] arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck
Posted by Heiko Stuebner 3 months, 3 weeks ago
On Tue, 10 Jun 2025 18:22:15 +0200, Quentin Schulz wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/3] arm64: dts: rockchip: fix endpoint dtc warning for PX30 ISP
      commit: 5ddb2d46852997a28f8d77153e225611a8268b74
[2/3] arm64: dts: rockchip: px30: add label to first port of ISP
      commit: 9ad8e83d8abd083c701e75d7fe664c706daf6d56
[3/3] arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck
      commit: 99680fd394b912bf133b5b1e45aced1b7aea1d2e

Best regards,
-- 
Heiko Stuebner <heiko@sntech.de>