* [PATCH v2] arm64: dts: rockchip: support camera module on Haikou Video Demo on RK3399 Puma
@ 2026-11-13 14:55 Quentin Schulz
2026-11-13 15:08 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Quentin Schulz @ 2026-11-13 14:55 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
Cc: devicetree, linux-arm-kernel, linux-rockchip, linux-kernel,
Quentin Schulz
From: Quentin Schulz <quentin.schulz@cherry.de>
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 RK3399 Puma module fitted on
a Haikou devkit with the Haikou Video Demo adapter.
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
---
Camera only works once the ov5675 driver is adapted[1] to work with
24MHz MCLK. With the similar work done for RK3588 Tiger[2], we now have
all our modules supporting the same set of features when used in
conjunction with Haikou Video Demo.
Same request as made in [2], please only merge this once the OV5675
series[1] is merged.
[1] https://lore.kernel.org/linux-media/20261026101646.2450051-1-heiko@sntech.de/
[2] https://lore.kernel.org/linux-rockchip/20261026102027.2451025-1-heiko@sntech.de/
---
Changes in v2:
- added missing #address-cells and #size-cells to &isp1/ports,
- Link to v1: https://patch.msgid.link/20261103-rk3399-puma-haikou-video-demo-cam-v1-1-9a49d97839b5@cherry.de
---
.../rockchip/rk3399-puma-haikou-video-demo.dtso | 58 ++++++++++++++++++++++
1 file changed, 58 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
index 141a921a06e47..013920d9a3392 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
@@ -16,6 +16,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interface-devices.h>
#include <dt-bindings/pinctrl/rockchip.h>
&{/} {
@@ -100,6 +101,12 @@ &i2c1 {
/* OV5675, GT911, DW9714 are limited to 400KHz */
clock-frequency = <400000>;
+ focus: focus@c {
+ compatible = "dongwoon,dw9714";
+ reg = <0xc>;
+ vcc-supply = <&cam_afvdd_2v8>;
+ };
+
touchscreen@14 {
compatible = "goodix,gt911";
reg = <0x14>;
@@ -122,6 +129,53 @@ pca9670: gpio@27 {
pinctrl-names = "default";
reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
};
+
+ camera@36 {
+ compatible = "ovti,ov5675";
+ reg = <0x36>;
+ assigned-clocks = <&cru SCLK_CIF_OUT>;
+ assigned-clock-rates = <24000000>;
+ clocks = <&cru SCLK_CIF_OUT>;
+ avdd-supply = <&cam_avdd_2v8>;
+ dvdd-supply = <&cam_dvdd_1v2>;
+ dovdd-supply = <&cam_dovdd_1v8>;
+ lens-focus = <&focus>;
+ orientation = <MEDIA_ORIENTATION_FRONT>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&cif_clkouta>;
+ reset-gpios = <&pca9670 6 GPIO_ACTIVE_LOW>;
+ rotation = <180>;
+
+ port {
+ cam_output: endpoint {
+ data-lanes = <1 2>;
+ link-frequencies = /bits/ 64 <450000000>;
+ remote-endpoint = <&mipi_in_cam>;
+ };
+ };
+ };
+};
+
+&isp1 {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ mipi_in_cam: endpoint@0 {
+ reg = <0>;
+ data-lanes = <1 2>;
+ link-frequencies = /bits/ 64 <450000000>;
+ remote-endpoint = <&cam_output>;
+ };
+ };
+ };
+};
+
+&isp1_mmu {
+ status = "okay";
};
&mipi_dsi {
@@ -145,6 +199,10 @@ mipi_in_panel: endpoint {
};
};
+&mipi_dsi1 {
+ status = "okay";
+};
+
&mipi_out {
mipi_out_panel: endpoint {
remote-endpoint = <&mipi_in_panel>;
---
base-commit: 05441d697f7f9a927264f4058cbbc6a03dfcac9d
base-tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
change-id: 20261103-rk3399-puma-haikou-video-demo-cam-d86be639a91e
Best regards,
--
Quentin Schulz <quentin.schulz@cherry.de>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] arm64: dts: rockchip: support camera module on Haikou Video Demo on RK3399 Puma
2026-11-13 14:55 [PATCH v2] arm64: dts: rockchip: support camera module on Haikou Video Demo on RK3399 Puma Quentin Schulz
@ 2026-11-13 15:08 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-11-13 15:08 UTC (permalink / raw)
To: Quentin Schulz; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Low] arm64: dts: rockchip: missing reg and address/size cells in
&isp1 port@0
--
commit a25f92051078c649413a94889902e838a237378c
Author: Quentin Schulz <quentin.schulz@cherry.de>
arm64: dts: rockchip: support camera module on Haikou Video Demo on RK3399 Puma
This commit adds device tree overlay nodes for the OV5675 camera sensor and
DW9714 focus lens driver on the RK3399 Puma Haikou Video Demo adapter,
enabling isp1, isp1_mmu, and mipi_dsi1.
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
> index 141a921a06e47..013920d9a3392 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
> +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou-video-demo.dtso
[ ... ]
> @@ -122,6 +129,53 @@ pca9670: gpio@27 {
> pinctrl-names = "default";
> reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
> };
> +
> + camera@36 {
[ ... ]
> + };
> +};
> +
> +&isp1 {
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + mipi_in_cam: endpoint@0 {
> + reg = <0>;
> + data-lanes = <1 2>;
> + link-frequencies = /bits/ 64 <450000000>;
> + remote-endpoint = <&cam_output>;
> + };
> + };
> + };
> +};
[Severity: Low]
Should port@0 define reg = <0>, #address-cells = <1>, and #size-cells = <0>
to match isp1 in arch/arm64/boot/dts/rockchip/rk3399-base.dtsi?
Because dtc compiles this overlay into a standalone .dtbo before fdtoverlay
merges it with the base DTB, #address-cells and #size-cells on ports apply
only to port@0 and are not inherited by its child endpoint@0. Without them
on port@0, compiling the overlay triggers dtc reg_format,
avoid_default_addr_size, and graph_endpoint warnings on endpoint@0 (plus
unit_address_vs_reg and avoid_unnecessary_addr_size warnings with W=1
because port@0 has no reg property in the overlay).
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261113-rk3399-puma-haikou-video-demo-cam-v2-1-e71acf307f92@cherry.de?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-13 15:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-13 14:55 [PATCH v2] arm64: dts: rockchip: support camera module on Haikou Video Demo on RK3399 Puma Quentin Schulz
2026-11-13 15:08 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox