]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: rockchip: support camera module on Haikou Video Demo on PX30 Ringneck
authorQuentin Schulz <quentin.schulz@cherry.de>
Tue, 10 Jun 2025 16:22:18 +0000 (18:22 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 20 Jun 2025 10:38:18 +0000 (12:38 +0200)
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 <quentin.schulz@cherry.de>
Link: https://lore.kernel.org/r/20250610-ringneck-haikou-video-demo-cam-v2-3-de1bf87e0732@cherry.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-video-demo.dtso

index 7d9ea5aa598486680191d52e4c87af59f7b0e579..ea5ce919984f0704d88dc1f5eb02a42d5633656e 100644 (file)
        };
 };
 
+&cif_clkout_m0 {
+       rockchip,pins =
+               <2 RK_PB3 1 &pcfg_pull_none_12ma>;
+};
+
+&csi_dphy {
+       status = "okay";
+};
+
 &display_subsystem {
        status = "okay";
 };
        /* 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>;
                pinctrl-names = "default";
                reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
        };
+
+       camera@36 {
+               compatible = "ovti,ov5675";
+               reg = <0x36>;
+               clocks = <&cru SCLK_CIF_OUT>;
+               assigned-clocks = <&cru SCLK_CIF_OUT>;
+               /* Only parent to get exactly 19.2MHz */
+               assigned-clock-parents = <&cru USB480M>;
+               assigned-clock-rates = <19200000>;
+               avdd-supply = <&cam_avdd_2v8>;
+               dvdd-supply = <&cam_dvdd_1v2>;
+               dovdd-supply = <&cam_dovdd_1v8>;
+               lens-focus = <&focus>;
+               orientation = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&cif_clkout_m0>;
+               reset-gpios = <&pca9670 6 GPIO_ACTIVE_LOW>;
+               rotation = <180>;
+
+               port {
+                       cam_out: endpoint {
+                               data-lanes = <1 2>;
+                               link-frequencies = /bits/ 64 <450000000>;
+                               remote-endpoint = <&mipi_in_cam>;
+                       };
+               };
+       };
+};
+
+&isp {
+       status = "okay";
+};
+
+&isp_in {
+       mipi_in_cam: endpoint {
+               data-lanes = <1 2>;
+               remote-endpoint = <&cam_out>;
+       };
 };
 
 &pinctrl {