imx586: add opi5ultra overlays and IQ config

This commit is contained in:
OrangePi CM5 Builder 2026-04-09 08:54:31 +08:00
parent 706380dafc
commit 9bb11f565f
13 changed files with 239 additions and 0 deletions

111
cam1_imx586_overlay.dts Normal file
View File

@ -0,0 +1,111 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&csi2_dphy1_hw>;
__overlay__ {
status = "okay";
};
};
fragment@1 {
target = <&csi2_dphy3>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&mipi4_csi2>;
__overlay__ {
status = "okay";
};
};
fragment@3 {
target = <&rkcif_mipi_lvds4>;
__overlay__ {
status = "okay";
};
};
fragment@4 {
target = <&rkcif_mipi_lvds4_sditf>;
__overlay__ {
status = "okay";
};
};
fragment@5 {
target = <&rkisp1_vir1>;
__overlay__ {
status = "okay";
};
};
fragment@6 {
target = <&i2c9>;
__overlay__ {
status = "okay";
vm149c-p1@c {
status = "okay";
};
ov13850-1@10 {
status = "okay";
};
dw9714-p1@c {
status = "okay";
};
imx586-1@34 {
status = "okay";
avdd-supply = <&vcc_3v3_s0>;
dovdd-supply = <&vcc_1v8_s0>;
dvdd-supply = <&avdd_1v2_s0>;
};
};
};
fragment@7 {
target = <&rkcif>;
__overlay__ {
status = "okay";
};
};
fragment@8 {
target = <&rkcif_mmu>;
__overlay__ {
status = "okay";
};
};
fragment@9 {
target = <&rkisp1>;
__overlay__ {
status = "okay";
};
};
fragment@10 {
target = <&isp1_mmu>;
__overlay__ {
status = "okay";
};
};
};

BIN
imx586-clock-fix.dtbo Normal file

Binary file not shown.

3
imx586/commands.txt Normal file
View File

@ -0,0 +1,3 @@
cp /tmp/imx586_default_default.json /etc/iqfiles/'
sed -i "s/^overlays=.*/overlays=opi5ultra-cam0 opi5ultra-cam1 opi5ultra-cam2/" /boot/orangepiEnv.txt'

File diff suppressed because one or more lines are too long

48
imx586_clock_fix.dts Normal file
View File

@ -0,0 +1,48 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target-path = "/";
__overlay__ {
imx586_xvclk: imx586-xvclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
clock-output-names = "imx586_xvclk";
};
};
};
fragment@1 {
target = <&i2c3>;
__overlay__ {
status = "okay";
imx586: imx586@34 {
compatible = "sony,imx586";
reg = <0x34>;
clocks = <&imx586_xvclk>;
clock-names = "xvclk";
reset-gpios = <&gpio3 9 0>; /* GPIO_ACTIVE_LOW */
pwdn-gpios = <&gpio3 11 1>; /* GPIO_ACTIVE_HIGH */
avdd-supply = <&vcc_3v3_s0>;
dovdd-supply = <&vcc_1v8_s0>;
dvdd-supply = <&avdd_1v2_s0>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CIS-IMX586";
rockchip,camera-module-lens-name = "CHT842B-MD";
status = "okay";
port {
imx586_out: endpoint {
remote-endpoint = <&mipi_in_imx586>;
data-lanes = <1 2 3 4>;
};
};
};
};
};
};

Binary file not shown.

View File

@ -0,0 +1,35 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&imx586_1>;
__overlay__ {
status = "okay";
reg = <0x1a>;
clocks = <&cru 0x101>;
clock-names = "xvclk";
pinctrl-names = "default";
pinctrl-0 = <&mipim1_camera2_clk>;
reset-gpios = <&gpio3 9 0>;
pwdn-gpios = <&gpio3 11 0>;
};
};
fragment@1 {
target = <&ov13850_1>;
__overlay__ {
status = "disabled";
};
};
fragment@2 {
target = <&ov13855_1>;
__overlay__ {
status = "disabled";
};
};
};

Binary file not shown.

View File

@ -0,0 +1,26 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&imx586_1>;
__overlay__ {
reg = <0x10>;
status = "okay";
};
};
fragment@1 {
target = <&ov13850_1>;
__overlay__ {
status = "disabled";
};
};
fragment@2 {
target = <&ov13855_1>;
__overlay__ {
status = "disabled";
};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&imx586_1>;
__overlay__ {
status = "okay";
reg = <0x34>;
reset-gpios = <&gpio3 0x09 0x00>;
pwdn-gpios = <&gpio3 0x0b 0x01>;
};
};
};