mirror of
https://github.com/revyos/thead-kernel.git
synced 2026-09-16 20:32:19 +02:00
706 lines
14 KiB
Plaintext
706 lines
14 KiB
Plaintext
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2021 Alibaba Group Holding Limited.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "light-beagle-ref.dts"
|
|
|
|
&vvcam_sensor4 { // beagle board J5 CSI0 connector
|
|
sensor_name = "IMX219";
|
|
sensor_pdn = <&gpio2_porta 23 0>; //powerdown pin / shutdown pin
|
|
sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
i2c_addr = /bits/ 8 <0x10>;
|
|
i2c_bus = /bits/ 8 <1>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&vvcam_sensor5 { // beagle board J4 CSI1 connector
|
|
sensor_name = "IMX219";
|
|
sensor_pdn = <&gpio2_porta 24 0>; //powerdown pin / shutdown pin
|
|
sensor_pdn_delay_us = <2000>; //powerdown pin / shutdown pin actived till I2C ready
|
|
i2c_addr = /bits/ 8 <0x10>;
|
|
i2c_bus = /bits/ 8 <3>;
|
|
i2c_reg_width = /bits/ 8 <2>;
|
|
i2c_data_width = /bits/ 8 <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
/*
|
|
sensor imx219 mounted on beagle board J4 CSI1 (=light CSI2X2_A+CSI2X2_B / CSI2X2_A only)
|
|
video0: sensor-vipre-isp0
|
|
video1: sensor-vipre-isp0-dw
|
|
video7: sensor-vipre-isp0-dsp1-ry-dw
|
|
video10: tuningtool
|
|
|
|
sensor imx219 mounted on beagle board J5 CSI0 (=light CSI2)
|
|
video2: sensor-vipre-isp1
|
|
video3: sensor-vipre-isp1-dw
|
|
video4: sensor-vipre-isp1-dsp0-ry
|
|
video5: sensor-vipre-isp1-dsp0-ry-dw
|
|
video12: tuningtool
|
|
*/
|
|
|
|
&video0{
|
|
vi_mem_pool_region = <0xFFFFFFFF>; // vi_mem: framebuffer, region[2]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <5>; // imx219
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_ISP0";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <5>; // imx219
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_ISP0";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <5>; // imx219
|
|
csi_idx = <2>; //<2>=CSI2X2_A
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI2_ISP0";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <0>;
|
|
path_type = "ISP_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video2 {
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
status = "okay";
|
|
channel0 {
|
|
channel_id = <0>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
channel_id = <1>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
channel_id = <2>;
|
|
status = "okay";
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <16>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video3{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&video4{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_SP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_SP2_BP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&video5{
|
|
vi_mem_pool_region = <0>; // vi_mem: framebuffer, region[0]
|
|
channel0 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE0";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel1 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE1";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
channel2 {
|
|
sensor0 {
|
|
subdev_name = "vivcam";
|
|
idx = <4>; // imx219
|
|
csi_idx = <0>; //<0>=CSI2
|
|
mode_idx = <0>;
|
|
path_type = "SENSOR_1080P_RAW10_LINER";
|
|
};
|
|
sensor1 {
|
|
subdev_name = "vivcam";
|
|
idx = <0xff>; // invalid
|
|
csi_idx = <0xff>;
|
|
path_type = "SENSOR_VGA_RAW10_LINER";
|
|
};
|
|
dma {
|
|
subdev_name = "vipre";
|
|
idx = <0>;
|
|
path_type = "VIPRE_CSI0_ISP1";
|
|
};
|
|
isp {
|
|
subdev_name = "isp";
|
|
idx = <1>;
|
|
path_type = "ISP_MI_PATH_PP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dsp {
|
|
subdev_name = "dsp";
|
|
idx = <0>;
|
|
path_type = "DSP_PATH_ISP_RY";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
ry {
|
|
subdev_name = "ry";
|
|
idx = <0>;
|
|
path_type = "ISP_RY_MI_PATH_MP";
|
|
output {
|
|
max_width = <1920>;
|
|
max_height = <1088>;
|
|
bit_per_pixel = <12>;
|
|
frame_count = <3>;
|
|
};
|
|
};
|
|
dw {
|
|
subdev_name = "dw";
|
|
idx = <0>;
|
|
path_type = "DW_DWE_VSE2";
|
|
dw_dst_depth = <2>;
|
|
};
|
|
};
|
|
};
|