diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-ar0234-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-ar0234-a00.dtsi
index 2c58327..c702e5b 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-ar0234-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-ar0234-a00.dtsi
@@ -15,915 +15,4 @@
* along with this program. If not, see .
*/
-/ {
-
- tegra-capture-vi {
- num-channels = <4>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_vi_in0: endpoint {
- vc-id = <0>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_out0>;
- };
- };
- port@1 {
- reg = <1>;
- ar0234_vi_in1: endpoint {
- vc-id = <1>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_out1>;
- };
- };
- port@2 {
- reg = <2>;
- ar0234_vi_in2: endpoint {
- vc-id = <2>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_out2>;
- };
- };
- port@3 {
- reg = <3>;
- ar0234_vi_in3: endpoint {
- vc-id = <3>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_out3>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <4>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_csi_in0: endpoint@0 {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_ar0234_out0>;
- };
- };
- port@1 {
- reg = <1>;
- ar0234_csi_out0: endpoint@1 {
- remote-endpoint = <&ar0234_vi_in0>;
- };
- };
- };
- };
- channel@1 {
- reg = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_csi_in1: endpoint@2 {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_ar0234_out1>;
- };
- };
- port@1 {
- reg = <1>;
- ar0234_csi_out1: endpoint@3 {
- remote-endpoint = <&ar0234_vi_in1>;
- };
- };
- };
- };
- channel@2 {
- reg = <2>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_csi_in2: endpoint@4 {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_ar0234_out2>;
- };
- };
- port@1 {
- reg = <1>;
- ar0234_csi_out2: endpoint@5 {
- remote-endpoint = <&ar0234_vi_in2>;
- };
- };
- };
- };
- channel@3 {
- reg = <3>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_csi_in3: endpoint@6 {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_ar0234_out3>;
- };
- };
- port@1 {
- reg = <1>;
- ar0234_csi_out3: endpoint@7 {
- remote-endpoint = <&ar0234_vi_in3>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- ar0234_a@18 {
- compatible = "onsemi,ar0234";
-
- reg = <0x18>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="ar0234";
- sync_sensor = "HAWK1";
- sync_sensor_index = <1>;
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- //use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- phy_mode = "DPHY";
- vc_id = "0";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "grbg";
-
- active_w = "1920";
- active_h = "1200";
- readout_orientation = "0";
- line_length = "2448";
- inherent_gain = "1";
- mclk_multiplier = "3.01";
- pix_clk_hz = "134400000";
- serdes_pix_clk_hz = "280000000";
-
- gain_factor = "100";
- min_gain_val = "100"; /* dB */
- max_gain_val = "1600"; /* dB */
- step_gain_val = "1"; /* 0.1 */
- default_gain = "100";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "30000000";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "28"; /*us, 2 lines*/
- max_exp_time = "22000";
- step_exp_time = "1";
- default_exp_time = "22000";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_ar0234_out0: endpoint {
- vc-id = <0>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_in0>;
- };
- };
- };
- };
-
- ar0234_b@10 {
- compatible = "onsemi,ar0234";
-
- reg = <0x10>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="ar0234";
-
- sync_sensor = "HAWK1";
- sync_sensor_index = <2>;
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- //use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- vc_id = "1";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "grbg";
-
- active_w = "1920";
- active_h = "1200";
- readout_orientation = "0";
- line_length = "2448";
- inherent_gain = "1";
- mclk_multiplier = "3.01";
- pix_clk_hz = "134400000";
- serdes_pix_clk_hz = "280000000";
-
- gain_factor = "100";
- min_gain_val = "100"; /* dB */
- max_gain_val = "1600"; /* dB */
- step_gain_val = "1"; /* 0.1 */
- default_gain = "100";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "30000000";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "28"; /*us, 2 lines*/
- max_exp_time = "22000";
- step_exp_time = "1";
- default_exp_time = "22000";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_ar0234_out1: endpoint {
- vc-id = <1>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_in1>;
- };
- };
- };
- };
- };
- i2c@1 {
- ar0234_c@18 {
- compatible = "onsemi,ar0234";
-
- reg = <0x18>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="ar0234";
- sync_sensor = "HAWK2";
- sync_sensor_index = <1>;
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- //use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- vc_id = "2";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "grbg";
-
- active_w = "1920";
- active_h = "1200";
- readout_orientation = "0";
- line_length = "2448";
- inherent_gain = "1";
- mclk_multiplier = "3.01";
- pix_clk_hz = "134400000";
- serdes_pix_clk_hz = "280000000";
-
- gain_factor = "100";
- min_gain_val = "100"; /* dB */
- max_gain_val = "1600"; /* dB */
- step_gain_val = "1"; /* 0.1 */
- default_gain = "100";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "30000000";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "28"; /*us, 2 lines*/
- max_exp_time = "22000";
- step_exp_time = "1";
- default_exp_time = "22000";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_ar0234_out2: endpoint {
- vc-id = <2>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_in2>;
- };
- };
- };
- };
-
- ar0234_d@10 {
- compatible = "onsemi,ar0234";
-
- reg = <0x10>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="ar0234";
-
- sync_sensor = "HAWK2";
- sync_sensor_index = <2>;
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- //use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- vc_id = "3";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "grbg";
-
- active_w = "1920";
- active_h = "1200";
- readout_orientation = "0";
- line_length = "2448";
- inherent_gain = "1";
- mclk_multiplier = "3.01";
- pix_clk_hz = "134400000";
- serdes_pix_clk_hz = "280000000";
-
- gain_factor = "100";
- min_gain_val = "100"; /* dB */
- max_gain_val = "1600"; /* dB */
- step_gain_val = "1"; /* 0.1 */
- default_gain = "100";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "30000000";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "28"; /*us, 2 lines*/
- max_exp_time = "22000";
- step_exp_time = "1";
- default_exp_time = "22000";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- ar0234_ar0234_out3: endpoint {
- vc-id = <3>;
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&ar0234_csi_in3>;
- };
- };
- };
- };
- };
- };
- };
-};
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <4000000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "ar0234_bottomleft";
- position = "bottomleft";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "ar0234 30-0018";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ar0234_a@18";
- };
- };
- module1 {
- badge = "ar0234_bottomright";
- position = "bottomright";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "ar0234 30-0010";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ar0234_b@10";
- };
- };
- module2 {
- badge = "ar0234_centerleft";
- position = "centerleft";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "ar0234 31-0018";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/ar0234_c@18";
- };
- };
- module3 {
- badge = "ar0234_centerright";
- position = "centerright";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "ar0234 31-0010";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/ar0234_d@10";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e2832.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e2832.dtsi
index 18d476a..b221ff4 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e2832.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e2832.dtsi
@@ -15,376 +15,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e2832_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e2832_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e2832_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e2832_out0>;
- };
- };
- port@1 {
- reg = <1>;
- e2832_csi_out0: endpoint@1 {
- remote-endpoint = <&e2832_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- e2832@2b {
- compatible = "nvidia,lt6911uxc";
- /* I2C device address */
- reg = <0x2b>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- sensor_model = "e2832";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
- dvdd-reg = "vdig";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- /*post_crop_frame_drop = "0";*/
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- * For convenience use 1 sec = 1000000us as conversion factor
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
-
- * num_of_exposure = "";
- * Digital overlap(Dol) frames
- *
- * num_of_ignored_lines = "";
- * Used for cropping, eg. OB lines + Ignored area of effective pixel lines
- *
- * num_of_lines_offset_0 = "";
- * Used for cropping, vertical blanking in front of short exposure data
- * If more Dol frames are used, it can be extended, eg. num_of_lines_offset_1
- *
- * num_of_ignored_pixels = "";
- * Used for cropping, The length of line info(pixels)
- *
- * num_of_left_margin_pixels = "";
- * Used for cropping, the size of the left edge margin before
- * the active pixel area (after ignored pixels)
- *
- * num_of_right_margin_pixels = "";
- * Used for cropping, the size of the right edge margin after
- * the active pixel area
- *
- */
-
- mode0 { // E2832_1920x1080_60Fps
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1920";
- active_h = "1080";
- mode_type = "rgb";
- pixel_phase = "rgb888";
- csi_pixel_bit_depth = "24";
- readout_orientation = "0";
- line_length = "1920";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "220000000";
-
- gain_factor = "16";
- framerate_factor = "1000000";
- exposure_factor = "1000000";
- min_gain_val = "16"; /* 1.00x */
- max_gain_val = "170"; /* 10.66x */
- step_gain_val = "1";
- default_gain = "16"; /* 1.00x */
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "2000000"; /* 2.0 fps */
- max_framerate = "60000000"; /* 60.0 fps */
- step_framerate = "1";
- default_framerate = "60000000"; /* 60.0 fps */
- min_exp_time = "13"; /* us */
- max_exp_time = "683709"; /* us */
- step_exp_time = "1";
- default_exp_time = "16667"; /* us */
- };
- mode1 { // E2832_3840x2160
- mclk_khz = "24000";
- num_lanes = "8";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3840";
- active_h = "2160";
- mode_type = "rgb";
- pixel_phase = "rgb888";
- csi_pixel_bit_depth = "24";
- readout_orientation = "0";
- line_length = "3840";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "500000000";
-
- gain_factor = "16";
- framerate_factor = "1000000";
- exposure_factor = "1000000";
- min_gain_val = "16"; /* 1.00x */
- max_gain_val = "170"; /* 10.66x */
- step_gain_val = "1";
- default_gain = "16"; /* 1.00x */
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "2000000"; /* 2.0 fps */
- max_framerate = "60000000"; /* 60.0 fps */
- step_framerate = "1";
- default_framerate = "60000000"; /* 60.0 fps */
- min_exp_time = "13"; /* us */
- max_exp_time = "683709"; /* us */
- step_exp_time = "1";
- default_exp_time = "16667"; /* us */
- };
- mode2 { // E2832_1280x720_60Fps
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "rgb";
- pixel_phase = "rgb888";
- csi_pixel_bit_depth = "24";
- readout_orientation = "0";
- line_length = "1280";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "220000000";
-
- gain_factor = "16";
- framerate_factor = "1000000";
- exposure_factor = "1000000";
- min_gain_val = "16"; /* 1.00x */
- max_gain_val = "170"; /* 10.66x */
- step_gain_val = "1";
- default_gain = "16"; /* 1.00x */
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "2000000"; /* 2.0 fps */
- max_framerate = "60000000"; /* 60.0 fps */
- step_framerate = "1";
- default_framerate = "60000000"; /* 60.0 fps */
- min_exp_time = "13"; /* us */
- max_exp_time = "683709"; /* us */
- step_exp_time = "1";
- default_exp_time = "16667"; /* us */
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e2832_out0: endpoint {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e2832_csi_in0>;
- };
- };
- };
- };
- };
-};
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <750000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "e2832_ltx6911";
- position = "bottom";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "e2832 2-002b";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/e2832@2b";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi
index 9cccbba..d39bbb3 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi
@@ -16,24 +16,88 @@
/ {
tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3326_vi_in0: endpoint {
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3326_csi_out0>;
+ num-channels = <8>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_vi_in0: endpoint {
+ vc-id = <0>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out0>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_vi_in1: endpoint {
+ vc-id = <1>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out1>;
+ };
+ };
+ port@2 {
+ reg = <2>;
+ e3326_vi_in2: endpoint {
+ vc-id = <2>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out2>;
+ };
+ };
+ port@3 {
+ reg = <3>;
+ e3326_vi_in3: endpoint {
+ vc-id = <3>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out3>;
+ };
+ };
+ port@4 {
+ reg = <4>;
+ e3326_vi_in4: endpoint {
+ vc-id = <0>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out4>;
+ };
+ };
+ port@5 {
+ reg = <5>;
+ e3326_vi_in5: endpoint {
+ vc-id = <1>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out5>;
+ };
+ };
+ port@6 {
+ reg = <6>;
+ e3326_vi_in6: endpoint {
+ vc-id = <0>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out6>;
+ };
+ };
+ port@7 {
+ reg = <7>;
+ e3326_vi_in7: endpoint {
+ vc-id = <1>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out7>;
+ };
};
};
};
- };
host1x@13e00000 {
nvcsi@15a00000 {
- num-channels = <1>;
+ num-channels = <8>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
@@ -44,10 +108,11 @@
port@0 {
reg = <0>;
e3326_csi_in0: endpoint@0 {
- port-index = <2>;
- bus-width = <2>;
+ port-index = <0>;
+ bus-width = <4>;
remote-endpoint = <&e3326_ov5693_out0>;
};
+
};
port@1 {
reg = <1>;
@@ -57,270 +122,3667 @@
};
};
};
+ channel@1 {
+ reg = <1>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in1: endpoint@2 {
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out1>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out1: endpoint@3 {
+ remote-endpoint = <&e3326_vi_in1>;
+ };
+ };
+ };
+ };
+ channel@2 {
+ reg = <2>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in2: endpoint@4 {
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out2>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out2: endpoint@5 {
+ remote-endpoint = <&e3326_vi_in2>;
+ };
+ };
+ };
+ };
+ channel@3 {
+ reg = <3>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in3: endpoint@6 {
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out3>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out3: endpoint@7 {
+ remote-endpoint = <&e3326_vi_in3>;
+ };
+ };
+ };
+ };
+ channel@4 {
+ reg = <4>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in4: endpoint@8 {
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out4>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out4: endpoint@9 {
+ remote-endpoint = <&e3326_vi_in4>;
+ };
+ };
+ };
+ };
+ channel@5 {
+ reg = <5>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in5: endpoint@10 {
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out5>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out5: endpoint@11 {
+ remote-endpoint = <&e3326_vi_in5>;
+ };
+ };
+ };
+ };
+ channel@6 {
+ reg = <6>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in6: endpoint@12 {
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out6>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out6: endpoint@13 {
+ remote-endpoint = <&e3326_vi_in6>;
+ };
+ };
+ };
+ };
+ channel@7 {
+ reg = <7>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ e3326_csi_in7: endpoint@14 {
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out7>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ e3326_csi_out7: endpoint@15 {
+ remote-endpoint = <&e3326_vi_in7>;
+ };
+ };
+ };
+ };
+
};
};
i2c@3180000 {
- ov5693_c@36 {
- compatible = "ovti,ov5693";
- /* I2C device address */
- reg = <0x36>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Sensor output flip settings */
- vertical-flip = "true";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = "";
- * max_framerate = "";
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
+ tca9546@70 {
+ i2c@0 {
+ ov5693_a@30 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x30>;
+
+ /* V4L2 device node location */
+ devnode = "video0";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out0: endpoint {
+ vc-id = <0>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in0>;
+ };
+ };
+ };
+ };
+ ov5693_a@31 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x31>;
+
+ /* V4L2 device node location */
+ devnode = "video1";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out1: endpoint {
+ vc-id = <1>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in1>;
+ };
+ };
+ };
+ };
+ ov5693_a@32 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x32>;
+
+ /* V4L2 device node location */
+ devnode = "video2";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "2";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out2: endpoint {
+ vc-id = <2>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in2>;
+ };
+ };
+ };
+ };
+ ov5693_a@33 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x33>;
+
+ /* V4L2 device node location */
+ devnode = "video3";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "3";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ //serdes_pix_clk_hz= "320000000"; //delete by wyf
+ serdes_pix_clk_hz= "320000000"; //add by wyf
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out3: endpoint {
+ vc-id = <3>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in3>;
+ };
+ };
+ };
+ };
};
+ i2c@1 {
+ ov5693_c@36 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x36>;
+
+ /* V4L2 device node location */
+ devnode = "video4";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out4: endpoint {
+ vc-id = <0>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in4>;
+ };
+ };
+ };
+ };
+ ov5693_c@37 {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x30>;
+
+ /* V4L2 device node location */
+ devnode = "video5";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "640000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_c";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out5: endpoint {
+ vc-id = <1>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in5>;
+ };
+ };
+ };
+ };
};
+ i2c@2 {
+ ov5693_e@3d {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x3d>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
+ /* V4L2 device node location */
+ devnode = "video6";
- port@0 {
- reg = <0>;
- e3326_ov5693_out0: endpoint {
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3326_csi_in0>;
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "0";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "0";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "0";
+ tegra_sinterface = "serial_a";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "0";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out6: endpoint {
+ vc-id = <0>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in6>;
+ };
+ };
+ };
+ };
+ ov5693_e@3e {
+ compatible = "nvidia,ov5693";
+ /* I2C device address */
+ reg = <0x3e>;
+
+ /* V4L2 device node location */
+ devnode = "video7";
+
+ /* Physical dimensions of sensor */
+ physical_w = "3.674";
+ physical_h = "2.738";
+
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ avdd-reg = "vana";
+ iovdd-reg = "vif";
+
+ /* Sensor output flip settings */
+ vertical-flip = "true";
+
+ /**
+ * A modeX node is required to support v4l2 driver
+ * implementation with NVIDIA camera software stack
+ *
+ * mclk_khz = "";
+ * Standard MIPI driving clock, typically 24MHz
+ *
+ * num_lanes = "";
+ * Number of lane channels sensor is programmed to output
+ *
+ * tegra_sinterface = "";
+ * The base tegra serial interface lanes are connected to
+ * Incase of virtual HW devices, use virtual
+ * For SW emulated devices, use host
+ *
+ * phy_mode = "";
+ * PHY mode used by the MIPI lanes for this device
+ *
+ * discontinuous_clk = "";
+ * The sensor is programmed to use a discontinuous clock on MIPI lanes
+ *
+ * dpcm_enable = "true";
+ * The sensor is programmed to use a DPCM modes
+ *
+ * cil_settletime = "";
+ * MIPI lane settle time value.
+ * A "0" value attempts to autocalibrate based on mclk_multiplier
+ *
+ *
+ *
+ *
+ * active_w = "";
+ * Pixel active region width
+ *
+ * active_h = "";
+ * Pixel active region height
+ *
+ * pixel_t = "";
+ * The sensor readout pixel pattern
+ *
+ * readout_orientation = "0";
+ * Based on camera module orientation.
+ * Only change readout_orientation if you specifically
+ * Program a different readout order for this mode
+ *
+ * line_length = "";
+ * Pixel line length (width) for sensor mode.
+ * This is used to calibrate features in our camera stack.
+ *
+ * mclk_multiplier = "";
+ * Multiplier to MCLK to help time hardware capture sequence
+ * TODO: Assign to PLL_Multiplier as well until fixed in core
+ *
+ * pix_clk_hz = "";
+ * Sensor pixel clock used for calculations like exposure and framerate
+ *
+ *
+ *
+ *
+ * inherent_gain = "";
+ * Gain obtained inherently from mode (ie. pixel binning)
+ *
+ * == Source Control Settings ==
+ *
+ * Gain factor used to convert fixed point integer to float
+ * Gain range [min_gain/gain_factor, max_gain/gain_factor]
+ * Gain step [step_gain/gain_factor is the smallest step that can be configured]
+ * Default gain [Default gain to be initialized for the control.
+ * use min_gain_val as default for optimal results]
+ * Framerate factor used to convert fixed point integer to float
+ * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
+ * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
+ * Default Framerate [Default framerate to be initialized for the control.
+ * use max_framerate to get required performance]
+ * Exposure factor used to convert fixed point integer to float
+ * For convenience use 1 sec = 1000000us as conversion factor
+ * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
+ * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
+ * Default Exposure Time [Default exposure to be initialized for the control.
+ * Set default exposure based on the default_framerate for optimal exposure settings]
+ *
+ * gain_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_gain_val = ""; (ceil to integer)
+ * max_gain_val = ""; (ceil to integer)
+ * step_gain_val = ""; (ceil to integer)
+ * default_gain = ""; (ceil to integer)
+ * Gain limits for mode
+ *
+ * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_exp_time = ""; (ceil to integer)
+ * max_exp_time = ""; (ceil to integer)
+ * step_exp_time = ""; (ceil to integer)
+ * default_exp_time = ""; (ceil to integer)
+ * Exposure Time limits for mode (us)
+ *
+ *
+ * min_hdr_ratio = "";
+ * max_hdr_ratio = "";
+ * HDR Ratio limits for mode
+ *
+ * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
+ * min_framerate = "";
+ * max_framerate = "";
+ * step_framerate = ""; (ceil to integer)
+ * default_framerate = ""; (ceil to integer)
+ * Framerate limits for mode (fps)
+ */
+ mode0 { // OV5693_MODE_2592X1944
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "940";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ csi_pixel_bit_depth = "16";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode1 { //OV5693_MODE_2592X1458
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1824";
+ active_h = "941";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "1816577";/*1.816577 */
+ max_framerate = "30000000";/*30*/
+ step_framerate = "1";
+ default_framerate = "30000000";
+ exposure_factor = "1000000";
+ min_exp_time = "34";/* us */
+ max_exp_time = "550385";/* us */
+ step_exp_time = "1";
+ default_exp_time = "33334";/* us */
+ embedded_metadata_height = "0";
+ };
+
+ mode2 { //OV5693_MODE_1280X720
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1792";
+ active_h = "930";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode3 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode4 { //OV5693_MODE_1920X1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1081";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ csi_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode5 { //OV5693_MODE_1536X1280
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_a";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1536";
+ active_h = "1280";
+ mode_type = "bayer";
+ pixel_phase = "rgb888";
+ csi_pixel_bit_depth = "24";
+ serdes_pix_clk_hz= "320000000";
+ readout_orientation = "0";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "40000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ mode6 { //OV5693_MODE_1920x1080
+ mclk_khz = "24000";
+ num_lanes = "4";
+ tegra_sinterface = "serial_e";
+ vc_id = "1";
+ phy_mode = "DPHY";
+ discontinuous_clk = "no";
+ dpcm_enable = "false";
+ cil_settletime = "0";
+
+ active_w = "1920";
+ active_h = "1080";
+ mode_type = "yuv";
+ pixel_phase = "uyvy";
+ dynamic_pixel_bit_depth = "16";
+ serdes_pix_clk_hz= "320000000";
+ csi_pixel_bit_depth = "16";
+ readout_orientation = "90";
+ line_length = "2688";
+ inherent_gain = "1";
+ mclk_multiplier = "6.67";
+ pix_clk_hz = "160000000";
+
+ gain_factor = "10";
+ min_gain_val = "10";/* 1DB*/
+ max_gain_val = "160";/* 16DB*/
+ step_gain_val = "1";
+ default_gain = "10";
+ min_hdr_ratio = "1";
+ max_hdr_ratio = "1";
+ framerate_factor = "1000000";
+ min_framerate = "2787078";/* 2.787078 */
+ max_framerate = "120000000";/* 120*/
+ step_framerate = "1";
+ default_framerate = "120000000";
+ exposure_factor = "1000000";
+ min_exp_time = "22";/* us */
+ max_exp_time = "358733";/* us */
+ step_exp_time = "1";
+ default_exp_time = "8334";/* us */
+ embedded_metadata_height = "0";
+ };
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ e3326_ov5693_out7: endpoint {
+ vc-id = <1>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_in7>;
+ };
+ };
};
};
};
@@ -364,8 +3826,9 @@
* isp_bw_margin_pct = <>;
* Isp bandwidth margin in percentage
*/
- num_csi_lanes = <2>;
- max_lane_speed = <1500000>;
+ num_csi_lanes = <12>;
+ //max_lane_speed = <1500000>; //delete by wyf
+ max_lane_speed = <1600000>; //add by wyf
min_bits_per_pixel = <10>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
@@ -383,21 +3846,139 @@
*/
modules {
module0 {
+ badge = "e3326_top_P5V27C";
+ position = "top";
+ orientation = "0";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 30-0030";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@30";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module1 {
badge = "e3326_front_P5V27C";
- position = "rear";
+ position = "front";
+ orientation = "0";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 30-0031";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@31";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module2 {
+ badge = "e3326_left_P5V27C";
+ position = "left";
+ orientation = "0";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 30-0032";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@32";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module3 {
+ badge = "e3326_right_P5V27C";
+ position = "right";
+ orientation = "0";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 30-0033";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@33";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module4 {
+ badge = "e3326_bottom_P5V27C";
+ position = "bottom";
orientation = "1";
drivernode0 {
/* Declare PCL support driver (classically known as guid) */
pcl_id = "v4l2_sensor";
/* Driver v4l2 device name */
- devname = "ov5693 2-0036";
+ devname = "ov5693 31-0030";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/ov5693_c@36";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module5 {
+ badge = "e3326_center_P5V27C";
+ position = "center";
+ orientation = "1";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 31-0031";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/ov5693_c@37";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module6 {
+ badge = "e3326_bottom_P5V27C";
+ position = "bottom";
+ orientation = "2";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 32-0030";
+ /* Declare the device-tree hierarchy to driver instance */
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/ov5693_e@3d";
+ };
+ drivernode1 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_lens";
+ };
+ };
+ module7 {
+ badge = "e3326_center_P5V27C";
+ position = "center";
+ orientation = "2";
+ drivernode0 {
+ /* Declare PCL support driver (classically known as guid) */
+ pcl_id = "v4l2_sensor";
+ /* Driver v4l2 device name */
+ devname = "ov5693 32-0031";
/* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/ov5693_c@36";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/ov5693_e@3e";
};
drivernode1 {
/* Declare PCL support driver (classically known as guid) */
pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3326_lens_ov5693@P5V27C/";
};
};
};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3331-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3331-a00.dtsi
index 630c427..fc80378 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3331-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3331-a00.dtsi
@@ -14,268 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3331_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <3>;
- remote-endpoint = <&e3331_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3331_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <3>;
- remote-endpoint = <&e3331_imx318_out0>;
- };
- };
- port@1 {
- reg = <1>;
- e3331_csi_out0: endpoint@1 {
- remote-endpoint = <&e3331_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx318_a@10 {
- compatible = "sony,imx318";
- reg = <0x10>;
-
- /* Physical dimensions of sensor */
- physical_w = "6.811";
- physical_h = "5.254";
-
- sensor_model = "imx318";
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
- dvdd-reg = "vdig";
-
- has-eeprom;
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
- mode0 { /*IMX318_MODE_5488X4112_30FPS*/
- mclk_khz = "24000";
- num_lanes = "3";
- phy_mode = "CPHY";
- tegra_sinterface = "serial_a";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "20";
-
- active_w = "5488";
- active_h = "4112";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "5488";
- inherent_gain = "1";
- mclk_multiplier = "31.25";
- pix_clk_hz = "750000000";
-
- gain_factor = "16";
- framerate_factor = "1000000";
- exposure_factor = "1000000";
- min_gain_val = "16"; /* 1.0 */
- max_gain_val = "256"; /* 16.0 */
- step_gain_val = "1"; /* 0.125 */
- default_gain = "16";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "30000000"; /* 30 */
- step_framerate = "1";
- default_framerate= "30000000";
- min_exp_time = "34"; /* us */
- max_exp_time = "550385"; /* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3331_imx318_out0: endpoint {
- port-index = <0>;
- bus-width = <3>;
- remote-endpoint = <&e3331_csi_in0>;
- };
- };
- };
- };
- };
- };
- };
-
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- * Set this to the highest pix_clk_hz out of all available modes.
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <3>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <800000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. “rear” or “front”.
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "e3331_rear_22N02A";
- position = "rear";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "imx318 30-0010";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx318_a@10";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3333-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3333-a00.dtsi
index 1cbe5c3..6843c43 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3333-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3333-a00.dtsi
@@ -14,1710 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <6>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out0>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_vi_in1: endpoint {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out1>;
- };
- };
- port@2 {
- reg = <2>;
- e3333_vi_in2: endpoint {
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out2>;
- };
- };
- port@3 {
- reg = <3>;
- e3333_vi_in3: endpoint {
- port-index = <3>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out3>;
- };
- };
- port@4 {
- reg = <4>;
- e3333_vi_in4: endpoint {
- port-index = <4>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out4>;
- };
- };
- port@5 {
- reg = <5>;
- e3333_vi_in5: endpoint {
- port-index = <5>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out5>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <6>;
- #address-cells = <1>;
- #size-cells = <0>;
- status = "okay";
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out0>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out0: endpoint@1 {
- remote-endpoint = <&e3333_vi_in0>;
- };
- };
- };
- };
- channel@1 {
- reg = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in1: endpoint@2 {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out1>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out1: endpoint@3 {
- remote-endpoint = <&e3333_vi_in1>;
- };
- };
- };
- };
- channel@2 {
- reg = <2>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in2: endpoint@4 {
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out2>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out2: endpoint@5 {
- remote-endpoint = <&e3333_vi_in2>;
- };
- };
- };
- };
- channel@3 {
- reg = <3>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in3: endpoint@6 {
- port-index = <3>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out3>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out3: endpoint@7 {
- remote-endpoint = <&e3333_vi_in3>;
- };
- };
- };
- };
- channel@4 {
- reg = <4>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in4: endpoint@8 {
- port-index = <4>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out4>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out4: endpoint@9 {
- remote-endpoint = <&e3333_vi_in4>;
- };
- };
- };
- };
- channel@5 {
- reg = <5>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3333_csi_in5: endpoint@10 {
- port-index = <6>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out5>;
- };
- };
- port@1 {
- reg = <1>;
- e3333_csi_out5: endpoint@11 {
- remote-endpoint = <&e3333_vi_in5>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9548@77 {
- i2c@0 {
- ov5693_a@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out0: endpoint {
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in0>;
- };
- };
- };
- };
- };
-
- i2c@1 {
- ov5693_b@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video1";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_b";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out1: endpoint {
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in1>;
- };
- };
- };
- };
- };
-
- i2c@2 {
- ov5693_c@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video2";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out2: endpoint {
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in2>;
- };
- };
- };
- };
- };
-
- i2c@3 {
- ov5693_d@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video3";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_d";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_d";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_d";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out3: endpoint {
- port-index = <3>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in3>;
- };
- };
- };
- };
- };
-
- i2c@4 {
- ov5693_e@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video4";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_e";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_e";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_e";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out4: endpoint {
- port-index = <4>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in4>;
- };
- };
- };
- };
- };
-
- i2c@5 {
- ov5693_g@36 {
- compatible = "ovti,ov5693";
- reg = <0x36>;
- devnode = "video5";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Enable EEPROM support */
- has-eeprom = "1";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- *
- *
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- */
- mode0 { // OV5693_MODE_2592X1944
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_g";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1944";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode1 { //OV5693_MODE_2592X1458
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_g";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "2592";
- active_h = "1458";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "2688";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1816577";/*1.816577 */
- max_framerate = "30000000";/*30*/
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "34";/* us */
- max_exp_time = "550385";/* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "0";
- };
-
- mode2 { //OV5693_MODE_1280X720
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_g";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "1280";
- active_h = "720";
- mode_type = "bayer";
- pixel_phase = "bggr";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "1752";
- inherent_gain = "1";
- mclk_multiplier = "6.67";
- pix_clk_hz = "160000000";
-
- gain_factor = "10";
- min_gain_val = "10";/* 1DB*/
- max_gain_val = "160";/* 16DB*/
- step_gain_val = "1";
- default_gain = "10";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "2787078";/* 2.787078 */
- max_framerate = "120000000";/* 120*/
- step_framerate = "1";
- default_framerate = "120000000";
- exposure_factor = "1000000";
- min_exp_time = "22";/* us */
- max_exp_time = "358733";/* us */
- step_exp_time = "1";
- default_exp_time = "8334";/* us */
- embedded_metadata_height = "0";
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- e3333_ov5693_out5: endpoint {
- port-index = <5>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_in5>;
- };
- };
- };
- };
- };
- };
- };
-
- e3333_lens_ov5693@P5V27C {
- min_focus_distance = "0.0";
- hyper_focal = "0.0";
- focal_length = "2.67";
- f_number = "2.0";
- aperture = "2.0";
- };
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- * Set this to the highest pix_clk_hz out of all available modes.
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <12>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <160000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. “rear” or “front”.
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "e3333_bottomleft_P5V27C";
- position = "bottomleft";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 30-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@0/ov5693_a@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- module1 {
- badge = "e3333_centerleft_P5V27C";
- position = "centerleft";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 31-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@1/ov5693_b@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- module2 {
- badge = "e3333_centerright_P5V27C";
- position = "centerright";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 32-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@2/ov5693_c@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- module3 {
- badge = "e3333_topleft_P5V27C";
- position = "topleft";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 33-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@3/ov5693_d@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- module4 {
- badge = "e3333_bottomright_P5V27C";
- position = "bottomright";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 34-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@4/ov5693_e@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- module5 {
- badge = "e3333_topright_P5V27C";
- position = "topright";
- orientation = "1";
- drivernode0 {
- pcl_id = "v4l2_sensor";
- devname = "ov5693 35-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@5/ov5693_g@36";
- };
- drivernode1 {
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3377-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3377-a00.dtsi
index 46bbba5..fc80378 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3377-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3377-a00.dtsi
@@ -14,158 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- status = "okay";
- e3377_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e3377_slvs_ec_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- slvs-ec@15ac0000 {
- status = "okay";
- streams {
- #address-cells = <1>;
- #size-cells = <0>;
- stream@0 {
- reg = <0>;
- lanes = <0 1 2 3 4 5 6 7>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3377_slvs_ec_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e3377_imx204_out0>;
- };
- };
- port@1 {
- reg = <1>;
- e3377_slvs_ec_out0: endpoint@1 {
- remote-endpoint = <&e3377_vi_in0>;
- };
- };
- };
- };
- };
- };
- };
-
- spi@c260000 {
- status = "okay";
- spi-max-frequency = <12000000>;
- imx204@0 {
- compatible = "sony,imx204";
- reg = <0>;
- status = "okay";
- spi-max-frequency = <12000000>;
-
- /* Physical dimensions of sensor */
- physical_w = "4.713";
- physical_h = "3.494";
-
- /* enable delay gain due to no hardware group hold support */
- delayed_gain = "true";
-
- /* Define any required hw resources needed by driver */
- /* ie, clocks, io pins, power sources */
- /* mclk = "cam_mclk1"; Not in use. */
- devname = "imx204";
-
- /* Sensor Model */
- sensor_model = "imx204";
-
- focus_macro = "100";
- focus_infinity = "208";
- focus_max_slew_rate = "180";
- min_aperture = "2";
- max_aperture = "90";
- min_aperture_fnumber = "2000";
- max_aperture_fnumber = "22000";
- aperture_max_slew_rate = "180";
- /* */
- fnumber_map = <2000 2>, <2800 34>, <4000 49>, <5600 59>,
- <8000 67>, <11000 71>, <16000 75>, <22000 78>;
-
- mode0 {
- mclk_khz = "72000";
- num_lanes = "8";
- tegra_sinterface = "serial_a";
- phy_mode = "SLVS";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "5352";
- active_h = "3950";
- pixel_t = "bayer_rggb";
- readout_orientation = "0";
- line_length = "6667";
- inherent_gain = "1";
- mclk_multiplier = "11";
- pix_clk_hz = "1320000000";
-
- min_gain_val = "1.0";
- max_gain_val = "22.3";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1.5";
- max_framerate = "60";
- min_exp_time = "13";
- max_exp_time = "33333";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- e3377_imx204_out0: endpoint {
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e3377_slvs_ec_in0>;
- };
- };
- };
- };
- };
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. “rear” or “front”.
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "e3377_rear_IMX204";
- position = "rear";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx204_spi";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/spi@c260000/imx204@0";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185-a00.dtsi
index 0f1062c..502a18e 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185-a00.dtsi
@@ -14,459 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_imx185_out0>;
- };
- };
- port@1 {
- reg = <1>;
- liimx185_csi_out0: endpoint@1 {
- remote-endpoint = <&liimx185_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx185_a@1a {
- compatible = "sony,imx185";
-
- reg = <0x1a>;
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="imx185";
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- use_decibel_gain = "true";
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /* WAR to prevent banding by reducing analog gain. Bug 2229902 */
- limit_analog_gain = "true";
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
- mode0 {/*mode IMX185_MODE_1920X1080_CROP_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "2";
- pix_clk_hz = "74250000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* 0dB */
- max_gain_val = "480"; /* 48dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "30000000"; /* 30 */
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "30"; /* us */
- max_exp_time = "660000"; /* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "1";
- };
- mode1 {/*mode IMX185_MODE_1920X1080_CROP_10BIT_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2640";
- inherent_gain = "1";
- mclk_multiplier = "2.4";
- pix_clk_hz = "89100000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* 0dB */
- max_gain_val = "480"; /* 48dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "30000000"; /* 30 */
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "30"; /* us */
- max_exp_time = "660000"; /* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "1";
- };
-
- mode2 {/*mode IMX185_MODE_1920X1080_CROP_60FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "4";
- pix_clk_hz = "148500000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* 0dB */
- max_gain_val = "480"; /* 48dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "60000000"; /* 60 */
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "30"; /* us */
- max_exp_time = "660000"; /* us */
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
-
- mode3 {/*mode IMX185_MODE_1920X1080_CROP_10BIT_60FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2640";
- inherent_gain = "1";
- mclk_multiplier = "4.8";
- pix_clk_hz = "178200000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* 0dB */
- max_gain_val = "480"; /* 48dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "60000000"; /* 60 */
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "30"; /* us */
- max_exp_time = "660000"; /* us */
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode4 {/*mode IMX185_MODE_1920X1080_CROP_HDR_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "16";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer_wdr_pwl";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "2";
- pix_clk_hz = "74250000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* 0dB */
- max_gain_val = "120"; /* 12dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "16";
- max_hdr_ratio = "16";
- framerate_factor = "1000000";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "30000000"; /* 30 */
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "2433"; /* us */
- max_exp_time = "660000"; /* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- embedded_metadata_height = "1";
-
- /* WDR related settings */
- num_control_point = "4";
- control_point_x_0 = "0";
- control_point_x_1 = "2048";
- control_point_x_2 = "16384";
- control_point_x_3 = "65536";
- control_point_y_0 = "0";
- control_point_y_1 = "2048";
- control_point_y_2 = "2944";
- control_point_y_3 = "3712";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_imx185_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_csi_in0>;
- };
- };
- };
- };
- };
- };
- };
-};
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx185_bottom_liimx185";
- position = "bottom";
- orientation = "0";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx185 30-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185_v1-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185_v1-a00.dtsi
index 45d070d..f685e7f 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185_v1-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx185_v1-a00.dtsi
@@ -14,422 +14,5 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_csi_out0>;
- };
- };
- };
- };
+/ {};
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_imx185_out0>;
- };
- };
- port@1 {
- reg = <1>;
- liimx185_csi_out0: endpoint@1 {
- remote-endpoint = <&liimx185_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx185_a@1a {
- compatible = "sony,imx185_v1";
-
- reg = <0x1a>;
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="imx185_v1";
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- use_decibel_gain = "true";
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_multiplier
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * mclk_multiplier = "";
- * Multiplier to MCLK to help time hardware capture sequence
- * TODO: Assign to PLL_Multiplier as well until fixed in core
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * gain_step_pitch = ""; (floor to 6 decimal places, unit is db)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX185_MODE_1920X1080_CROP_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "2";
- pix_clk_hz = "74250000";
-
- min_gain_val = "0"; /* dB */
- max_gain_val = "48"; /* dB */
- gain_step_pitch = "0.3";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1.5";
- max_framerate = "30";
- min_exp_time = "30";
- max_exp_time = "660000";
- embedded_metadata_height = "1";
- };
- mode1 {/*mode IMX185_MODE_1920X1080_CROP_10BIT_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2640";
- inherent_gain = "1";
- mclk_multiplier = "2.4";
- pix_clk_hz = "89100000";
-
- min_gain_val = "0";
- max_gain_val = "48";
- gain_step_pitch = "0.3";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1.5";
- max_framerate = "30";
- min_exp_time = "30";
- max_exp_time = "660000";
- embedded_metadata_height = "1";
- };
-
- mode2 {/*mode IMX185_MODE_1920X1080_CROP_60FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "4";
- pix_clk_hz = "148500000";
-
- min_gain_val = "0";
- max_gain_val = "48";
- gain_step_pitch = "0.3";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1.5";
- max_framerate = "60";
- min_exp_time = "30";
- max_exp_time = "660000";
- embedded_metadata_height = "1";
- };
-
- mode3 {/*mode IMX185_MODE_1920X1080_CROP_10BIT_60FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2640";
- inherent_gain = "1";
- mclk_multiplier = "4.8";
- pix_clk_hz = "178200000";
-
- min_gain_val = "0";
- max_gain_val = "48";
- gain_step_pitch = "0.3";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1.5";
- max_framerate = "60";
- min_exp_time = "30";
- max_exp_time = "660000";
- embedded_metadata_height = "1";
- };
- mode4 {/*mode IMX185_MODE_1920X1080_CROP_HDR_30FPS*/
- mclk_khz = "37125";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "16";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer_wdr_pwl";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- mclk_multiplier = "2";
- pix_clk_hz = "74250000";
-
- min_gain_val = "0";
- max_gain_val = "12";
- gain_step_pitch = "0.3";
- min_hdr_ratio = "16";
- max_hdr_ratio = "16";
- min_framerate = "1.5";
- max_framerate = "30";
- min_exp_time = "2433";
- max_exp_time = "660000";
- embedded_metadata_height = "1";
-
- /* WDR related settings */
- num_control_point = "4";
- control_point_x_0 = "0";
- control_point_x_1 = "2048";
- control_point_x_2 = "16384";
- control_point_x_3 = "65536";
- control_point_y_0 = "0";
- control_point_y_1 = "2048";
- control_point_y_2 = "2944";
- control_point_y_3 = "3712";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx185_imx185_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_csi_in0>;
- };
- };
- };
- };
- };
- };
- };
-};
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx185_bottom_liimx185";
- position = "bottom";
- orientation = "0";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx185_v1 30-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a";
- };
- };
- };
- };
-};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx268-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx268-a00.dtsi
index f71fb67..6843c43 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx268-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx268-a00.dtsi
@@ -14,280 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- mystique_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&mystique_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- mystique_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&mystique_imx268_out0>;
- };
- };
- port@1 {
- reg = <1>;
- mystique_csi_out0: endpoint@1 {
- remote-endpoint = <&mystique_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3160000 {
- imx268_a@1a {
- compatible = "sony,imx268";
- /* I2C device address */
- reg = <0x1a>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "4.337";
- physical_h = "2.455";
-
- sensor_model = "imx268";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
- dvdd-reg = "vdig";
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
- mode0 { // IMX268_MODE_3872X2192_30FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3872";
- active_h = "2192";
- pixel_t = "bayer_rggb";
- readout_orientation = "0";
- line_length = "4200";
- inherent_gain = "1";
- mclk_multiplier = "12.5";
- pix_clk_hz = "300000000";
-
- gain_factor = "16";
- framerate_factor = "1000000";
- exposure_factor = "1000000";
- min_gain_val = "16"; /* 1.0 */
- max_gain_val = "256"; /* 16.0 */
- step_gain_val = "1"; /* 0.125 */
- default_gain = "16";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- min_framerate = "1500000"; /* 1.5 */
- max_framerate = "30000000"; /* 30.0 */
- step_framerate = "1";
- default_framerate= "30000000";
- min_exp_time = "28"; /* us */
- max_exp_time = "917350"; /* us */
- step_exp_time = "1";
- default_exp_time = "33334";/* us */
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- mystique_imx268_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&mystique_csi_in0>;
- };
- };
- };
- };
- };
-
- mystique_lens_imx268@7BF8818 {
- min_focus_distance = "0.0";
- hyper_focal = "0.0";
- focal_length = "2.67";
- f_number = "2.0";
- aperture = "2.0";
- };
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <300000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. “rear” or “front”.
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vendor.
- */
- modules {
- module0 {
- badge = "mystique_front_7BF8818";
- position = "rear";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx268 0-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3160000/imx268_a@1a";
- };
- drivernode1 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/mystique_lens_imx268@7BF8818/";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-a00.dtsi
index b5ca84d..fc80378 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-a00.dtsi
@@ -14,457 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <1>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out0>;
- };
- };
- port@1 {
- reg = <1>;
- liimx274_csi_out0: endpoint@1 {
- remote-endpoint = <&liimx274_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx274_a@1a {
- compatible = "sony,imx274";
- /* I2C device address */
- reg = <0x1a>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- sensor_model = "imx274";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- /*post_crop_frame_drop = "0";*/
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- has-eeprom;
- fuse_id_start_addr = <91>;
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- * For convenience use 1 sec = 1000000us as conversion factor
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
-
- * num_of_exposure = "";
- * Digital overlap(Dol) frames
- *
- * num_of_ignored_lines = "";
- * Used for cropping, eg. OB lines + Ignored area of effective pixel lines
- *
- * num_of_lines_offset_0 = "";
- * Used for cropping, vertical blanking in front of short exposure data
- * If more Dol frames are used, it can be extended, eg. num_of_lines_offset_1
- *
- * num_of_ignored_pixels = "";
- * Used for cropping, The length of line info(pixels)
- *
- * num_of_left_margin_pixels = "";
- * Used for cropping, the size of the left edge margin before
- * the active pixel area (after ignored pixels)
- *
- * num_of_right_margin_pixels = "";
- * Used for cropping, the size of the right edge margin after
- * the active pixel area
- *
- */
- mode0 { // IMX274_MODE_3840X2160
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3840";
- active_h = "2160";
- mode_type = "bayer";
- pixel_phase = "rggb";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "44400000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "44";
- max_exp_time = "478696";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode1 { // IMX274_MODE_1920X1080
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "58";
- max_exp_time = "184611";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode2 { // IMX274_MODE_3840X2160_DOL_30FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "3856";
- active_h = "4448";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "30000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "30000000";
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "864";
- max_exp_time = "20480";
- step_exp_time = "1";
- default_exp_time = "20480";/* us */
- embedded_metadata_height = "1";
-
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "50";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "12";
- num_of_right_margin_pixels = "0";
- };
- mode3 { // IMX274_MODE_1920X1080_DOL_60FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "1936";
- active_h = "2264";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "859";
- max_exp_time = "15649";
- step_exp_time = "1";
- default_exp_time = "15649";/* us */
- embedded_metadata_height = "1";
-
- /* WDR related settings */
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "38";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "6";
- num_of_right_margin_pixels = "6";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_imx274_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_in0>;
- };
- };
- };
- };
- };
- };
- };
- lens_imx274@A6V26 {
- min_focus_distance = "0.0";
- hyper_focal = "0.0";
- focal_length = "5.00";
- f_number = "2.0";
- aperture = "2.2";
- };
-};
-
-
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <8>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <750000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx274_bottom_A6V26";
- position = "bottom";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx274 30-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
- };
- drivernode1 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-dual.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-dual.dtsi
index dbd9a09..fc80378 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-dual.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-dual.dtsi
@@ -14,827 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <2>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_vi_in0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out0>;
- };
- };
- port@1 {
- reg = <1>;
- liimx274_vi_in1: endpoint {
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out1>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out0>;
- };
- };
- port@1 {
- reg = <1>;
- liimx274_csi_out0: endpoint@1 {
- remote-endpoint = <&liimx274_vi_in0>;
- };
- };
- };
- };
- channel@1 {
- reg = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_csi_in1: endpoint@2 {
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out1>;
- };
- };
- port@1 {
- reg = <1>;
- liimx274_csi_out1: endpoint@3 {
- remote-endpoint = <&liimx274_vi_in1>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx274_a@1a {
- compatible = "sony,imx274";
- /* I2C device address */
- reg = <0x1a>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- sensor_model = "imx274";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- /*post_crop_frame_drop = "0";*/
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- has-eeprom;
- fuse_id_start_addr = <91>;
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- * For convenience use 1 sec = 1000000us as conversion factor
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
-
- * num_of_exposure = "";
- * Digital overlap(Dol) frames
- *
- * num_of_ignored_lines = "";
- * Used for cropping, eg. OB lines + Ignored area of effective pixel lines
- *
- * num_of_lines_offset_0 = "";
- * Used for cropping, vertical blanking in front of short exposure data
- * If more Dol frames are used, it can be extended, eg. num_of_lines_offset_1
- *
- * num_of_ignored_pixels = "";
- * Used for cropping, The length of line info(pixels)
- *
- * num_of_left_margin_pixels = "";
- * Used for cropping, the size of the left edge margin before
- * the active pixel area (after ignored pixels)
- *
- * num_of_right_margin_pixels = "";
- * Used for cropping, the size of the right edge margin after
- * the active pixel area
- *
- */
- mode0 { // IMX274_MODE_3840X2160
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3840";
- active_h = "2160";
- mode_type = "bayer";
- pixel_phase = "rggb";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "44400000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "44";
- max_exp_time = "478696";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode1 { // IMX274_MODE_1920X1080
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "58";
- max_exp_time = "184611";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode2 { // IMX274_MODE_3840X2160_DOL_30FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "3856";
- active_h = "4448";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "30000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "30000000";
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "864";
- max_exp_time = "20480";
- step_exp_time = "1";
- default_exp_time = "20480";/* us */
- embedded_metadata_height = "1";
-
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "50";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "12";
- num_of_right_margin_pixels = "0";
- };
- mode3 { // IMX274_MODE_1920X1080_DOL_60FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "1936";
- active_h = "2264";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "859";
- max_exp_time = "15649";
- step_exp_time = "1";
- default_exp_time = "15649";/* us */
- embedded_metadata_height = "1";
-
- /* WDR related settings */
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "38";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "6";
- num_of_right_margin_pixels = "6";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_imx274_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_in0>;
- };
- };
- };
- };
- };
- i2c@1 {
- imx274_c@1a {
- compatible = "sony,imx274";
- /* I2C device address */
- reg = <0x1a>;
-
- /* V4L2 device node location */
- devnode = "video1";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- sensor_model = "imx274";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- /*post_crop_frame_drop = "0";*/
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- has-eeprom;
- fuse_id_start_addr = <99>;
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- * For convenience use 1 sec = 1000000us as conversion factor
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- * num_of_exposure = "";
-
- * Digital overlap(Dol) frames
- *
- * num_of_ignored_lines = "";
- * Used for cropping, eg. OB lines + Ignored area of effective pixel lines
- *
- * num_of_lines_offset_0 = "";
- * Used for cropping, vertical blanking in front of short exposure data
- * If more Dol frames are used, it can be extended, eg. num_of_lines_offset_1
- *
- * num_of_ignored_pixels = "";
- * Used for cropping, The length of line info(pixels)
- *
- * num_of_left_margin_pixels = "";
- * Used for cropping, the size of the left edge margin before
- * the active pixel area (after ignored pixels)
- *
- * num_of_right_margin_pixels = "";
- * Used for cropping, the size of the right edge margin after
- * the active pixel area
- *
- */
- mode0 { // IMX274_MODE_3840X2160
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3840";
- active_h = "2160";
- mode_type = "bayer";
- pixel_phase = "rggb";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "44400000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "44";
- max_exp_time = "478696";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode1 { // IMX274_MODE_1920X1080
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "58";
- max_exp_time = "184611";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- mode2 { // IMX274_MODE_3840X2160_DOL_30FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "3856";
- active_h = "4448";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "30000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "30000000";
- step_framerate = "1";
- default_framerate= "30000000";
- exposure_factor = "1000000";
- min_exp_time = "864";
- max_exp_time = "20480";
- step_exp_time = "1";
- default_exp_time = "20480";/* us */
- embedded_metadata_height = "1";
-
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "50";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "12";
- num_of_right_margin_pixels = "0";
- };
- mode3 { // IMX274_MODE_1920X1080_DOL_60FPS
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_c";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "10";
- csi_pixel_bit_depth = "10";
- mode_type = "bayer_wdr_dol";
- pixel_phase = "rggb";
-
- active_w = "1936";
- active_h = "2264";
- readout_orientation = "0";
- line_length = "4160";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "177000000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "32";
- max_hdr_ratio = "32";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "859";
- max_exp_time = "15649";
- step_exp_time = "1";
- default_exp_time = "15649";/* us */
- embedded_metadata_height = "1";
-
- /* WDR related settings */
- num_of_exposure = "2";
- num_of_ignored_lines = "14";
- num_of_lines_offset_0 = "38";
- num_of_ignored_pixels = "4";
- num_of_left_margin_pixels = "6";
- num_of_right_margin_pixels = "6";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- liimx274_imx274_out1: endpoint {
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_in1>;
- };
- };
- };
- };
- };
- };
- };
- lens_imx274@A6V26 {
- min_focus_distance = "0.0";
- hyper_focal = "0.0";
- focal_length = "5.00";
- f_number = "2.0";
- aperture = "2.2";
- };
-};
-
-
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <8>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <750000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx274_bottom_A6V26";
- position = "bottom";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx274 30-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
- };
- drivernode1 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- module1 {
- badge = "imx274_top_A6V26";
- position = "top";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx274 31-001a";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/imx274_c@1a";
- };
- drivernode1 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-hdmi.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-hdmi.dtsi
index 51497d6..6843c43 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-hdmi.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx274-hdmi.dtsi
@@ -14,347 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <2>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- status = "okay";
- imx274_vi_in0: endpoint {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&imx274_csi_out0>;
- };
- };
- port@1 {
- reg = <1>;
- status = "okay";
- tc358840_vi_in0: endpoint {
- status = "okay";
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&tc358840_csi_out0>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- status = "okay";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- status = "okay";
- imx274_csi_in0: endpoint@0 {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&imx274_out0>;
- };
- };
- port@1 {
- reg = <1>;
- status = "okay";
- imx274_csi_out0: endpoint@1 {
- status = "okay";
- remote-endpoint = <&imx274_vi_in0>;
- };
- };
- };
- };
- channel@1 {
- reg = <1>;
- status = "okay";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- status = "okay";
- tc358840_csi_in0: endpoint@2 {
- status = "okay";
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&tc358840_out0>;
- };
- };
- port@1 {
- reg = <1>;
- status = "okay";
- tc358840_csi_out0: endpoint@3 {
- status = "okay";
- remote-endpoint = <&tc358840_vi_in0>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- imx274_a@1a {
- compatible = "sony,imx274";
- /* I2C device address */
- reg = <0x1a>;
-
- /* V4L2 device node location */
- devnode = "video0";
-
- /* Physical dimensions of sensor */
- physical_w = "3.674";
- physical_h = "2.738";
-
- sensor_model = "imx274";
-
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- avdd-reg = "vana";
- iovdd-reg = "vif";
- dvdd-reg = "vdig";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- /*post_crop_frame_drop = "0";*/
-
- /* if true, delay gain setting by one frame to be in sync with exposure */
- delayed_gain = "true";
-
- /**
- * ==== Modes ====
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * == Signal properties ==
- *
- * phy_mode = "";
- * PHY mode used by the MIPI lanes for this device
- *
- * tegra_sinterface = "";
- * CSI Serial interface connected to tegra
- * Incase of virtual HW devices, use virtual
- * For SW emulated devices, use host
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * == Image format Properties ==
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * pixel_t = "";
- * The sensor readout pixel pattern
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- *
- * == Source Control Settings ==
- *
- * Gain factor used to convert fixed point integer to float
- * Gain range [min_gain/gain_factor, max_gain/gain_factor]
- * Gain step [step_gain/gain_factor is the smallest step that can be configured]
- * Default gain [Default gain to be initialized for the control.
- * use min_gain_val as default for optimal results]
- * Framerate factor used to convert fixed point integer to float
- * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
- * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
- * Default Framerate [Default framerate to be initialized for the control.
- * use max_framerate to get required performance]
- * Exposure factor used to convert fixed point integer to float
- * For convenience use 1 sec = 1000000us as conversion factor
- * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
- * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
- * Default Exposure Time [Default exposure to be initialized for the control.
- * Set default exposure based on the default_framerate for optimal exposure settings]
- * For convenience use 1 sec = 1000000us as conversion factor
- *
- * gain_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_gain_val = ""; (ceil to integer)
- * max_gain_val = ""; (ceil to integer)
- * step_gain_val = ""; (ceil to integer)
- * default_gain = ""; (ceil to integer)
- * Gain limits for mode
- *
- * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * step_exp_time = ""; (ceil to integer)
- * default_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (sec)
- *
- * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
- * min_framerate = ""; (ceil to integer)
- * max_framerate = ""; (ceil to integer)
- * step_framerate = ""; (ceil to integer)
- * default_framerate = ""; (ceil to integer)
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
- mode0 { // IMX274_MODE_3840X2160
- mclk_khz = "24000";
- num_lanes = "4";
- tegra_sinterface = "serial_a";
- phy_mode = "DPHY";
- discontinuous_clk = "yes";
- dpcm_enable = "false";
- cil_settletime = "0";
-
- active_w = "3840";
- active_h = "2160";
- mode_type = "bayer";
- pixel_phase = "rggb";
- csi_pixel_bit_depth = "10";
- readout_orientation = "0";
- line_length = "4208";
- inherent_gain = "1";
- mclk_multiplier = "24";
- pix_clk_hz = "576000000";
-
- gain_factor = "1000000";
- min_gain_val = "1000000";
- max_gain_val = "44400000";
- step_gain_val = "1";
- default_gain = "1000000";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "1500000";
- max_framerate = "60000000";
- step_framerate = "1";
- default_framerate= "60000000";
- exposure_factor = "1000000";
- min_exp_time = "44";
- max_exp_time = "478696";
- step_exp_time = "1";
- default_exp_time = "16667";/* us */
- embedded_metadata_height = "1";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx274_out0: endpoint {
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&imx274_csi_in0>;
- };
- };
- };
- };
- tc358840@1f {
- compatible = "toshiba,tc358840";
- /* I2C device address */
- reg = <0x1f>;
-
- /* Physical dimensions of sensor */
- physical_w = "4.713";
- physical_h = "3.494";
-
- /* Sensor Model */
- sensor_model ="tc358840";
- devnode ="video1";
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- tc358840_out0: endpoint {
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&tc358840_csi_in0>;
- };
- };
- };
- };
- };
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <750000>;
- isp_peak_byte_per_pixel = <2>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. “rear” or “front”.
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx274_front_A6V24";
- position = "rear";
- status = "okay";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- devname = "imx274 2-001a";
- status = "okay";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/imx274_a@1a";
- };
- };
- };
- };
-};
+/ {};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx390-a00.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx390-a00.dtsi
index 9f1cc7f..a1d9b63 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx390-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-imx390-a00.dtsi
@@ -14,508 +14,4 @@
* along with this program. If not, see .
*/
-/ {
- tegra-capture-vi {
- num-channels = <2>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx390_vi_in0: endpoint {
- vc-id = <0>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_out0>;
- };
- };
- port@1 {
- reg = <1>;
- imx390_vi_in1: endpoint {
- vc-id = <1>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_out1>;
- };
- };
- };
- };
-
- host1x@13e00000 {
- nvcsi@15a00000 {
- num-channels = <2>;
- #address-cells = <1>;
- #size-cells = <0>;
- channel@0 {
- reg = <0>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx390_csi_in0: endpoint@0 {
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_imx390_out0>;
- };
- };
- port@1 {
- reg = <1>;
- imx390_csi_out0: endpoint@1 {
- remote-endpoint = <&imx390_vi_in0>;
- };
- };
- };
- };
- channel@1 {
- reg = <1>;
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx390_csi_in1: endpoint@2 {
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_imx390_out1>;
- };
- };
- port@1 {
- reg = <1>;
- imx390_csi_out1: endpoint@3 {
- remote-endpoint = <&imx390_vi_in1>;
- };
- };
- };
- };
- };
- };
-
- i2c@3180000 {
- tca9546@70 {
- i2c@0 {
- imx390_a@1b {
- compatible = "sony,imx390";
-
- reg = <0x1b>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="imx390";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX390_MODE_1920X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_a";
- vc_id = "0";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- pix_clk_hz = "74250000";
- serdes_pix_clk_hz = "200000000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* dB */
- max_gain_val = "300"; /* dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "59"; /*us, 2 lines*/
- max_exp_time = "33333";
- step_exp_time = "1";
- default_exp_time = "33333";/* us */
- embedded_metadata_height = "0";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx390_imx390_out0: endpoint {
- vc-id = <0>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_in0>;
- };
- };
- };
- gmsl-link {
- src-csi-port = "b";
- dst-csi-port = "a";
- serdes-csi-link = "a";
- csi-mode = "1x4";
- st-vc = <0>;
- vc-id = <0>;
- num-lanes = <2>;
- streams = "ued-u1", "raw12";
- };
- };
-
- imx390_b@1c {
- compatible = "sony,imx390";
-
- reg = <0x1c>;
-
- /* Physical dimensions of sensor */
- physical_w = "15.0";
- physical_h = "12.5";
-
- sensor_model ="imx390";
-
- /* Defines number of frames to be dropped by driver internally after applying */
- /* sensor crop settings. Some sensors send corrupt frames after applying */
- /* crop co-ordinates */
- post_crop_frame_drop = "0";
-
- /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
- use_decibel_gain = "true";
-
- /* enable CID_SENSOR_MODE_ID for sensor modes selection */
- use_sensor_mode_id = "true";
-
- /**
- * A modeX node is required to support v4l2 driver
- * implementation with NVIDIA camera software stack
- *
- * mclk_khz = "";
- * Standard MIPI driving clock, typically 24MHz
- *
- * num_lanes = "";
- * Number of lane channels sensor is programmed to output
- *
- * tegra_sinterface = "";
- * The base tegra serial interface lanes are connected to
- *
- * vc_id = "";
- * The virtual channel id of the sensor.
- *
- * discontinuous_clk = "";
- * The sensor is programmed to use a discontinuous clock on MIPI lanes
- *
- * dpcm_enable = "true";
- * The sensor is programmed to use a DPCM modes
- *
- * cil_settletime = "";
- * MIPI lane settle time value.
- * A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
- *
- * active_w = "";
- * Pixel active region width
- *
- * active_h = "";
- * Pixel active region height
- *
- * dynamic_pixel_bit_depth = "";
- * sensor dynamic bit depth for sensor mode
- *
- * csi_pixel_bit_depth = "";
- * sensor output bit depth for sensor mode
- *
- * mode_type="";
- * Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
- *
- * pixel_phase="";
- * Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
- *
- * readout_orientation = "0";
- * Based on camera module orientation.
- * Only change readout_orientation if you specifically
- * Program a different readout order for this mode
- *
- * line_length = "";
- * Pixel line length (width) for sensor mode.
- * This is used to calibrate features in our camera stack.
- *
- * pix_clk_hz = "";
- * Sensor pixel clock used for calculations like exposure and framerate
- *
- *
- *
- *
- * inherent_gain = "";
- * Gain obtained inherently from mode (ie. pixel binning)
- *
- * min_gain_val = ""; (floor to 6 decimal places)
- * max_gain_val = ""; (floor to 6 decimal places)
- * Gain limits for mode
- * if use_decibel_gain = "true", please set the gain as decibel
- *
- * min_exp_time = ""; (ceil to integer)
- * max_exp_time = ""; (ceil to integer)
- * Exposure Time limits for mode (us)
- *
- *
- * min_hdr_ratio = "";
- * max_hdr_ratio = "";
- * HDR Ratio limits for mode
- *
- * min_framerate = "";
- * max_framerate = "";
- * Framerate limits for mode (fps)
- *
- * embedded_metadata_height = "";
- * Sensor embedded metadata height in units of rows.
- * If sensor does not support embedded metadata value should be 0.
- */
-
- mode0 {/*mode IMX390_MODE_1920X1080_CROP_30FPS*/
- mclk_khz = "24000";
- num_lanes = "2";
- tegra_sinterface = "serial_a";
- vc_id = "1";
- discontinuous_clk = "no";
- dpcm_enable = "false";
- cil_settletime = "0";
- dynamic_pixel_bit_depth = "12";
- csi_pixel_bit_depth = "12";
- mode_type = "bayer";
- pixel_phase = "rggb";
-
- active_w = "1920";
- active_h = "1080";
- readout_orientation = "0";
- line_length = "2200";
- inherent_gain = "1";
- pix_clk_hz = "74250000";
- serdes_pix_clk_hz = "200000000";
-
- gain_factor = "10";
- min_gain_val = "0"; /* dB */
- max_gain_val = "300"; /* dB */
- step_gain_val = "3"; /* 0.3 */
- default_gain = "0";
- min_hdr_ratio = "1";
- max_hdr_ratio = "1";
- framerate_factor = "1000000";
- min_framerate = "30000000";
- max_framerate = "30000000";
- step_framerate = "1";
- default_framerate = "30000000";
- exposure_factor = "1000000";
- min_exp_time = "59"; /*us, 2 lines*/
- max_exp_time = "33333";
- step_exp_time = "1";
- default_exp_time = "33333";/* us */
- embedded_metadata_height = "0";
- };
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
- port@0 {
- reg = <0>;
- imx390_imx390_out1: endpoint {
- vc-id = <1>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_in1>;
- };
- };
- };
- gmsl-link {
- src-csi-port = "b";
- dst-csi-port = "a";
- serdes-csi-link = "b";
- csi-mode = "1x4";
- st-vc = <0>;
- vc-id = <1>;
- num-lanes = <2>;
- streams = "ued-u1", "raw12";
- };
- };
- };
- };
- };
-};
-
-/ {
-
- tegra-camera-platform {
- compatible = "nvidia, tegra-camera-platform";
- /**
- * Physical settings to calculate max ISO BW
- *
- * num_csi_lanes = <>;
- * Total number of CSI lanes when all cameras are active
- *
- * max_lane_speed = <>;
- * Max lane speed in Kbit/s
- *
- * min_bits_per_pixel = <>;
- * Min bits per pixel
- *
- * vi_peak_byte_per_pixel = <>;
- * Max byte per pixel for the VI ISO case
- *
- * vi_bw_margin_pct = <>;
- * Vi bandwidth margin in percentage
- *
- * max_pixel_rate = <>;
- * Max pixel rate in Kpixel/s for the ISP ISO case
- *
- * isp_peak_byte_per_pixel = <>;
- * Max byte per pixel for the ISP ISO case
- *
- * isp_bw_margin_pct = <>;
- * Isp bandwidth margin in percentage
- */
- num_csi_lanes = <2>;
- max_lane_speed = <4000000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
-
- /**
- * The general guideline for naming badge_info contains 3 parts, and is as follows,
- * The first part is the camera_board_id for the module; if the module is in a FFD
- * platform, then use the platform name for this part.
- * The second part contains the position of the module, ex. "rear" or "front".
- * The third part contains the last 6 characters of a part number which is found
- * in the module's specsheet from the vender.
- */
- modules {
- module0 {
- badge = "imx390_rear";
- position = "rear";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx390 30-001b";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_a@1b";
- };
- };
- module1 {
- badge = "imx390_front";
- position = "front";
- orientation = "1";
- drivernode0 {
- /* Declare PCL support driver (classically known as guid) */
- pcl_id = "v4l2_sensor";
- /* Driver v4l2 device name */
- devname = "imx390 30-001c";
- /* Declare the device-tree hierarchy to driver instance */
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_b@1c";
- };
- };
- };
- };
-};
+/ {};
diff --git a/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager copy.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager copy.dtsi
new file mode 100644
index 0000000..1182fc9
--- /dev/null
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager copy.dtsi
@@ -0,0 +1,1973 @@
+/*
+ * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#define CAM0_RST_L TEGRA194_MAIN_GPIO(H, 3)
+#define CAM0_PWDN TEGRA194_MAIN_GPIO(H, 6)
+#define CAM1_RST_L TEGRA194_MAIN_GPIO(T, 6)
+#define CAM1_PWDN TEGRA194_MAIN_GPIO(T, 5)
+#define SLVS_CAM0_RST_L TEGRA194_MAIN_GPIO(Y, 1)
+
+/ {
+ gpio@2200000 {
+ camera-control-output-low {
+ status = "disabled";
+ };
+
+ camera-control-output-high {
+ status = "disabled";
+ };
+
+ camera-control-input {
+ status = "disabled";
+ };
+ };
+
+ /* camera plugin-manager */
+ plugin-manager {
+ /* IMX390 */
+ fragment-imx390@0 {
+ ids = "LPRD-001";
+ override@0 {
+ target = <&imx390_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx390_rear";
+ position = "rear";
+ orientation = "1";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx390 30-001b";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_a@1b";
+ };
+ };
+ override@3 {
+ target = <&imx390_cam1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@4 {
+ target = <&cam_module1>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx390_front";
+ position = "front";
+ orientation = "1";
+ };
+ };
+ override@5 {
+ target = <&cam_module1_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx390 30-001c";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_b@1c";
+ };
+ };
+
+ /* Enable VI ports */
+ override@6 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<2>;
+ };
+ };
+ override@7 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@8 {
+ target = <&vi_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&imx390_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ vc-id = <0>;
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&imx390_csi_out0>;
+ };
+ };
+ override@10 {
+ target = <&imx390_vi_in1>;
+ _overlay_ {
+ status = "okay";
+ vc-id = <1>;
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&imx390_csi_out1>;
+ };
+ };
+
+ /* Enable CSI ports */
+ override@11{
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<2>;
+ };
+ };
+ override@12 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@13 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@14 {
+ target = <&imx390_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&imx390_imx390_out0>;
+ };
+ };
+ override@15 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@16 {
+ target = <&imx390_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&imx390_vi_in0>;
+ };
+ };
+ override@17 {
+ target = <&csi_chan1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@18 {
+ target = <&csi_chan1_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@19 {
+ target = <&imx390_csi_in1>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&imx390_imx390_out1>;
+ };
+ };
+ override@20 {
+ target = <&csi_chan1_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@21 {
+ target = <&imx390_csi_out1>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&imx390_vi_in1>;
+ };
+ };
+
+ /* tegra-camera-platform settings */
+ override@22 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <2>;
+ max_lane_speed = <4000000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* pca9546 i2c mux */
+ override@23 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ vcc-pullup-supply = <&battery_reg>;
+ };
+ };
+ override@24 {
+ target = <&max9296_dser>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@25 {
+ target = <&max9295_prim>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@26 {
+ target = <&max9295_ser0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@27 {
+ target = <&max9295_ser1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ };
+ /* single e2832 module */
+ fragment-e2832@0 {
+ ids = "2832-*";
+ override@0 {
+ target = <&e2832_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "e2832_ltx6911";
+ position = "bottom";
+ orientation = "0";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "e2832 2-002b";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/e2832@2b";
+ };
+ };
+
+ /* Enable VI ports */
+ override@4 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@5 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&e2832_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <8>;
+ remote-endpoint = <&e2832_csi_out0>;
+ };
+ };
+ /* Enable CSI ports */
+ override@7 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@8 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&e2832_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <8>;
+ remote-endpoint = <&e2832_out0>;
+ };
+ };
+ override@11 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&e2832_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e2832_vi_in0>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@13 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <8>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+
+ /* GPIO */
+ override@15 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ status = "disabled";
+ };
+ camera-control-output-high {
+ gpio-hog;
+ gpios = ;
+ label = "cam0-rst";
+ output-high;
+ status = "okay";
+ };
+ };
+ };
+ };
+
+ /* E3326 camera board */
+ fragment-e3326@0 {
+ ids = "3326-*";
+ override@0 {
+ target = <&e3326_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3326_front_P5V27C";
+ position = "rear";
+ orientation = "1";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 2-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/ov5693_c@36";
+ };
+ };
+ override@3 {
+ target = <&cam_module0_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3326_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Enable VI ports */
+ override@4 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@5 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&e3326_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <2>;
+ remote-endpoint = <&e3326_csi_out0>;
+ };
+ };
+ /* Enable CSI ports */
+ override@7 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@8 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&e3326_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <2>;
+ remote-endpoint = <&e3326_ov5693_out0>;
+ };
+ };
+ override@11 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&e3326_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3326_vi_in0>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@13 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <4>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* GPIO */
+ override@14 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ gpio-hog;
+ gpios = ;
+ label = "cam0-rst", "cam0-pwdn";
+ output-low;
+ status = "okay";
+ };
+ camera-control-output-high {
+ status = "disabled";
+ };
+ };
+ };
+ override@15 {
+ target = <&{/gpio@c2f0000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ };
+ };
+ };
+
+ /* E3333 camera board */
+ fragment-e3333@0 {
+ ids = "3333-*";
+ /* VI number of channels */
+ override@0 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<6>;
+ };
+ };
+ /* CSI number of channels */
+ override@1 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<6>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@2 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <12>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ max_pixel_rate = <200000>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* TCA6408 */
+ override@3 {
+ target = <&tca6408_21>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ /* TCA9548 */
+ override@4 {
+ target = <&tca9548_77>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ /* Camera 0: Module */
+ override@5 {
+ target = <&e3333_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_bottomleft_P5V27C";
+ position = "bottomleft";
+ orientation = "1";
+ };
+ };
+ override@7 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 30-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@0/ov5693_a@36";
+ };
+ };
+ override@8 {
+ target = <&cam_module0_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 0: VI */
+ override@9 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&e3333_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out0>;
+ };
+ };
+ /* Camera 0: CSI */
+ override@11 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@13 {
+ target = <&e3333_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out0>;
+ };
+ };
+ override@14 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@15 {
+ target = <&e3333_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in0>;
+ };
+ };
+ /* Camera 1: Module */
+ override@16 {
+ target = <&e3333_cam1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@17 {
+ target = <&cam_module1>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_centerleft_P5V27C";
+ position = "centerleft";
+ orientation = "1";
+ };
+ };
+ override@18 {
+ target = <&cam_module1_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 31-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@1/ov5693_b@36";
+ };
+ };
+ override@19 {
+ target = <&cam_module1_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 1: VI */
+ override@20 {
+ target = <&vi_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@21 {
+ target = <&e3333_vi_in1>;
+ _overlay_ {
+ status = "okay";
+ port-index = <1>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out1>;
+ };
+ };
+ /* Camera 1: CSI */
+ override@22 {
+ target = <&csi_chan1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@23 {
+ target = <&csi_chan1_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@24 {
+ target = <&e3333_csi_in1>;
+ _overlay_ {
+ status = "okay";
+ port-index = <1>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out1>;
+ };
+ };
+ override@25 {
+ target = <&csi_chan1_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@26 {
+ target = <&e3333_csi_out1>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in1>;
+ };
+ };
+ /* Camera 2: Module */
+ override@27 {
+ target = <&e3333_cam2>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@28 {
+ target = <&cam_module2>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_centerright_P5V27C";
+ position = "centerright";
+ orientation = "1";
+ };
+ };
+ override@29 {
+ target = <&cam_module2_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 32-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@2/ov5693_c@36";
+ };
+ };
+ override@30 {
+ target = <&cam_module2_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 2: VI */
+ override@31 {
+ target = <&vi_port2>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@32 {
+ target = <&e3333_vi_in2>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out2>;
+ };
+ };
+ /* Camera 2: CSI */
+ override@33 {
+ target = <&csi_chan2>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@34 {
+ target = <&csi_chan2_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@35 {
+ target = <&e3333_csi_in2>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out2>;
+ };
+ };
+ override@36 {
+ target = <&csi_chan2_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@37 {
+ target = <&e3333_csi_out2>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in2>;
+ };
+ };
+ /* Camera 3: Module */
+ override@38 {
+ target = <&e3333_cam3>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@39 {
+ target = <&cam_module3>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_topleft_P5V27C";
+ position = "topleft";
+ orientation = "1";
+ };
+ };
+ override@40 {
+ target = <&cam_module3_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 33-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@3/ov5693_d@36";
+ };
+ };
+ override@41 {
+ target = <&cam_module3_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 3: VI */
+ override@42 {
+ target = <&vi_port3>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@43 {
+ target = <&e3333_vi_in3>;
+ _overlay_ {
+ status = "okay";
+ port-index = <3>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out3>;
+ };
+ };
+ /* Camera 3: CSI */
+ override@44 {
+ target = <&csi_chan3>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@45 {
+ target = <&csi_chan3_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@46 {
+ target = <&e3333_csi_in3>;
+ _overlay_ {
+ status = "okay";
+ port-index = <3>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out3>;
+ };
+ };
+ override@47 {
+ target = <&csi_chan3_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@48 {
+ target = <&e3333_csi_out3>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in3>;
+ };
+ };
+ /* Camera 4: Module */
+ override@49 {
+ target = <&e3333_cam4>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@50 {
+ target = <&cam_module4>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_bottomright_P5V27C";
+ position = "bottomright";
+ orientation = "1";
+ };
+ };
+ override@51 {
+ target = <&cam_module4_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 34-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@4/ov5693_e@36";
+ };
+ };
+ override@52 {
+ target = <&cam_module4_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 4: VI */
+ override@53 {
+ target = <&vi_port4>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@54 {
+ target = <&e3333_vi_in4>;
+ _overlay_ {
+ status = "okay";
+ port-index = <4>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out4>;
+ };
+ };
+ /* Camera 4: CSI */
+ override@55 {
+ target = <&csi_chan4>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@56 {
+ target = <&csi_chan4_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@57 {
+ target = <&e3333_csi_in4>;
+ _overlay_ {
+ status = "okay";
+ port-index = <4>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out4>;
+ };
+ };
+ override@58 {
+ target = <&csi_chan4_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@59 {
+ target = <&e3333_csi_out4>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in4>;
+ };
+ };
+ /* Camera 5: Module */
+ override@60 {
+ target = <&e3333_cam5>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@61 {
+ target = <&cam_module5>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3333_topright_P5V27C";
+ position = "topright";
+ orientation = "1";
+ };
+ };
+ override@62 {
+ target = <&cam_module5_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 35-0036";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@5/ov5693_g@36";
+ };
+ };
+ override@63 {
+ target = <&cam_module5_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
+ };
+ };
+ /* Camera 5: VI */
+ override@64 {
+ target = <&vi_port5>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@65 {
+ target = <&e3333_vi_in5>;
+ _overlay_ {
+ status = "okay";
+ port-index = <5>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_csi_out5>;
+ };
+ };
+ /* Camera 5: CSI */
+ override@66 {
+ target = <&csi_chan5>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@67 {
+ target = <&csi_chan5_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@68 {
+ target = <&e3333_csi_in5>;
+ _overlay_ {
+ status = "okay";
+ port-index = <6>;
+ bus-width = <2>;
+ remote-endpoint = <&e3333_ov5693_out5>;
+ };
+ };
+ override@69 {
+ target = <&csi_chan5_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@70 {
+ target = <&e3333_csi_out5>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3333_vi_in5>;
+ };
+ };
+ /* GPIO */
+ override@71 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ gpio-hog;
+ gpios = ;
+ label = "cam0-rst", "cam0-pwdn",
+ "cam1-rst", "cam1-pwdn";
+ output-low;
+ status = "okay";
+ };
+ camera-control-output-high {
+ status = "disabled";
+ };
+ };
+ };
+ /* TCA6408 default */
+ override@72 {
+ target = <&tca6408_21>;
+ _overlay_ {
+ tca6408_21_input {
+ status = "disabled";
+ };
+ tca6408_21_outlow {
+ gpio-hog;
+ gpios = <0 0 1 0 2 0 3 0 4 0
+ 5 0 6 0 7 0>;
+ output-low;
+ label = "tca6408_21_outlow_0",
+ "tca6408_21_outlow_1",
+ "tca6408_21_outlow_2",
+ "tca6408_21_outlow_3",
+ "tca6408_21_outlow_4",
+ "tca6408_21_outlow_5",
+ "tca6408_21_outlow_6",
+ "tca6408_21_outlow_7";
+ status = "okay";
+ };
+ tca6408_21_outhigh {
+ status = "disabled";
+ };
+ };
+ };
+ /* I2C default */
+ override@73 {
+ target = <&cam_i2c>;
+ _overlay_ {
+ compatible = "nvidia,tegra194-i2c";
+ };
+ };
+ };
+
+ /* single IMX274 module */
+ fragment-imx274@0 {
+ ids = "LPRD-002002";
+ override@0 {
+ target = <&imx274_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx274_bottom_A6V26";
+ position = "bottom";
+ orientation = "0";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx274 30-001a";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
+ };
+ };
+ override@3 {
+ target = <&cam_module0_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
+ };
+ };
+ /* Enable VI ports */
+ override@4 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@5 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&liimx274_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_csi_out0>;
+ };
+ };
+ /* Enable CSI ports */
+ override@7 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@8 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&liimx274_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_imx274_out0>;
+ };
+ };
+ override@11 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&liimx274_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&liimx274_vi_in0>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@13 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <4>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* pca9646 i2c mux */
+ override@14 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ vcc-pullup-supply = <&battery_reg>;
+ };
+ };
+ /* GPIO */
+ override@15 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ status = "disabled";
+ };
+ camera-control-output-high {
+ gpio-hog;
+ gpios = ;
+ label = "cam0-rst";
+ output-high;
+ status = "okay";
+ };
+ };
+ };
+ /* GPIO expander */
+ override@16 {
+ target = <&pca9570_a_24>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@17 {
+ target = <&imx390_cam0>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ override@18 {
+ target = <&imx390_cam1>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ override@19 {
+ target = <&cam_module1>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ };
+
+ /* dual IMX274 module */
+ fragment-imx274-dual@0 {
+ ids = "LPRD-dual-imx274-002";
+ override@0 {
+ target = <&imx274_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx274_bottom_A6V26";
+ position = "bottom";
+ orientation = "0";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx274 30-001a";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
+ };
+ };
+ override@3 {
+ target = <&cam_module0_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
+ };
+ };
+ override@4 {
+ target = <&imx274_cam1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@5 {
+ target = <&cam_module1>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx274_top_A6V26";
+ position = "top";
+ orientation = "0";
+ };
+ };
+ override@6 {
+ target = <&cam_module1_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx274 31-001a";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/imx274_c@1a";
+ };
+ };
+ override@7 {
+ target = <&cam_module1_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
+ };
+ };
+ /* Enable VI ports */
+ override@8 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<2>;
+ };
+ };
+ override@9 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&vi_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@11 {
+ target = <&liimx274_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_csi_out0>;
+ };
+ };
+ override@12 {
+ target = <&liimx274_vi_in1>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_csi_out1>;
+ };
+ };
+ /* Enable CSI ports */
+ override@13{
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<2>;
+ };
+ };
+ override@14 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@15 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@16 {
+ target = <&liimx274_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_imx274_out0>;
+ };
+ };
+ override@17 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@18 {
+ target = <&liimx274_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&liimx274_vi_in0>;
+ };
+ };
+ override@19 {
+ target = <&csi_chan1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@20 {
+ target = <&csi_chan1_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@21 {
+ target = <&liimx274_csi_in1>;
+ _overlay_ {
+ status = "okay";
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx274_imx274_out1>;
+ };
+ };
+ override@22 {
+ target = <&csi_chan1_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@23 {
+ target = <&liimx274_csi_out1>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&liimx274_vi_in1>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@24 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <8>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* pca9646 i2c mux */
+ override@25 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ vcc-pullup-supply = <&battery_reg>;
+ };
+ };
+ /* GPIO */
+ override@26 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ status = "disabled";
+ };
+ camera-control-output-high {
+ gpio-hog;
+ gpios = ;
+ label = "cam0-rst", "cam1-rst";
+ output-high;
+ status = "okay";
+ };
+ };
+ };
+ };
+
+ /* E3331 camera board */
+ fragment-e3331@0 {
+ ids = "3331-*";
+ /* VI number of channels */
+ override@0 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>; /* TODO change to 3 */
+ };
+ };
+ /* CSI number of channels */
+ override@1 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<1>; /* TODO change to 3 */
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@2 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <3>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ max_pixel_rate = <160000>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* TCA9546 */
+ override@4 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ vcc-pullup-supply = <&battery_reg>;
+ };
+ };
+ /* Camera 0: Module */
+ override@5 {
+ target = <&e3331_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3331_rear_22N02A";
+ position = "rear";
+ orientation = "1";
+ };
+ };
+ override@7 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx318 30-0010";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx318_a@10";
+ };
+ };
+ /* Camera 0: VI */
+ override@9 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&e3331_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <3>;
+ remote-endpoint = <&e3331_csi_out0>;
+ };
+ };
+ /* Camera 0: CSI */
+ override@11 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@13 {
+ target = <&e3331_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <3>;
+ remote-endpoint = <&e3331_imx318_out0>;
+ };
+ };
+ override@14 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@15 {
+ target = <&e3331_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3331_vi_in0>;
+ };
+ };
+ /* GPIO */
+ override@71 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ gpio-hog;
+ gpios = ;
+ /* */
+ label = "cam0-rst";
+ /*"cam1-rst", "cam2-rst";*/
+ output-low;
+ status = "okay";
+ };
+ camera-control-output-high {
+ status = "disabled";
+ };
+ };
+ };
+ };
+
+ /* E3377 camera board */
+ fragment-e3377@0 {
+ ids = "3377-1000-*";
+ override@0 {
+ target = <&e3377_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "e3377_rear_IMX204";
+ position = "rear";
+ orientation = "1";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx204_spi";
+ proc-device-tree = "/proc/device-tree/spi@c260000/imx204@0";
+ };
+ };
+ /* Enable VI ports */
+ override@4 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@5 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&e3377_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <8>;
+ remote-endpoint = <&e3377_slvs_ec_out0>;
+ };
+ };
+ /* Enable SLVS-EC ports */
+ override@8 {
+ target = <&slvs_ec_stream0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&slvs_ec_stream0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&e3377_slvs_ec_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <8>;
+ remote-endpoint = <&e3377_imx204_out0>;
+ };
+ };
+ override@11 {
+ target = <&slvs_ec_stream0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&e3377_slvs_ec_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&e3377_vi_in0>;
+ };
+ };
+ /* GPIO */
+ override@14 {
+ target = <&{/gpio@2200000}>;
+ _overlay_ {
+ camera-control-input {
+ status = "disabled";
+ };
+ camera-control-output-low {
+ gpio-hog;
+ gpios = ;
+ label = "slvs-cam0-rst";
+ output-low;
+ status = "okay";
+ };
+ camera-control-output-high {
+ status = "disabled";
+ };
+ };
+ };
+ override@15 {
+ target = <&spi_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ };
+
+ /* IMX185 module */
+ fragment-imx185@0 {
+ ids = "LPRD-002001";
+ override@0 {
+ target = <&imx185_cam0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@1 {
+ target = <&cam_module0>;
+ _overlay_ {
+ status = "okay";
+ badge = "imx185_bottom_liimx185";
+ position = "bottom";
+ orientation = "0";
+ };
+ };
+ override@2 {
+ target = <&cam_module0_drivernode0>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "imx185 30-001a";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a";
+ };
+ };
+ override@3 {
+ target = <&cam_module0_drivernode1>;
+ _overlay_ {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ };
+ };
+ /* Enable VI ports */
+ override@4 {
+ target = <&capture_vi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@5 {
+ target = <&vi_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@6 {
+ target = <&liimx185_vi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx185_csi_out0>;
+ };
+ };
+ /* Enable CSI ports */
+ override@7 {
+ target = <&csi_base>;
+ _overlay_ {
+ num-channels=<1>;
+ };
+ };
+ override@8 {
+ target = <&csi_chan0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@9 {
+ target = <&csi_chan0_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@10 {
+ target = <&liimx185_csi_in0>;
+ _overlay_ {
+ status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&liimx185_imx185_out0>;
+ };
+ };
+ override@11 {
+ target = <&csi_chan0_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@12 {
+ target = <&liimx185_csi_out0>;
+ _overlay_ {
+ status = "okay";
+ remote-endpoint = <&liimx185_vi_in0>;
+ };
+ };
+ /* tegra-camera-platform settings */
+ override@13 {
+ target = <&tcp>;
+ _overlay_ {
+ num_csi_lanes = <4>;
+ max_lane_speed = <1500000>;
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
+ };
+ };
+ /* pca9646 i2c mux */
+ override@14 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ vcc-pullup-supply = <&battery_reg>;
+ };
+ };
+ /* GPIO expander */
+ override@15 {
+ target = <&pca9570_a_24>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@16 {
+ target = <&imx390_cam0>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ override@17 {
+ target = <&imx390_cam1>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ override@18 {
+ target = <&cam_module1>;
+ _overlay_ {
+ status = "disabled";
+ };
+ };
+ };
+
+ /* CAM0_RST pin - this section must be after all sensor board overrides */
+ fragment-p2822-cam0-rst@0 {
+ ids = "<2822-0000-500";
+
+ /* GPIO */
+ override@0 {
+ target = <&{/gpio@2200000/camera-control-output-low}>;
+ _overlay_ {
+ gpios = ;
+ label = "cam0-rst", "cam0-pwdn",
+ "cam1-rst", "cam1-pwdn",
+ "slvs-cam0-rst";
+ };
+ };
+ override@1 {
+ target = <&{/gpio@2200000/camera-control-output-high}>;
+ _overlay_ {
+ gpios = ;
+ label = "cam0-rst", "cam1-rst";
+ };
+ };
+ /* E3326 */
+ override@2 {
+ target = <&{/i2c@3180000/ov5693_c@36}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ /* E3331 */
+ override@3 {
+ target = <&{/i2c@3180000/tca9546@70/i2c@0/imx318_a@10}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ /* E3333 */
+ override@4 {
+ target = <&{/i2c@3180000/tca9548@77/i2c@0/ov5693_a@36}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ /* IMX185 */
+ override@5 {
+ target = <&{/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ /* IMX274, Dual IMX274 */
+ override@6 {
+ target = <&{/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ /* IMX390 */
+ override@7 {
+ target = <&{/i2c@3180000/tca9546@70/i2c@0/imx390_a@1b}>;
+ _overlay_ {
+ reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
+ };
+ };
+ };
+ };
+};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager.dtsi b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager.dtsi
index 1182fc9..4e73917 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager.dtsi
+++ b/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-plugin-manager.dtsi
@@ -1,17 +1,15 @@
/*
- * Copyright (c) 2016-2022, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2016-2019, NVIDIA CORPORATION. All rights reserved.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
*
- * This program is distributed in the hope it will be useful, but WITHOUT
+ * This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
*/
#define CAM0_RST_L TEGRA194_MAIN_GPIO(H, 3)
@@ -19,6 +17,11 @@
#define CAM1_RST_L TEGRA194_MAIN_GPIO(T, 6)
#define CAM1_PWDN TEGRA194_MAIN_GPIO(T, 5)
#define SLVS_CAM0_RST_L TEGRA194_MAIN_GPIO(Y, 1)
+/* it's F7 GPIO1_CAM1_PWR */
+#define CAM2_PWDN TEGRA194_MAIN_GPIO(N, 2)
+
+/* it's H7 GPIO1_CAM1_RST */
+#define CAM2_RST_L TEGRA194_MAIN_GPIO(R, 1)
/ {
gpio@2200000 {
@@ -37,1702 +40,573 @@
/* camera plugin-manager */
plugin-manager {
- /* IMX390 */
- fragment-imx390@0 {
- ids = "LPRD-001";
+ fragment-e3326@0 {
+ ids = "3310-*";
+ //ids = "<2822-0000-500";
override@0 {
- target = <&imx390_cam0>;
+ target = <&e3326_cam0>;
+
_overlay_ {
status = "okay";
};
};
+
override@1 {
target = <&cam_module0>;
+
_overlay_ {
status = "okay";
- badge = "imx390_rear";
- position = "rear";
- orientation = "1";
+ badge = "e3326_top_P5V27C";
+ position = "top";
+ orientation = [30 00];
};
};
+
override@2 {
target = <&cam_module0_drivernode0>;
+
_overlay_ {
status = "okay";
pcl_id = "v4l2_sensor";
- devname = "imx390 30-001b";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_a@1b";
+ devname = "ov5693 30-0030";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@30";
};
};
+
override@3 {
- target = <&imx390_cam1>;
+ target = <&cam_module0_drivernode1>;
+
_overlay_ {
status = "okay";
+ pcl_id = "v4l2_lens";
};
};
+
override@4 {
- target = <&cam_module1>;
+ target = <&e3326_cam1>;
+
_overlay_ {
status = "okay";
- badge = "imx390_front";
- position = "front";
- orientation = "1";
};
};
+
override@5 {
- target = <&cam_module1_drivernode0>;
+ target = <&cam_module1>;
+
_overlay_ {
status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx390 30-001c";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_b@1c";
+ badge = "e3326_front_P5V27C";
+ position = "front";
+ orientation = [30 00];
};
};
- /* Enable VI ports */
override@6 {
- target = <&capture_vi_base>;
+ target = <&cam_module1_drivernode0>;
+
_overlay_ {
- num-channels=<2>;
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 30-0031";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@31";
};
};
+
override@7 {
- target = <&vi_port0>;
+ target = <&cam_module1_drivernode1>;
+
_overlay_ {
status = "okay";
+ pcl_id = "v4l2_lens";
};
};
+
override@8 {
- target = <&vi_port1>;
+ target = <&e3326_cam2>;
+
_overlay_ {
status = "okay";
};
};
+
override@9 {
- target = <&imx390_vi_in0>;
+ target = <&cam_module2>;
+
_overlay_ {
status = "okay";
- vc-id = <0>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_out0>;
+ badge = "e3326_left_P5V27C";
+ position = "left";
+ orientation = [30 00];
};
};
+
override@10 {
- target = <&imx390_vi_in1>;
+ target = <&cam_module2_drivernode0>;
+
_overlay_ {
status = "okay";
- vc-id = <1>;
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_csi_out1>;
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 30-0032";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@32";
};
};
- /* Enable CSI ports */
- override@11{
- target = <&csi_base>;
+ override@11 {
+ target = <&cam_module2_drivernode1>;
+
_overlay_ {
- num-channels=<2>;
+ status = "okay";
+ pcl_id = "v4l2_lens";
};
};
+
override@12 {
- target = <&csi_chan0>;
+ target = <&e3326_cam3>;
+
_overlay_ {
status = "okay";
};
};
+
override@13 {
- target = <&csi_chan0_port0>;
+ target = <&cam_module3>;
+
_overlay_ {
status = "okay";
+ badge = "e3326_right_P5V27C";
+ position = "right";
+ orientation = [30 00];
};
};
+
override@14 {
- target = <&imx390_csi_in0>;
+ target = <&cam_module3_drivernode0>;
+
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_imx390_out0>;
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 30-0033";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov5693_a@33";
};
};
+
override@15 {
- target = <&csi_chan0_port1>;
+ target = <&cam_module3_drivernode1>;
+
_overlay_ {
status = "okay";
+ pcl_id = "v4l2_lens";
};
};
+
override@16 {
- target = <&imx390_csi_out0>;
+ target = <&e3326_cam4>;
+
_overlay_ {
status = "okay";
- remote-endpoint = <&imx390_vi_in0>;
};
};
+
override@17 {
- target = <&csi_chan1>;
+ target = <&cam_module4>;
+
_overlay_ {
status = "okay";
+ badge = "e3326_bottom_P5V27C";
+ position = "bottom";
+ orientation = [31 00];
};
};
+
override@18 {
- target = <&csi_chan1_port0>;
+ target = <&cam_module4_drivernode0>;
+
_overlay_ {
status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 31-0030";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/ov5693_c@36";
};
};
+
override@19 {
- target = <&imx390_csi_in1>;
+ target = <&cam_module4_drivernode1>;
+
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&imx390_imx390_out1>;
+ pcl_id = "v4l2_lens";
};
};
+
override@20 {
- target = <&csi_chan1_port1>;
+ target = <&e3326_cam5>;
+
_overlay_ {
status = "okay";
};
};
+
override@21 {
- target = <&imx390_csi_out1>;
+ target = <&cam_module5>;
+
_overlay_ {
status = "okay";
- remote-endpoint = <&imx390_vi_in1>;
+ badge = "e3326_center_P5V27C";
+ position = "center";
+ orientation = [32 00];
};
};
- /* tegra-camera-platform settings */
override@22 {
- target = <&tcp>;
+ target = <&cam_module5_drivernode0>;
+
_overlay_ {
- num_csi_lanes = <2>;
- max_lane_speed = <4000000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
+ status = "okay";
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 31-0031";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/ov5693_c@37";
};
};
- /* pca9546 i2c mux */
+
override@23 {
- target = <&tca9546_70>;
+ target = <&cam_module5_drivernode1>;
+
_overlay_ {
status = "okay";
- vcc-pullup-supply = <&battery_reg>;
+ pcl_id = "v4l2_lens";
};
};
+
+ /* Enable VI ports */
override@24 {
- target = <&max9296_dser>;
+ target = <&capture_vi_base>;
_overlay_ {
- status = "okay";
+ num-channels=<8>;
};
};
override@25 {
- target = <&max9295_prim>;
+ target = <&vi_port0>;
_overlay_ {
status = "okay";
};
};
override@26 {
- target = <&max9295_ser0>;
+ target = <&vi_port1>;
_overlay_ {
status = "okay";
};
};
override@27 {
- target = <&max9295_ser1>;
+ target = <&vi_port2>;
_overlay_ {
status = "okay";
};
};
- };
- /* single e2832 module */
- fragment-e2832@0 {
- ids = "2832-*";
- override@0 {
- target = <&e2832_cam0>;
+ override@28 {
+ target = <&vi_port3>;
_overlay_ {
status = "okay";
};
};
- override@1 {
- target = <&cam_module0>;
+ override@29 {
+ target = <&vi_port4>;
_overlay_ {
status = "okay";
- badge = "e2832_ltx6911";
- position = "bottom";
- orientation = "0";
};
};
- override@2 {
- target = <&cam_module0_drivernode0>;
+ override@30 {
+ target = <&vi_port5>;
_overlay_ {
status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "e2832 2-002b";
- proc-device-tree = "/proc/device-tree/i2c@3180000/e2832@2b";
};
};
-
- /* Enable VI ports */
- override@4 {
- target = <&capture_vi_base>;
+ override@31 {
+ target = <&e3326_vi_in0>;
_overlay_ {
- num-channels=<1>;
+ status = "okay";
+ vc-id = <0>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out0>;
};
};
- override@5 {
- target = <&vi_port0>;
+ override@32 {
+ target = <&e3326_vi_in1>;
_overlay_ {
status = "okay";
+ vc-id = <1>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out1>;
};
};
- override@6 {
- target = <&e2832_vi_in0>;
+ override@33 {
+ target = <&e3326_vi_in2>;
+ _overlay_ {
+ status = "okay";
+ vc-id = <2>;
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out2>;
+ };
+ };
+ override@34 {
+ target = <&e3326_vi_in3>;
_overlay_ {
status = "okay";
+ vc-id = <3>;
port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e2832_csi_out0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out3>;
+ };
+ };
+ override@35 {
+ target = <&e3326_vi_in4>;
+ _overlay_ {
+ status = "okay";
+ vc-id = <0>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out4>;
+ };
+ };
+ override@36 {
+ target = <&e3326_vi_in5>;
+ _overlay_ {
+ status = "okay";
+ vc-id = <1>;
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out5>;
};
};
/* Enable CSI ports */
- override@7 {
+ override@37 {
target = <&csi_base>;
_overlay_ {
- num-channels=<1>;
+ num-channels=<8>;
};
};
- override@8 {
+ override@38 {
target = <&csi_chan0>;
_overlay_ {
status = "okay";
};
};
- override@9 {
+ override@39 {
target = <&csi_chan0_port0>;
_overlay_ {
status = "okay";
};
};
- override@10 {
- target = <&e2832_csi_in0>;
+ override@40 {
+ target = <&e3326_csi_in0>;
_overlay_ {
status = "okay";
port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e2832_out0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out0>;
};
};
- override@11 {
+ override@41 {
target = <&csi_chan0_port1>;
_overlay_ {
status = "okay";
};
};
- override@12 {
- target = <&e2832_csi_out0>;
+ override@42 {
+ target = <&e3326_csi_out0>;
_overlay_ {
status = "okay";
- remote-endpoint = <&e2832_vi_in0>;
+ remote-endpoint = <&e3326_vi_in0>;
};
};
- /* tegra-camera-platform settings */
- override@13 {
- target = <&tcp>;
+ override@43 {
+ target = <&csi_chan1>;
_overlay_ {
- num_csi_lanes = <8>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
+ status = "okay";
};
};
-
- /* GPIO */
- override@15 {
- target = <&{/gpio@2200000}>;
+ override@44 {
+ target = <&csi_chan1_port0>;
_overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- status = "disabled";
- };
- camera-control-output-high {
- gpio-hog;
- gpios = ;
- label = "cam0-rst";
- output-high;
- status = "okay";
- };
+ status = "okay";
};
};
- };
-
- /* E3326 camera board */
- fragment-e3326@0 {
- ids = "3326-*";
- override@0 {
- target = <&e3326_cam0>;
+ override@45 {
+ target = <&e3326_csi_in1>;
_overlay_ {
status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out1>;
};
};
- override@1 {
- target = <&cam_module0>;
+ override@46 {
+ target = <&csi_chan1_port1>;
_overlay_ {
status = "okay";
- badge = "e3326_front_P5V27C";
- position = "rear";
- orientation = "1";
};
};
- override@2 {
- target = <&cam_module0_drivernode0>;
+ override@47 {
+ target = <&e3326_csi_out1>;
_overlay_ {
status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 2-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/ov5693_c@36";
+ remote-endpoint = <&e3326_vi_in1>;
};
};
- override@3 {
- target = <&cam_module0_drivernode1>;
+ override@48 {
+ target = <&csi_chan2>;
_overlay_ {
status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3326_lens_ov5693@P5V27C/";
};
};
- /* Enable VI ports */
- override@4 {
- target = <&capture_vi_base>;
+ override@49 {
+ target = <&csi_chan2_port0>;
_overlay_ {
- num-channels=<1>;
+ status = "okay";
};
};
- override@5 {
- target = <&vi_port0>;
+ override@50 {
+ target = <&e3326_csi_in2>;
_overlay_ {
status = "okay";
+ port-index = <0>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out2>;
};
};
- override@6 {
- target = <&e3326_vi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3326_csi_out0>;
- };
- };
- /* Enable CSI ports */
- override@7 {
- target = <&csi_base>;
- _overlay_ {
- num-channels=<1>;
- };
- };
- override@8 {
- target = <&csi_chan0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@9 {
- target = <&csi_chan0_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@10 {
- target = <&e3326_csi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3326_ov5693_out0>;
- };
- };
- override@11 {
- target = <&csi_chan0_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@12 {
- target = <&e3326_csi_out0>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3326_vi_in0>;
- };
- };
- /* tegra-camera-platform settings */
- override@13 {
- target = <&tcp>;
- _overlay_ {
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
- };
- };
- /* GPIO */
- override@14 {
- target = <&{/gpio@2200000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- gpio-hog;
- gpios = ;
- label = "cam0-rst", "cam0-pwdn";
- output-low;
- status = "okay";
- };
- camera-control-output-high {
- status = "disabled";
- };
- };
- };
- override@15 {
- target = <&{/gpio@c2f0000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- };
- };
- };
-
- /* E3333 camera board */
- fragment-e3333@0 {
- ids = "3333-*";
- /* VI number of channels */
- override@0 {
- target = <&capture_vi_base>;
- _overlay_ {
- num-channels=<6>;
- };
- };
- /* CSI number of channels */
- override@1 {
- target = <&csi_base>;
- _overlay_ {
- num-channels=<6>;
- };
- };
- /* tegra-camera-platform settings */
- override@2 {
- target = <&tcp>;
- _overlay_ {
- num_csi_lanes = <12>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <200000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
- };
- };
- /* TCA6408 */
- override@3 {
- target = <&tca6408_21>;
- _overlay_ {
- status = "okay";
- };
- };
- /* TCA9548 */
- override@4 {
- target = <&tca9548_77>;
- _overlay_ {
- status = "okay";
- };
- };
- /* Camera 0: Module */
- override@5 {
- target = <&e3333_cam0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@6 {
- target = <&cam_module0>;
- _overlay_ {
- status = "okay";
- badge = "e3333_bottomleft_P5V27C";
- position = "bottomleft";
- orientation = "1";
- };
- };
- override@7 {
- target = <&cam_module0_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 30-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@0/ov5693_a@36";
- };
- };
- override@8 {
- target = <&cam_module0_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 0: VI */
- override@9 {
- target = <&vi_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@10 {
- target = <&e3333_vi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out0>;
- };
- };
- /* Camera 0: CSI */
- override@11 {
- target = <&csi_chan0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@12 {
- target = <&csi_chan0_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@13 {
- target = <&e3333_csi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out0>;
- };
- };
- override@14 {
- target = <&csi_chan0_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@15 {
- target = <&e3333_csi_out0>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in0>;
- };
- };
- /* Camera 1: Module */
- override@16 {
- target = <&e3333_cam1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@17 {
- target = <&cam_module1>;
- _overlay_ {
- status = "okay";
- badge = "e3333_centerleft_P5V27C";
- position = "centerleft";
- orientation = "1";
- };
- };
- override@18 {
- target = <&cam_module1_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 31-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@1/ov5693_b@36";
- };
- };
- override@19 {
- target = <&cam_module1_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 1: VI */
- override@20 {
- target = <&vi_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@21 {
- target = <&e3333_vi_in1>;
- _overlay_ {
- status = "okay";
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out1>;
- };
- };
- /* Camera 1: CSI */
- override@22 {
- target = <&csi_chan1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@23 {
- target = <&csi_chan1_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@24 {
- target = <&e3333_csi_in1>;
- _overlay_ {
- status = "okay";
- port-index = <1>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out1>;
- };
- };
- override@25 {
- target = <&csi_chan1_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@26 {
- target = <&e3333_csi_out1>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in1>;
- };
- };
- /* Camera 2: Module */
- override@27 {
- target = <&e3333_cam2>;
- _overlay_ {
- status = "okay";
- };
- };
- override@28 {
- target = <&cam_module2>;
- _overlay_ {
- status = "okay";
- badge = "e3333_centerright_P5V27C";
- position = "centerright";
- orientation = "1";
- };
- };
- override@29 {
- target = <&cam_module2_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 32-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@2/ov5693_c@36";
- };
- };
- override@30 {
- target = <&cam_module2_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 2: VI */
- override@31 {
- target = <&vi_port2>;
- _overlay_ {
- status = "okay";
- };
- };
- override@32 {
- target = <&e3333_vi_in2>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out2>;
- };
- };
- /* Camera 2: CSI */
- override@33 {
- target = <&csi_chan2>;
- _overlay_ {
- status = "okay";
- };
- };
- override@34 {
- target = <&csi_chan2_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@35 {
- target = <&e3333_csi_in2>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out2>;
- };
- };
- override@36 {
- target = <&csi_chan2_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@37 {
- target = <&e3333_csi_out2>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in2>;
- };
- };
- /* Camera 3: Module */
- override@38 {
- target = <&e3333_cam3>;
- _overlay_ {
- status = "okay";
- };
- };
- override@39 {
- target = <&cam_module3>;
- _overlay_ {
- status = "okay";
- badge = "e3333_topleft_P5V27C";
- position = "topleft";
- orientation = "1";
- };
- };
- override@40 {
- target = <&cam_module3_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 33-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@3/ov5693_d@36";
- };
- };
- override@41 {
- target = <&cam_module3_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 3: VI */
- override@42 {
- target = <&vi_port3>;
- _overlay_ {
- status = "okay";
- };
- };
- override@43 {
- target = <&e3333_vi_in3>;
- _overlay_ {
- status = "okay";
- port-index = <3>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out3>;
- };
- };
- /* Camera 3: CSI */
- override@44 {
- target = <&csi_chan3>;
- _overlay_ {
- status = "okay";
- };
- };
- override@45 {
- target = <&csi_chan3_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@46 {
- target = <&e3333_csi_in3>;
- _overlay_ {
- status = "okay";
- port-index = <3>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out3>;
- };
- };
- override@47 {
- target = <&csi_chan3_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@48 {
- target = <&e3333_csi_out3>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in3>;
- };
- };
- /* Camera 4: Module */
- override@49 {
- target = <&e3333_cam4>;
- _overlay_ {
- status = "okay";
- };
- };
- override@50 {
- target = <&cam_module4>;
- _overlay_ {
- status = "okay";
- badge = "e3333_bottomright_P5V27C";
- position = "bottomright";
- orientation = "1";
- };
- };
- override@51 {
- target = <&cam_module4_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 34-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@4/ov5693_e@36";
- };
- };
- override@52 {
- target = <&cam_module4_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 4: VI */
- override@53 {
- target = <&vi_port4>;
- _overlay_ {
- status = "okay";
- };
- };
- override@54 {
- target = <&e3333_vi_in4>;
- _overlay_ {
- status = "okay";
- port-index = <4>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out4>;
- };
- };
- /* Camera 4: CSI */
- override@55 {
- target = <&csi_chan4>;
- _overlay_ {
- status = "okay";
- };
- };
- override@56 {
- target = <&csi_chan4_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@57 {
- target = <&e3333_csi_in4>;
- _overlay_ {
- status = "okay";
- port-index = <4>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out4>;
- };
- };
- override@58 {
- target = <&csi_chan4_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@59 {
- target = <&e3333_csi_out4>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in4>;
- };
- };
- /* Camera 5: Module */
- override@60 {
- target = <&e3333_cam5>;
- _overlay_ {
- status = "okay";
- };
- };
- override@61 {
- target = <&cam_module5>;
- _overlay_ {
- status = "okay";
- badge = "e3333_topright_P5V27C";
- position = "topright";
- orientation = "1";
- };
- };
- override@62 {
- target = <&cam_module5_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "ov5693 35-0036";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@5/ov5693_g@36";
- };
- };
- override@63 {
- target = <&cam_module5_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
- };
- };
- /* Camera 5: VI */
- override@64 {
- target = <&vi_port5>;
- _overlay_ {
- status = "okay";
- };
- };
- override@65 {
- target = <&e3333_vi_in5>;
- _overlay_ {
- status = "okay";
- port-index = <5>;
- bus-width = <2>;
- remote-endpoint = <&e3333_csi_out5>;
- };
- };
- /* Camera 5: CSI */
- override@66 {
- target = <&csi_chan5>;
- _overlay_ {
- status = "okay";
- };
- };
- override@67 {
- target = <&csi_chan5_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@68 {
- target = <&e3333_csi_in5>;
- _overlay_ {
- status = "okay";
- port-index = <6>;
- bus-width = <2>;
- remote-endpoint = <&e3333_ov5693_out5>;
- };
- };
- override@69 {
- target = <&csi_chan5_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@70 {
- target = <&e3333_csi_out5>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&e3333_vi_in5>;
- };
- };
- /* GPIO */
- override@71 {
- target = <&{/gpio@2200000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- gpio-hog;
- gpios = ;
- label = "cam0-rst", "cam0-pwdn",
- "cam1-rst", "cam1-pwdn";
- output-low;
- status = "okay";
- };
- camera-control-output-high {
- status = "disabled";
- };
- };
- };
- /* TCA6408 default */
- override@72 {
- target = <&tca6408_21>;
- _overlay_ {
- tca6408_21_input {
- status = "disabled";
- };
- tca6408_21_outlow {
- gpio-hog;
- gpios = <0 0 1 0 2 0 3 0 4 0
- 5 0 6 0 7 0>;
- output-low;
- label = "tca6408_21_outlow_0",
- "tca6408_21_outlow_1",
- "tca6408_21_outlow_2",
- "tca6408_21_outlow_3",
- "tca6408_21_outlow_4",
- "tca6408_21_outlow_5",
- "tca6408_21_outlow_6",
- "tca6408_21_outlow_7";
- status = "okay";
- };
- tca6408_21_outhigh {
- status = "disabled";
- };
- };
- };
- /* I2C default */
- override@73 {
- target = <&cam_i2c>;
- _overlay_ {
- compatible = "nvidia,tegra194-i2c";
- };
- };
- };
-
- /* single IMX274 module */
- fragment-imx274@0 {
- ids = "LPRD-002002";
- override@0 {
- target = <&imx274_cam0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@1 {
- target = <&cam_module0>;
- _overlay_ {
- status = "okay";
- badge = "imx274_bottom_A6V26";
- position = "bottom";
- orientation = "0";
- };
- };
- override@2 {
- target = <&cam_module0_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx274 30-001a";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
- };
- };
- override@3 {
- target = <&cam_module0_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- /* Enable VI ports */
- override@4 {
- target = <&capture_vi_base>;
- _overlay_ {
- num-channels=<1>;
- };
- };
- override@5 {
- target = <&vi_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@6 {
- target = <&liimx274_vi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out0>;
- };
- };
- /* Enable CSI ports */
- override@7 {
- target = <&csi_base>;
- _overlay_ {
- num-channels=<1>;
- };
- };
- override@8 {
- target = <&csi_chan0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@9 {
- target = <&csi_chan0_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@10 {
- target = <&liimx274_csi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out0>;
- };
- };
- override@11 {
- target = <&csi_chan0_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@12 {
- target = <&liimx274_csi_out0>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&liimx274_vi_in0>;
- };
- };
- /* tegra-camera-platform settings */
- override@13 {
- target = <&tcp>;
- _overlay_ {
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
- };
- };
- /* pca9646 i2c mux */
- override@14 {
- target = <&tca9546_70>;
- _overlay_ {
- status = "okay";
- vcc-pullup-supply = <&battery_reg>;
- };
- };
- /* GPIO */
- override@15 {
- target = <&{/gpio@2200000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- status = "disabled";
- };
- camera-control-output-high {
- gpio-hog;
- gpios = ;
- label = "cam0-rst";
- output-high;
- status = "okay";
- };
- };
- };
- /* GPIO expander */
- override@16 {
- target = <&pca9570_a_24>;
- _overlay_ {
- status = "okay";
- };
- };
- override@17 {
- target = <&imx390_cam0>;
- _overlay_ {
- status = "disabled";
- };
- };
- override@18 {
- target = <&imx390_cam1>;
- _overlay_ {
- status = "disabled";
- };
- };
- override@19 {
- target = <&cam_module1>;
- _overlay_ {
- status = "disabled";
- };
- };
- };
-
- /* dual IMX274 module */
- fragment-imx274-dual@0 {
- ids = "LPRD-dual-imx274-002";
- override@0 {
- target = <&imx274_cam0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@1 {
- target = <&cam_module0>;
- _overlay_ {
- status = "okay";
- badge = "imx274_bottom_A6V26";
- position = "bottom";
- orientation = "0";
- };
- };
- override@2 {
- target = <&cam_module0_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx274 30-001a";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a";
- };
- };
- override@3 {
- target = <&cam_module0_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- override@4 {
- target = <&imx274_cam1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@5 {
- target = <&cam_module1>;
- _overlay_ {
- status = "okay";
- badge = "imx274_top_A6V26";
- position = "top";
- orientation = "0";
- };
- };
- override@6 {
- target = <&cam_module1_drivernode0>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx274 31-001a";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@1/imx274_c@1a";
- };
- };
- override@7 {
- target = <&cam_module1_drivernode1>;
- _overlay_ {
- status = "okay";
- pcl_id = "v4l2_lens";
- proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
- };
- };
- /* Enable VI ports */
- override@8 {
- target = <&capture_vi_base>;
- _overlay_ {
- num-channels=<2>;
- };
- };
- override@9 {
- target = <&vi_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@10 {
- target = <&vi_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@11 {
- target = <&liimx274_vi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out0>;
- };
- };
- override@12 {
- target = <&liimx274_vi_in1>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_csi_out1>;
- };
- };
- /* Enable CSI ports */
- override@13{
- target = <&csi_base>;
- _overlay_ {
- num-channels=<2>;
- };
- };
- override@14 {
- target = <&csi_chan0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@15 {
- target = <&csi_chan0_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@16 {
- target = <&liimx274_csi_in0>;
- _overlay_ {
- status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out0>;
- };
- };
- override@17 {
- target = <&csi_chan0_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@18 {
- target = <&liimx274_csi_out0>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&liimx274_vi_in0>;
- };
- };
- override@19 {
- target = <&csi_chan1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@20 {
- target = <&csi_chan1_port0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@21 {
- target = <&liimx274_csi_in1>;
- _overlay_ {
- status = "okay";
- port-index = <2>;
- bus-width = <4>;
- remote-endpoint = <&liimx274_imx274_out1>;
- };
- };
- override@22 {
- target = <&csi_chan1_port1>;
- _overlay_ {
- status = "okay";
- };
- };
- override@23 {
- target = <&liimx274_csi_out1>;
- _overlay_ {
- status = "okay";
- remote-endpoint = <&liimx274_vi_in1>;
- };
- };
- /* tegra-camera-platform settings */
- override@24 {
- target = <&tcp>;
- _overlay_ {
- num_csi_lanes = <8>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
- };
- };
- /* pca9646 i2c mux */
- override@25 {
- target = <&tca9546_70>;
- _overlay_ {
- status = "okay";
- vcc-pullup-supply = <&battery_reg>;
- };
- };
- /* GPIO */
- override@26 {
- target = <&{/gpio@2200000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- status = "disabled";
- };
- camera-control-output-high {
- gpio-hog;
- gpios = ;
- label = "cam0-rst", "cam1-rst";
- output-high;
- status = "okay";
- };
- };
- };
- };
-
- /* E3331 camera board */
- fragment-e3331@0 {
- ids = "3331-*";
- /* VI number of channels */
- override@0 {
- target = <&capture_vi_base>;
- _overlay_ {
- num-channels=<1>; /* TODO change to 3 */
- };
- };
- /* CSI number of channels */
- override@1 {
- target = <&csi_base>;
- _overlay_ {
- num-channels=<1>; /* TODO change to 3 */
- };
- };
- /* tegra-camera-platform settings */
- override@2 {
- target = <&tcp>;
- _overlay_ {
- num_csi_lanes = <3>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- max_pixel_rate = <160000>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
- };
- };
- /* TCA9546 */
- override@4 {
- target = <&tca9546_70>;
- _overlay_ {
- status = "okay";
- vcc-pullup-supply = <&battery_reg>;
- };
- };
- /* Camera 0: Module */
- override@5 {
- target = <&e3331_cam0>;
+ override@51 {
+ target = <&csi_chan2_port1>;
_overlay_ {
status = "okay";
};
};
- override@6 {
- target = <&cam_module0>;
+ override@52 {
+ target = <&e3326_csi_out2>;
_overlay_ {
status = "okay";
- badge = "e3331_rear_22N02A";
- position = "rear";
- orientation = "1";
+ remote-endpoint = <&e3326_vi_in2>;
};
};
- override@7 {
- target = <&cam_module0_drivernode0>;
+ override@53 {
+ target = <&csi_chan3>;
_overlay_ {
status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx318 30-0010";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx318_a@10";
};
};
- /* Camera 0: VI */
- override@9 {
- target = <&vi_port0>;
+ override@54 {
+ target = <&csi_chan3_port0>;
_overlay_ {
status = "okay";
};
};
- override@10 {
- target = <&e3331_vi_in0>;
+ override@55 {
+ target = <&e3326_csi_in3>;
_overlay_ {
status = "okay";
port-index = <0>;
- bus-width = <3>;
- remote-endpoint = <&e3331_csi_out0>;
- };
- };
- /* Camera 0: CSI */
- override@11 {
- target = <&csi_chan0>;
- _overlay_ {
- status = "okay";
- };
- };
- override@12 {
- target = <&csi_chan0_port0>;
- _overlay_ {
- status = "okay";
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out3>;
};
};
- override@13 {
- target = <&e3331_csi_in0>;
+ override@56 {
+ target = <&csi_chan3_port1>;
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <3>;
- remote-endpoint = <&e3331_imx318_out0>;
};
};
- override@14 {
- target = <&csi_chan0_port1>;
+ override@57 {
+ target = <&e3326_csi_out3>;
_overlay_ {
status = "okay";
+ remote-endpoint = <&e3326_vi_in3>;
};
};
- override@15 {
- target = <&e3331_csi_out0>;
+ override@58 {
+ target = <&csi_chan4>;
_overlay_ {
status = "okay";
- remote-endpoint = <&e3331_vi_in0>;
- };
- };
- /* GPIO */
- override@71 {
- target = <&{/gpio@2200000}>;
- _overlay_ {
- camera-control-input {
- status = "disabled";
- };
- camera-control-output-low {
- gpio-hog;
- gpios = ;
- /* */
- label = "cam0-rst";
- /*"cam1-rst", "cam2-rst";*/
- output-low;
- status = "okay";
- };
- camera-control-output-high {
- status = "disabled";
- };
};
};
- };
-
- /* E3377 camera board */
- fragment-e3377@0 {
- ids = "3377-1000-*";
- override@0 {
- target = <&e3377_cam0>;
+ override@59 {
+ target = <&csi_chan4_port0>;
_overlay_ {
status = "okay";
};
};
- override@1 {
- target = <&cam_module0>;
+ override@60 {
+ target = <&e3326_csi_in4>;
_overlay_ {
status = "okay";
- badge = "e3377_rear_IMX204";
- position = "rear";
- orientation = "1";
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out4>;
};
};
- override@2 {
- target = <&cam_module0_drivernode0>;
+ override@61 {
+ target = <&csi_chan4_port1>;
_overlay_ {
status = "okay";
- pcl_id = "v4l2_sensor";
- devname = "imx204_spi";
- proc-device-tree = "/proc/device-tree/spi@c260000/imx204@0";
};
};
- /* Enable VI ports */
- override@4 {
- target = <&capture_vi_base>;
- _overlay_ {
- num-channels=<1>;
- };
- };
- override@5 {
- target = <&vi_port0>;
+ override@62 {
+ target = <&e3326_csi_out4>;
_overlay_ {
status = "okay";
+ remote-endpoint = <&e3326_vi_in4>;
};
};
- override@6 {
- target = <&e3377_vi_in0>;
+ override@63 {
+ target = <&csi_chan5>;
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e3377_slvs_ec_out0>;
};
};
- /* Enable SLVS-EC ports */
- override@8 {
- target = <&slvs_ec_stream0>;
+ override@64 {
+ target = <&csi_chan5_port0>;
_overlay_ {
status = "okay";
};
};
- override@9 {
- target = <&slvs_ec_stream0_port0>;
+ override@65 {
+ target = <&e3326_csi_in5>;
_overlay_ {
status = "okay";
+ port-index = <2>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out5>;
};
};
- override@10 {
- target = <&e3377_slvs_ec_in0>;
+ override@66 {
+ target = <&csi_chan5_port1>;
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <8>;
- remote-endpoint = <&e3377_imx204_out0>;
};
};
- override@11 {
- target = <&slvs_ec_stream0_port1>;
+ override@67 {
+ target = <&e3326_csi_out5>;
_overlay_ {
status = "okay";
+ remote-endpoint = <&e3326_vi_in5>;
};
};
- override@12 {
- target = <&e3377_slvs_ec_out0>;
+ /* tegra-camera-platform settings */
+ override@68 {
+ target = <&tcp>;
_overlay_ {
- status = "okay";
- remote-endpoint = <&e3377_vi_in0>;
+ num_csi_lanes = <12>;
+ //max_lane_speed = <1500000>; //delete by wyf
+ max_lane_speed = <1600000>; //add by wyf
+ min_bits_per_pixel = <10>;
+ vi_peak_byte_per_pixel = <2>;
+ vi_bw_margin_pct = <25>;
+ isp_peak_byte_per_pixel = <5>;
+ isp_bw_margin_pct = <25>;
};
};
/* GPIO */
- override@14 {
+ override@69 {
target = <&{/gpio@2200000}>;
_overlay_ {
camera-control-input {
@@ -1740,8 +614,11 @@
};
camera-control-output-low {
gpio-hog;
- gpios = ;
- label = "slvs-cam0-rst";
+
+ gpios = ;
+ label = "cam0-rst", "cam0-pwdn",
+ "cam1-rst", "cam1-pwdn";
output-low;
status = "okay";
};
@@ -1750,159 +627,202 @@
};
};
};
- override@15 {
- target = <&spi_cam0>;
+ override@70 {
+ target = <&{/gpio@c2f0000}>;
_overlay_ {
- status = "okay";
+ camera-control-input {
+ status = "disabled";
+ };
};
};
- };
+ /* pca9646 i2c mux */
+ override@71 {
+ target = <&tca9546_70>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@72 {
+ target = <&e3326_cam6>;
- /* IMX185 module */
- fragment-imx185@0 {
- ids = "LPRD-002001";
- override@0 {
- target = <&imx185_cam0>;
_overlay_ {
status = "okay";
};
};
- override@1 {
- target = <&cam_module0>;
+
+ override@73 {
+ target = <&cam_module6>;
+
_overlay_ {
status = "okay";
- badge = "imx185_bottom_liimx185";
+ badge = "e3326_bottom_P5V27C";
position = "bottom";
- orientation = "0";
+ orientation = [32 00];
};
};
- override@2 {
- target = <&cam_module0_drivernode0>;
+
+ override@74 {
+ target = <&cam_module6_drivernode0>;
+
_overlay_ {
status = "okay";
pcl_id = "v4l2_sensor";
- devname = "imx185 30-001a";
- proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a";
+ devname = "ov5693 32-0030";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/ov5693_e@3d";
};
};
- override@3 {
- target = <&cam_module0_drivernode1>;
+
+ override@75 {
+ target = <&cam_module6_drivernode1>;
+
_overlay_ {
status = "okay";
pcl_id = "v4l2_lens";
};
};
- /* Enable VI ports */
- override@4 {
- target = <&capture_vi_base>;
+ override@76 {
+ target = <&e3326_cam7>;
+
_overlay_ {
- num-channels=<1>;
+ status = "okay";
};
};
- override@5 {
- target = <&vi_port0>;
+
+ override@77 {
+ target = <&cam_module7>;
+
_overlay_ {
status = "okay";
+ badge = "e3326_top_P5V27C";
+ position = "top";
+ orientation = [32 00];
};
};
- override@6 {
- target = <&liimx185_vi_in0>;
+
+ override@78 {
+ target = <&cam_module7_drivernode0>;
+
_overlay_ {
status = "okay";
- port-index = <0>;
- bus-width = <4>;
- remote-endpoint = <&liimx185_csi_out0>;
+ pcl_id = "v4l2_sensor";
+ devname = "ov5693 32-0031";
+ proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@2/ov5693_e@3e";
};
};
- /* Enable CSI ports */
- override@7 {
- target = <&csi_base>;
+
+ override@79 {
+ target = <&cam_module7_drivernode1>;
+
_overlay_ {
- num-channels=<1>;
+ status = "okay";
+ pcl_id = "v4l2_lens";
};
};
- override@8 {
- target = <&csi_chan0>;
+ override@80 {
+ target = <&vi_port6>;
_overlay_ {
status = "okay";
};
};
- override@9 {
- target = <&csi_chan0_port0>;
+ override@81 {
+ target = <&vi_port7>;
_overlay_ {
status = "okay";
};
};
- override@10 {
- target = <&liimx185_csi_in0>;
+ override@82 {
+ target = <&e3326_vi_in6>;
_overlay_ {
status = "okay";
- port-index = <0>;
+ vc-id = <0>;
+ port-index = <4>;
bus-width = <4>;
- remote-endpoint = <&liimx185_imx185_out0>;
+ remote-endpoint = <&e3326_csi_out6>;
};
};
- override@11 {
- target = <&csi_chan0_port1>;
+ override@83 {
+ target = <&e3326_vi_in7>;
_overlay_ {
status = "okay";
+ vc-id = <1>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_csi_out7>;
};
};
- override@12 {
- target = <&liimx185_csi_out0>;
+ override@84 {
+ target = <&csi_chan6>;
_overlay_ {
status = "okay";
- remote-endpoint = <&liimx185_vi_in0>;
};
};
- /* tegra-camera-platform settings */
- override@13 {
- target = <&tcp>;
+ override@85 {
+ target = <&csi_chan6_port0>;
_overlay_ {
- num_csi_lanes = <4>;
- max_lane_speed = <1500000>;
- min_bits_per_pixel = <10>;
- vi_peak_byte_per_pixel = <2>;
- vi_bw_margin_pct = <25>;
- isp_peak_byte_per_pixel = <5>;
- isp_bw_margin_pct = <25>;
+ status = "okay";
};
};
- /* pca9646 i2c mux */
- override@14 {
- target = <&tca9546_70>;
+ override@87 {
+ target = <&e3326_csi_in6>;
_overlay_ {
status = "okay";
- vcc-pullup-supply = <&battery_reg>;
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out6>;
};
};
- /* GPIO expander */
- override@15 {
- target = <&pca9570_a_24>;
+ override@88 {
+ target = <&csi_chan6_port1>;
_overlay_ {
status = "okay";
};
};
- override@16 {
- target = <&imx390_cam0>;
+ override@89 {
+ target = <&e3326_csi_out6>;
_overlay_ {
- status = "disabled";
+ status = "okay";
+ remote-endpoint = <&e3326_vi_in6>;
};
};
- override@17 {
- target = <&imx390_cam1>;
+ override@90 {
+ target = <&csi_chan7>;
_overlay_ {
- status = "disabled";
+ status = "okay";
};
};
- override@18 {
- target = <&cam_module1>;
+ override@91 {
+ target = <&csi_chan7_port0>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@92 {
+ target = <&e3326_csi_in7>;
+ _overlay_ {
+ status = "okay";
+ port-index = <4>;
+ bus-width = <4>;
+ remote-endpoint = <&e3326_ov5693_out7>;
+ };
+ };
+ override@93 {
+ target = <&csi_chan7_port1>;
+ _overlay_ {
+ status = "okay";
+ };
+ };
+ override@94 {
+ target = <&e3326_csi_out7>;
_overlay_ {
- status = "disabled";
+ status = "okay";
+ remote-endpoint = <&e3326_vi_in7>;
};
};
+
};
+
+
/* CAM0_RST pin - this section must be after all sensor board overrides */
fragment-p2822-cam0-rst@0 {
ids = "<2822-0000-500";
@@ -1919,55 +839,17 @@
"slvs-cam0-rst";
};
};
- override@1 {
- target = <&{/gpio@2200000/camera-control-output-high}>;
- _overlay_ {
- gpios = ;
- label = "cam0-rst", "cam1-rst";
- };
- };
- /* E3326 */
- override@2 {
- target = <&{/i2c@3180000/ov5693_c@36}>;
- _overlay_ {
- reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
- };
- };
- /* E3331 */
- override@3 {
- target = <&{/i2c@3180000/tca9546@70/i2c@0/imx318_a@10}>;
- _overlay_ {
- reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
- };
- };
- /* E3333 */
- override@4 {
- target = <&{/i2c@3180000/tca9548@77/i2c@0/ov5693_a@36}>;
- _overlay_ {
- reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
- };
- };
+
/* IMX185 */
- override@5 {
- target = <&{/i2c@3180000/tca9546@70/i2c@0/imx185_a@1a}>;
- _overlay_ {
- reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
- };
- };
- /* IMX274, Dual IMX274 */
- override@6 {
- target = <&{/i2c@3180000/tca9546@70/i2c@0/imx274_a@1a}>;
- _overlay_ {
- reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
- };
- };
- /* IMX390 */
- override@7 {
- target = <&{/i2c@3180000/tca9546@70/i2c@0/imx390_a@1b}>;
+ /*
+ override@1 {
+ target = <&{/i2c@3180000/tca9546@70/i2c@0/ov5693_a@30}>;
_overlay_ {
reset-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
};
};
+ */
+
};
};
};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/Makefile b/hardware/nvidia/platform/t19x/galen/kernel-dts/Makefile
index 0813e1a..d92fd30 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/Makefile
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/Makefile
@@ -14,29 +14,29 @@ BUILD_18x_ENABLE=y
endif
dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-imx274-hdmi.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-imx185_v1.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-maxn.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-e3366-1199.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0006-e3366-1199.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-as-0006-p2822-0000.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-as-p3668-p2822-0000.dtb
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-hdr40.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-adafruit-sph0645lm4h.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-adafruit-uda1334a.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-fe-pi-audio.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-respeaker-4-mic-array.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-respeaker-4-mic-lin-array.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-m2ke.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-csi.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0005-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-dual-imx274-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e3331-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e3333-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-imx185-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-imx390-overlay.dtbo
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e2832-overlay.dtbo
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-imx274-hdmi.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-imx185_v1.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-maxn.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-e3366-1199.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0006-e3366-1199.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-as-0006-p2822-0000.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-as-p3668-p2822-0000.dtb
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-hdr40.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-adafruit-sph0645lm4h.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-adafruit-uda1334a.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-fe-pi-audio.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-respeaker-4-mic-array.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-respeaker-4-mic-lin-array.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-m2ke.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0001-p2822-0000-csi.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0005-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-dual-imx274-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e3331-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e3333-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-imx185-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-imx390-overlay.dtbo
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2822-camera-e2832-overlay.dtbo
ifneq ($(dtb-y),)
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-e3366-1199-a00.dtsi b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-e3366-1199-a00.dtsi
index 91bd938..29faa80 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-e3366-1199-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-e3366-1199-a00.dtsi
@@ -180,7 +180,7 @@
ports {
usb2-0 {
- mode = "otg";
+ mode = "host";
status = "okay";
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
usb-role-switch;
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-a00.dtsi b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-a00.dtsi
index 8bdcff8..ec8ff37 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-a00.dtsi
@@ -25,7 +25,7 @@
cd-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(G, 7) 0>;
nvidia,cd-wakeup-capable;
nvidia,vmmc-always-on;
- status = "okay";
+ status = "disabled";
};
gpio-keys {
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-camera-e3326-a00.dtsi b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-camera-e3326-a00.dtsi
index 94ce243..a1ff8e6 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-camera-e3326-a00.dtsi
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-0000-camera-e3326-a00.dtsi
@@ -18,35 +18,217 @@
#define CAM0_RST_L TEGRA194_MAIN_GPIO(H, 3)
#define CAM0_PWDN TEGRA194_MAIN_GPIO(H, 6)
+/* it's F7 GPIO1_CAM1_PWR */
+#define CAM2_PWDN TEGRA194_MAIN_GPIO(N, 2)
+/* it's H7 GPIO1_CAM1_RST */
+#define CAM2_RST_L TEGRA194_MAIN_GPIO(R, 1)
/* camera control gpio definitions */
/ {
+ gpio_i2c_0_77: gpio@77 {
+ compatible = "ti,tca9539";
+ reg = <0x77>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ vcc-supply = <&battery_reg>;
+ };
+ en_vdd_cam: regulator@2 {
+ compatible = "regulator-fixed-sync";
+ reg = <2>;
+ regulator-name = "en-vdd-cam";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ gpio = <&gpio_i2c_0_77 9 1>;
+ enable-active-high;
+ };
i2c@3180000 {
- ov5693_c@36 {
- /* Define any required hw resources needed by driver */
- /* ie. clocks, io pins, power sources */
- /* mclk-index indicates the index of the */
- /* mclk-name with in the clock-names array */
-
- clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
- <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
- clock-names = "extperiph1", "pllp_grtba";
- mclk = "extperiph1";
- clock-frequency = <24000000>;
- reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
- pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
- vana-supply = <&p2822_avdd_cam_2v8>;
- vif-supply = <&p2822_vdd_1v8_cvb>;
+ tca9546_70: tca9546@70 {
+ compatible = "nxp,pca9546";
+ reg = <0x70>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ skip_mux_detect;
+ vif-supply = <&en_vdd_cam>;
+ /*vcc_lp = "vif";*/
+ i2c@0 {
+ reg = <0>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@1 {
+ reg = <1>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@2 {
+ reg = <2>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ tca9546@70 {
+ i2c@0 {
+
+ ov5693_a@30 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ ov5693_a@31 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ ov5693_a@32 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ ov5693_a@33 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ };
+ i2c@1 {
+ ov5693_c@36 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ ov5693_c@37 {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+
+ };
+ i2c@2 {
+ ov5693_e@3d {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ ov5693_e@3e {
+ /* Define any required hw resources needed by driver */
+ /* ie. clocks, io pins, power sources */
+ /* mclk-index indicates the index of the */
+ /* mclk-name with in the clock-names array */
+
+ clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
+ <&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
+ clock-names = "extperiph1", "pllp_grtba";
+ mclk = "extperiph1";
+ clock-frequency = <24000000>;
+ reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
+ pwdn-gpios = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
+ vana-supply = <&p2822_avdd_cam_2v8>;
+ vif-supply = <&p2822_vdd_1v8_cvb>;
+ };
+ };
};
};
gpio@2200000 {
+ /*
camera-control-output-low {
gpio-hog;
output-low;
gpios = ;
label = "cam0-rst", "cam0-pwdn";
};
+ */
+ camera-control-output-low {
+ status = "disabled";
+ };
+ camera-control-output-high {
+ gpio-hog;
+ gpios = ;
+ label = "cam2-rst", "cam2-pwdn";
+ output-high;
+ status = "okay";
+ };
+
};
};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-camera-modules.dtsi b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-camera-modules.dtsi
index 23c605d..91a7287 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-camera-modules.dtsi
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2822-camera-modules.dtsi
@@ -14,14 +14,14 @@
* along with this program. If not, see .
*/
-#include "tegra194-p2822-0000-camera-e3377-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-e3377-a00.dtsi"
#include "tegra194-p2822-0000-camera-e3326-a00.dtsi"
-#include "tegra194-p2822-0000-camera-e3333-a00.dtsi"
-#include "tegra194-p2822-0000-camera-e3331-a00.dtsi"
-#include "tegra194-p2822-0000-camera-imx274-dual.dtsi"
-#include "tegra194-p2822-0000-camera-imx274-a00.dtsi"
-#include "tegra194-p2822-0000-camera-imx185-a00.dtsi"
-#include "tegra194-p2822-0000-camera-imx390-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-e3333-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-e3331-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-imx274-dual.dtsi"
+//#include "tegra194-p2822-0000-camera-imx274-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-imx185-a00.dtsi"
+//#include "tegra194-p2822-0000-camera-imx390-a00.dtsi"
#include "tegra194-e2832-hdmi.dtsi"
#include "tegra194-p2822-0000-camera-vivid.dtsi"
@@ -49,163 +49,209 @@
gpio-hog;
output-low;
gpios = ;
+ CAM1_RST_L 0 CAM1_PWDN 0>;
label = "cam0-rst", "cam0-pwdn",
- "cam1-rst", "cam1-pwdn",
- "slvs-cam0-rst";
+ "cam1-rst", "cam1-pwdn";
};
};
/* all cameras are disabled by default */
capture_vi_base: tegra-capture-vi {
- ports {
- vi_port0: port@0 {
- status = "disabled";
- vi_in0: endpoint {
- vc-id = <0>;
- status = "disabled";
+ num-channels = <8>;
+ ports {
+ vi_port0: port@0 {
+ status = "okay";
+ e3326_vi_in0: endpoint {
+ vc-id = <0>;
+ status = "okay";
+ };
};
- };
- vi_port1: port@1 {
- status = "disabled";
- vi_in1: endpoint {
- vc-id = <0>;
- status = "disabled";
+ vi_port1: port@1 {
+ status = "okay";
+ e3326_vi_in1: endpoint {
+ vc-id = <1>;
+ status = "okay";
+ };
};
- };
- vi_port2: port@2 {
- status = "disabled";
- vi_in2: endpoint {
- vc-id = <0>;
- status = "disabled";
+ vi_port2: port@2 {
+ status = "okay";
+ e3326_vi_in2: endpoint {
+ vc-id = <2>;
+ status = "okay";
+ };
};
- };
- vi_port3: port@3 {
- status = "disabled";
- vi_in3: endpoint {
- vc-id = <0>;
- status = "disabled";
+ vi_port3: port@3 {
+ status = "okay";
+ e3326_vi_in3: endpoint {
+ vc-id = <3>;
+ status = "okay";
+ };
};
- };
- vi_port4: port@4 {
- status = "disabled";
- vi_in4: endpoint {
- vc-id = <0>;
- status = "disabled";
+ vi_port4: port@4 {
+ status = "okay";
+ e3326_vi_in4: endpoint {
+ vc-id = <0>;
+ status = "okay";
+ };
};
- };
- vi_port5: port@5 {
- status = "disabled";
- vi_in5: endpoint {
- vc-id = <0>;
- status = "disabled";
+ vi_port5: port@5 {
+ status = "okay";
+ e3326_vi_in5: endpoint {
+ vc-id = <1>;
+ status = "okay";
+ };
+ };
+ vi_port6: port@6 {
+ status = "okay";
+ e3326_vi_in6: endpoint {
+ vc-id = <0>;
+ status = "okay";
+ };
+ };
+ vi_port7: port@7 {
+ status = "okay";
+ e3326_vi_in7: endpoint {
+ vc-id = <1>;
+ status = "okay";
+ };
};
};
};
- };
host1x@13e00000 {
csi_base: nvcsi@15a00000 {
- num-tpg-channels = <36>;
csi_chan0: channel@0 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan0_port0: port@0 {
- status = "disabled";
- csi_in0: endpoint@0 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in0: endpoint@0 {
+ status = "okay";
};
};
csi_chan0_port1: port@1 {
- status = "disabled";
- csi_out0: endpoint@1 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out0: endpoint@1 {
+ status = "okay";
};
};
};
};
csi_chan1: channel@1 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan1_port0: port@0 {
- status = "disabled";
- csi_in1: endpoint@2 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in1: endpoint@2 {
+ status = "okay";
};
};
csi_chan1_port1: port@1 {
- status = "disabled";
- csi_out1: endpoint@3 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out1: endpoint@3 {
+ status = "okay";
};
};
};
};
csi_chan2: channel@2 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan2_port0: port@0 {
- status = "disabled";
- csi_in2: endpoint@4 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in2: endpoint@4 {
+ status = "okay";
};
};
csi_chan2_port1: port@1 {
- status = "disabled";
- csi_out2: endpoint@5 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out2: endpoint@5 {
+ status = "okay";
};
};
};
};
csi_chan3: channel@3 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan3_port0: port@0 {
- status = "disabled";
- csi_in3: endpoint@6 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in3: endpoint@6 {
+ status = "okay";
};
};
csi_chan3_port1: port@1 {
- status = "disabled";
- csi_out3: endpoint@7 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out3: endpoint@7 {
+ status = "okay";
};
};
};
};
csi_chan4: channel@4 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan4_port0: port@0 {
- status = "disabled";
- csi_in4: endpoint@8 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in4: endpoint@8 {
+ status = "okay";
};
};
csi_chan4_port1: port@1 {
- status = "disabled";
- csi_out4: endpoint@9 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out4: endpoint@9 {
+ status = "okay";
};
};
};
};
csi_chan5: channel@5 {
- status = "disabled";
+ status = "okay";
ports {
csi_chan5_port0: port@0 {
- status = "disabled";
- csi_in5: endpoint@10 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_in5: endpoint@10 {
+ status = "okay";
};
};
csi_chan5_port1: port@1 {
- status = "disabled";
- csi_out5: endpoint@11 {
- status = "disabled";
+ status = "okay";
+ e3326_csi_out5: endpoint@11 {
+ status = "okay";
+ };
+ };
+ };
+ };
+ csi_chan6: channel@6 {
+ status = "okay";
+ ports {
+ csi_chan6_port0: port@0 {
+ status = "okay";
+ e3326_csi_in6: endpoint@12 {
+ status = "okay";
+ };
+ };
+ csi_chan6_port1: port@1 {
+ status = "okay";
+ e3326_csi_out6: endpoint@13 {
+ status = "okay";
+ };
+ };
+ };
+ };
+ csi_chan7: channel@7 {
+ status = "okay";
+ ports {
+ csi_chan7_port0: port@0 {
+ status = "okay";
+ e3326_csi_in7: endpoint@14 {
+ status = "okay";
+ };
+ };
+ csi_chan7_port1: port@1 {
+ status = "okay";
+ e3326_csi_out7: endpoint@15 {
+ status = "okay";
};
};
};
@@ -236,9 +282,6 @@
};
i2c@3180000 {
- e3326_cam0: ov5693_c@36 {
- status = "disabled";
- };
e2832_cam0: e2832@2b {
status = "disabled";
};
@@ -247,11 +290,7 @@
};
tca9548@77 {
status = "disabled";
- i2c@0 {
- e3333_cam0: ov5693_a@36 {
- status = "disabled";
- };
- };
+
i2c@1 {
e3333_cam1: ov5693_b@36 {
status = "disabled";
@@ -318,7 +357,41 @@
};
};
};
- };
+ tca9546_70: tca9546@70 {
+ status = "okay";
+ i2c@0 {
+ e3326_cam0: ov5693_a@30 {
+ status = "okay";
+ };
+ e3326_cam1: ov5693_a@31 {
+ status = "okay";
+ };
+ e3326_cam2: ov5693_a@32 {
+ status = "okay";
+ };
+ e3326_cam3: ov5693_a@33 {
+ status = "okay";
+ };
+ };
+ i2c@1 {
+ e3326_cam4: ov5693_c@36 {
+ status = "okay";
+ };
+ e3326_cam5: ov5693_c@37 {
+ status = "okay";
+ };
+ };
+ i2c@2 {
+ e3326_cam6: ov5693_e@3d {
+ status = "okay";
+ };
+ e3326_cam7: ov5693_e@3e {
+ status = "okay";
+ };
+ };
+ };
+
+ };
spi_cam0: spi@c260000 {
e3377_cam0: imx204@0 {
@@ -330,62 +403,82 @@
compatible = "nvidia, tegra-camera-platform";
modules {
cam_module0: module0 {
- status = "disabled";
+ status = "okay";
cam_module0_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module0_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
cam_module1: module1 {
- status = "disabled";
+ status = "okay";
cam_module1_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module1_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
cam_module2: module2 {
- status = "disabled";
+ status = "okay";
cam_module2_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module2_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
cam_module3: module3 {
- status = "disabled";
+ status = "okay";
cam_module3_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module3_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
cam_module4: module4 {
- status = "disabled";
+ status = "okay";
cam_module4_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module4_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
cam_module5: module5 {
- status = "disabled";
+ status = "okay";
cam_module5_drivernode0: drivernode0 {
- status = "disabled";
+ status = "okay";
};
cam_module5_drivernode1: drivernode1 {
- status = "disabled";
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ };
+ };
+ cam_module6: module6 {
+ status = "okay";
+ cam_module6_drivernode0: drivernode0 {
+ status = "okay";
+ };
+ cam_module6_drivernode1: drivernode1 {
+ status = "okay";
+ pcl_id = "v4l2_lens";
+ };
+ };
+ cam_module7: module7 {
+ status = "okay";
+ cam_module7_drivernode0: drivernode0 {
+ status = "okay";
+ };
+ cam_module7_drivernode1: drivernode1 {
+ status = "okay";
pcl_id = "v4l2_lens";
};
};
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi
index 5d2d33a..7ee7add 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi
@@ -216,7 +216,7 @@
ports {
usb2-0 {
- mode = "otg";
+ mode = "host";
usb-role-switch;
status = "okay";
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-0001-p2822-0000.dts b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-0001-p2822-0000.dts
index a46befc..326df85 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-0001-p2822-0000.dts
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-0001-p2822-0000.dts
@@ -19,6 +19,7 @@
*/
#include "common/tegra194-p2888-0001-p2822-0000-common.dtsi"
#include "common/tegra194-p2822-camera-modules.dtsi"
+//#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
#include "common/tegra194-audio-p2822-0000.dtsi"
#if defined(LINUX_VERSION) && LINUX_VERSION >= 419
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-0006-p2822-0000.dts b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-0006-p2822-0000.dts
index 5c148ae..a2e2368 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-0006-p2822-0000.dts
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-0006-p2822-0000.dts
@@ -20,7 +20,7 @@
#include "common/tegra194-p2888-0001-p2822-0000-common.dtsi"
#include "common/tegra194-p2822-camera-modules.dtsi"
-#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
+//#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
#include "dt-bindings/soc/gv11b-fuse.h"
#include "common/tegra194-p2888-0006-p2822-common.dtsi"
#include "common/tegra194-audio-p2822-0000.dtsi"
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-p3668-p2822-0000.dts b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-p3668-p2822-0000.dts
index 956b8cb..0792c97 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-p3668-p2822-0000.dts
+++ b/hardware/nvidia/platform/t19x/galen/kernel-dts/tegra194-p2888-as-p3668-p2822-0000.dts
@@ -20,7 +20,7 @@
#include "common/tegra194-p2888-0001-p2822-0000-common.dtsi"
#include "common/tegra194-p2822-camera-modules.dtsi"
-#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
+//#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
#include "dt-bindings/soc/gv11b-fuse.h"
#include "common/tegra194-audio-p2822-0000.dtsi"
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen-industrial/kernel-dts/Makefile b/hardware/nvidia/platform/t19x/galen-industrial/kernel-dts/Makefile
index d85a973..3e921fa 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/galen-industrial/kernel-dts/Makefile
+++ b/hardware/nvidia/platform/t19x/galen-industrial/kernel-dts/Makefile
@@ -13,12 +13,12 @@ ifneq ($(filter y,$(CONFIG_ARCH_TEGRA_18x_SOC) $(CONFIG_ARCH_TEGRA_186_SOC)),)
BUILD_18x_ENABLE=y
endif
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-e3366-1199.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-maxn.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-noecc.dtb
-dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-safety.dtb
-dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-overlay.dtbo
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-e3366-1199.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-maxn.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-noecc.dtb
+#dtb-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-safety.dtb
+#dtbo-$(BUILD_19x_ENABLE) += tegra194-p2888-0008-p2822-0000-overlay.dtbo
ifneq ($(dtb-y),)
dtb-y := $(addprefix $(makefile-path)/,$(dtb-y))
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/jakku/kernel-dts/Makefile b/hardware/nvidia/platform/t19x/jakku/kernel-dts/Makefile
index 925e46f..e8689bd 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/jakku/kernel-dts/Makefile
+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/Makefile
@@ -9,21 +9,21 @@ ifneq ($(filter y,$(CONFIG_ARCH_TEGRA_19x_SOC) $(CONFIG_ARCH_TEGRA_194_SOC)),)
BUILD_ENABLE=y
endif
-dtb-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000.dtb
-dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000.dtb
-dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000.dtb
-dtb-$(CONFIG_ARCH_TEGRA_19x_SOC) += tegra194-p3668-all-p3509-0000-kexec.dtb
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-hdr40.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-adafruit-uda1334a.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-fe-pi-audio.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-respeaker-4-mic-array.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-respeaker-4-mic-lin-array.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-m2ke.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx477-imx219.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx477-dual.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx219-dual.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p3668-p3509-overlay.dtbo
+#dtb-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000.dtb
+#dtb-$(BUILD_ENABLE) += tegra194-p3668-0000-p3509-0000.dtb
+#dtb-$(BUILD_ENABLE) += tegra194-p3668-0001-p3509-0000.dtb
+#dtb-$(CONFIG_ARCH_TEGRA_19x_SOC) += tegra194-p3668-all-p3509-0000-kexec.dtb
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-hdr40.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-adafruit-uda1334a.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-fe-pi-audio.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-respeaker-4-mic-array.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-respeaker-4-mic-lin-array.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-m2ke.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx477-imx219.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx477-dual.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-all-p3509-0000-camera-imx219-dual.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p3668-p3509-overlay.dtbo
ifneq ($(dtb-y),)
dtb-y := $(addprefix $(makefile-path)/,$(dtb-y))
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
index 36ebc4d..7733650 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
+++ b/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsi
@@ -145,7 +145,7 @@
ports {
usb2-0 {
- mode = "otg";
+ mode = "host";
status = "okay";
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
usb-role-switch;
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/Makefile b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/Makefile
index 6adf90f..5e5083c 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/Makefile
+++ b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/Makefile
@@ -11,16 +11,16 @@ ifneq ($(filter y,$(CONFIG_ARCH_TEGRA_19x_SOC) $(CONFIG_ARCH_TEGRA_194_SOC)),)
BUILD_ENABLE=y
endif
-dtb-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000.dtb
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-hdr40.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-adafruit-sph0645lm4h.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-adafruit-uda1334a.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-fe-pi-audio.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-respeaker-4-mic-array.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-respeaker-4-mic-lin-array.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-csi.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-dual-imx274.dtbo
-dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-imx274.dtbo
+#dtb-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000.dtb
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-hdr40.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-adafruit-sph0645lm4h.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-adafruit-uda1334a.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-fe-pi-audio.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-respeaker-4-mic-array.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-respeaker-4-mic-lin-array.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-csi.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-dual-imx274.dtbo
+#dtbo-$(BUILD_ENABLE) += tegra194-p2888-0004-e3900-0000-imx274.dtbo
ifneq ($(dtb-y),)
dtb-y := $(addprefix $(makefile-path)/,$(dtb-y))
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/common/tegra194-p2888-0004-e3900-0000-common.dtsi b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/common/tegra194-p2888-0004-e3900-0000-common.dtsi
index 4ad3c48..1a59262 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/common/tegra194-p2888-0004-e3900-0000-common.dtsi
+++ b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/common/tegra194-p2888-0004-e3900-0000-common.dtsi
@@ -146,7 +146,7 @@
ports {
usb2-0 {
- mode = "otg";
+ mode = "host";
vbus-supply = <&e3900_atx_5v_cvb>;
status = "okay";
#if TEGRA_XUSB_DT_VERSION >= DT_VERSION_3
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/tegra194-p2888-0004-e3900-0000.dts b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/tegra194-p2888-0004-e3900-0000.dts
index 4a48a0c..1ed9346 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/platform/t19x/mccoy/kernel-dts/tegra194-p2888-0004-e3900-0000.dts
+++ b/hardware/nvidia/platform/t19x/mccoy/kernel-dts/tegra194-p2888-0004-e3900-0000.dts
@@ -15,7 +15,7 @@
#include "common/tegra194-p2888-0004-e3900-0000-common.dtsi"
#include "common/tegra194-camera-modules-e3900-0000.dtsi"
-#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
+//#include "t19x-common-modules/tegra194-camera-plugin-manager.dtsi"
#include "common/tegra194-plugin-manager-e3900-0000.dtsi"
#include "common/tegra194-pcie-e3900-0000.dtsi"
diff --git a/../../orin/kernel5.1/tmp/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-camera.dtsi b/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-camera.dtsi
index 279e5d6..4148963 100644
--- a/../../orin/kernel5.1/tmp/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-camera.dtsi
+++ b/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soc/tegra194-camera.dtsi
@@ -197,15 +197,10 @@
compatible = "nvidia,tegra-camrtc-capture-vi";
nvidia,vi-devices = <&vi>;
- nvidia,vi-mapping-size = <6>;
+ nvidia,vi-mapping-size = <1>;
/* T194 has only one VI so vi-unit-id should be set to 0 */
nvidia,vi-mapping =
- <0 0>,
- <1 0>,
- <2 0>,
- <3 0>,
- <4 0>,
- <5 0>;
+ <0 0>;
nvidia,vi-mapping-names = "csi-stream-id", "vi-unit-id";
nvidia,vi-max-channels = <36>;
};