From 41b50f13883873202ee2375ec2f58970941c314a Mon Sep 17 00:00:00 2001 From: baiywt Date: Tue, 25 Jun 2024 15:33:37 +0800 Subject: [PATCH] arm64: dts: rockchip: Update camera node for opi3b/opicm4 --- arch/arm64/boot/dts/rockchip/overlay/Makefile | 4 +- .../{rk356x-ov5647-c1.dts => rk356x-cam1.dts} | 8 ++ .../{rk356x-ov5647-c2.dts => rk356x-cam2.dts} | 8 ++ .../dts/rockchip/rk3566-orangepi-3b-v2.dts | 79 ++++++++---- .../boot/dts/rockchip/rk3566-orangepi-3b.dts | 120 +++++++++++------- .../dts/rockchip/rk3566-orangepi-cm4-v1.4.dts | 89 ++++++++++--- .../boot/dts/rockchip/rk3566-orangepi-cm4.dts | 89 ++++++++++--- 7 files changed, 279 insertions(+), 118 deletions(-) rename arch/arm64/boot/dts/rockchip/overlay/{rk356x-ov5647-c1.dts => rk356x-cam1.dts} (90%) rename arch/arm64/boot/dts/rockchip/overlay/{rk356x-ov5647-c2.dts => rk356x-cam2.dts} (93%) diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile index 3a7ab64b2b47..9561116b2670 100644 --- a/arch/arm64/boot/dts/rockchip/overlay/Makefile +++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile @@ -124,8 +124,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ rk356x-pwm11-m1.dtbo \ rk356x-pwm15-m1.dtbo \ rk356x-pwm7.dtbo \ - rk356x-ov5647-c1.dtbo \ - rk356x-ov5647-c2.dtbo \ + rk356x-cam1.dtbo \ + rk356x-cam2.dtbo \ rk3399-lcd1.dtbo \ rk3399-lcd2.dtbo \ rk3399-camera1.dtbo \ diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c1.dts b/arch/arm64/boot/dts/rockchip/overlay/rk356x-cam1.dts similarity index 90% rename from arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c1.dts rename to arch/arm64/boot/dts/rockchip/overlay/rk356x-cam1.dts index 066260d413b3..67691eca0cfb 100644 --- a/arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c1.dts +++ b/arch/arm64/boot/dts/rockchip/overlay/rk356x-cam1.dts @@ -66,4 +66,12 @@ status = "okay"; }; }; + + fragment@8 { + target = <&imx219>; + + __overlay__ { + status = "okay"; + }; + }; }; diff --git a/arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c2.dts b/arch/arm64/boot/dts/rockchip/overlay/rk356x-cam2.dts similarity index 93% rename from arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c2.dts rename to arch/arm64/boot/dts/rockchip/overlay/rk356x-cam2.dts index 7d749b44be8e..747e78840b4e 100644 --- a/arch/arm64/boot/dts/rockchip/overlay/rk356x-ov5647-c2.dts +++ b/arch/arm64/boot/dts/rockchip/overlay/rk356x-cam2.dts @@ -107,4 +107,12 @@ status = "okay"; }; }; + + fragment@13 { + target = <&imx219_1>; + + __overlay__ { + status = "okay"; + }; + }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b-v2.dts b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b-v2.dts index 047238e418cc..b9a6c0ec9f82 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b-v2.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b-v2.dts @@ -191,10 +191,10 @@ regulator-boot-on; }; - ext_cam_ov5647_clk: external-camera-ov5647-clock { + ext_cam_clk_25m: external-camera-clock { compatible = "fixed-clock"; clock-frequency = <25000000>; - clock-output-names = "ext_cam_ov5647_clk"; + clock-output-names = "ext_cam_clk_25m"; #clock-cells = <0>; }; @@ -1089,16 +1089,35 @@ status = "disabled"; compatible = "ovti,ov5647"; reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; - rockchip,camera-module-name = "LMM248"; - rockchip,camera-module-lens-name = "YXC-M804A2"; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; port { ov5647_out: endpoint { - remote-endpoint = <&dphy1_in>; + remote-endpoint = <&dphy1_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + port { + imx219_out: endpoint { + remote-endpoint = <&dphy1_in_ucam1>; data-lanes = <1 2>; }; }; @@ -1117,7 +1136,7 @@ }; raspits_touch_ft5426: raspits-touch-ft5426@38 { - status = "disabled"; + status = "disabled"; compatible = "raspits_ft5426"; reg = <0x38>; }; @@ -1139,31 +1158,37 @@ * full mode and split mode are mutually exclusive */ ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; #address-cells = <1>; #size-cells = <0>; - dphy1_in: endpoint@1 { - reg = <1>; - remote-endpoint = <&ov5647_out>; - data-lanes = <1 2>; - }; - }; + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; - port@1 { - reg = <1>; - #address-cells = <1>; - #size-cells = <0>; + dphy1_in_ucam0: endpoint@0 { + reg = <0>; + remote-endpoint = <&ov5647_out>; + data-lanes = <1 2>; + }; - dphy1_out: endpoint@1 { - reg = <1>; - remote-endpoint = <&isp0_in>; + dphy1_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out>; + data-lanes = <1 2>; + }; + }; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + dphy1_out: endpoint@1 { + reg = <1>; + remote-endpoint = <&isp0_in>; + }; }; - }; }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dts b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dts index 7428b3462527..3a51ff553989 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dts @@ -191,10 +191,10 @@ regulator-boot-on; }; - ext_cam_ov5647_clk: external-camera-ov5647-clock { + ext_cam_clk_25m: external-camera-clock { compatible = "fixed-clock"; clock-frequency = <25000000>; - clock-output-names = "ext_cam_ov5647_clk"; + clock-output-names = "ext_cam_clk_25m"; #clock-cells = <0>; }; @@ -1075,29 +1075,48 @@ }; &i2c1 { - status = "okay"; + status = "okay"; - ov5647: ov5647@36 { - status = "disabled"; - compatible = "ovti,ov5647"; - reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; - pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + ov5647: ov5647@36 { + status = "disabled"; + compatible = "ovti,ov5647"; + reg = <0x36>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; - rockchip,camera-module-name = "LMM248"; - rockchip,camera-module-lens-name = "YXC-M804A2"; - port { - ov5647_out: endpoint { - remote-endpoint = <&dphy1_in>; - data-lanes = <1 2>; - }; - }; - }; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; + port { + ov5647_out: endpoint { + remote-endpoint = <&dphy1_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + port { + imx219_out: endpoint { + remote-endpoint = <&dphy1_in_ucam1>; + data-lanes = <1 2>; + }; + }; + }; raspits_panel: raspits-panel@45 { - status = "disabled"; + status = "disabled"; compatible = "raspberrypi,7inch-touchscreen-panel"; reg = <0x45>; @@ -1124,37 +1143,44 @@ }; &csi2_dphy1 { - status = "disabled"; - /* - * dphy1 only used for split mode, - * can be used concurrently with dphy2 - * full mode and split mode are mutually exclusive - */ - ports { - #address-cells = <1>; - #size-cells = <0>; + status = "disabled"; + /* + * dphy1 only used for split mode, + * can be used concurrently with dphy2 + * full mode and split mode are mutually exclusive + */ + ports { + #address-cells = <1>; + #size-cells = <0>; - port@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <0>; + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; - dphy1_in: endpoint@1 { - reg = <1>; - remote-endpoint = <&ov5647_out>; - data-lanes = <1 2>; - }; - }; + dphy1_in_ucam0: endpoint@0 { + reg = <0>; + remote-endpoint = <&ov5647_out>; + data-lanes = <1 2>; + }; - port@1 { - reg = <1>; - #address-cells = <1>; - #size-cells = <0>; + dphy1_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out>; + data-lanes = <1 2>; + }; + }; + + port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + dphy1_out: endpoint@1 { + reg = <1>; + remote-endpoint = <&isp0_in>; + }; - dphy1_out: endpoint@1 { - reg = <1>; - remote-endpoint = <&isp0_in>; - }; }; }; }; diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4-v1.4.dts b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4-v1.4.dts index 3a2df9457d9d..fcc465f281dc 100755 --- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4-v1.4.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4-v1.4.dts @@ -187,10 +187,10 @@ regulator-boot-on; }; - ext_cam_ov5647_clk: external-camera-ov5647-clock { + ext_cam_clk_25m: external-camera-clock { compatible = "fixed-clock"; clock-frequency = <25000000>; - clock-output-names = "ext_cam_ov5647_clk"; + clock-output-names = "ext_cam_clk_25m"; #clock-cells = <0>; }; @@ -1068,18 +1068,35 @@ status = "disabled"; compatible = "ovti,ov5647"; reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; - rockchip,camera-module-name = "TongJu"; - rockchip,camera-module-lens-name = "CHT842-MD"; - //rockchip,camera-module-name = "THDS11073"; - //rockchip,camera-module-lens-name = "Largan-40122a1"; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; port { ov5647_out: endpoint { - remote-endpoint = <&dphy1_in>; + remote-endpoint = <&dphy1_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + port { + imx219_out: endpoint { + remote-endpoint = <&dphy1_in_ucam1>; data-lanes = <1 2>; }; }; @@ -1116,19 +1133,37 @@ compatible = "ovti,ov5647"; reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <1>; - rockchip,camera-module-facing = "front"; - rockchip,camera-module-name = "TongJu"; - rockchip,camera-module-lens-name = "CHT842-MD"; - //rockchip,camera-module-name = "THDS11073"; - //rockchip,camera-module-lens-name = "Largan-40122a1"; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; port { ov5647_out1: endpoint { - remote-endpoint = <&dphy2_in>; + remote-endpoint = <&dphy2_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219_1: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <1>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + + port { + imx219_out1: endpoint { + remote-endpoint = <&dphy2_in_ucam1>; data-lanes = <1 2>; }; }; @@ -1173,11 +1208,17 @@ #address-cells = <1>; #size-cells = <0>; - dphy1_in: endpoint@1 { - reg = <1>; + dphy1_in_ucam0: endpoint@0 { + reg = <0>; remote-endpoint = <&ov5647_out>; data-lanes = <1 2>; }; + + dphy1_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out>; + data-lanes = <1 2>; + }; }; port@1 { @@ -1209,11 +1250,17 @@ #address-cells = <1>; #size-cells = <0>; - dphy2_in: endpoint@1 { - reg = <1>; + dphy2_in_ucam0: endpoint@0 { + reg = <0>; remote-endpoint = <&ov5647_out1>; data-lanes = <1 2>; }; + + dphy2_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out1>; + data-lanes = <1 2>; + }; }; port@1 { diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4.dts b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4.dts index 06b3b2a75d29..e01ff7dee8f5 100755 --- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-cm4.dts @@ -187,10 +187,10 @@ regulator-boot-on; }; - ext_cam_ov5647_clk: external-camera-ov5647-clock { + ext_cam_clk_25m: external-camera-clock { compatible = "fixed-clock"; clock-frequency = <25000000>; - clock-output-names = "ext_cam_ov5647_clk"; + clock-output-names = "ext_cam_clk_25m"; #clock-cells = <0>; }; @@ -1059,18 +1059,35 @@ status = "disabled"; compatible = "ovti,ov5647"; reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <0>; rockchip,camera-module-facing = "back"; - rockchip,camera-module-name = "TongJu"; - rockchip,camera-module-lens-name = "CHT842-MD"; - //rockchip,camera-module-name = "THDS11073"; - //rockchip,camera-module-lens-name = "Largan-40122a1"; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; port { ov5647_out: endpoint { - remote-endpoint = <&dphy1_in>; + remote-endpoint = <&dphy1_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <0>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + port { + imx219_out: endpoint { + remote-endpoint = <&dphy1_in_ucam1>; data-lanes = <1 2>; }; }; @@ -1107,19 +1124,37 @@ compatible = "ovti,ov5647"; reg = <0x36>; - clocks = <&ext_cam_ov5647_clk>; - clock-names = "ext_cam_ov5647_clk"; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; rockchip,camera-module-index = <1>; - rockchip,camera-module-facing = "front"; - rockchip,camera-module-name = "TongJu"; - rockchip,camera-module-lens-name = "CHT842-MD"; - //rockchip,camera-module-name = "THDS11073"; - //rockchip,camera-module-lens-name = "Largan-40122a1"; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v1"; + rockchip,camera-module-lens-name = "default"; port { ov5647_out1: endpoint { - remote-endpoint = <&dphy2_in>; + remote-endpoint = <&dphy2_in_ucam0>; + data-lanes = <1 2>; + }; + }; + }; + + imx219_1: imx219@10 { + status = "disabled"; + compatible = "sony,imx219"; + reg = <0x10>; + clocks = <&ext_cam_clk_25m>; + clock-names = "ext_cam_clk_25m"; + pwdn-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_LOW>; + rockchip,camera-module-index = <1>; + rockchip,camera-module-facing = "back"; + rockchip,camera-module-name = "rpi-camera-v2"; + rockchip,camera-module-lens-name = "default"; + + port { + imx219_out1: endpoint { + remote-endpoint = <&dphy2_in_ucam1>; data-lanes = <1 2>; }; }; @@ -1164,11 +1199,17 @@ #address-cells = <1>; #size-cells = <0>; - dphy1_in: endpoint@1 { - reg = <1>; + dphy1_in_ucam0: endpoint@0 { + reg = <0>; remote-endpoint = <&ov5647_out>; data-lanes = <1 2>; }; + + dphy1_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out>; + data-lanes = <1 2>; + }; }; port@1 { @@ -1200,11 +1241,17 @@ #address-cells = <1>; #size-cells = <0>; - dphy2_in: endpoint@1 { - reg = <1>; + dphy2_in_ucam0: endpoint@0 { + reg = <0>; remote-endpoint = <&ov5647_out1>; data-lanes = <1 2>; }; + + dphy2_in_ucam1: endpoint@1 { + reg = <1>; + remote-endpoint = <&imx219_out1>; + data-lanes = <1 2>; + }; }; port@1 {