forked from rrcarlosr/Jetpack
2178 lines
59 KiB
Plaintext
2178 lines
59 KiB
Plaintext
|
/* Econ device tree for AR1335 support */
|
||
|
#include "dt-bindings/clock/tegra194-clock.h"
|
||
|
#define CAM0_PWDN TEGRA194_MAIN_GPIO(H, 6)
|
||
|
/ {
|
||
|
|
||
|
/* set camera gpio direction to output */
|
||
|
gpio@2200000 {
|
||
|
camera-control-output-low {
|
||
|
gpio-hog;
|
||
|
output-low;
|
||
|
gpios = <CAM0_PWDN 0>;
|
||
|
label = "cam0-pwdn";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* all cameras are disabled by default */
|
||
|
host1x {
|
||
|
vi@15c10000 {
|
||
|
num-channels = <8>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in0: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <5>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out0>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in1: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <5>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@2 {
|
||
|
reg = <2>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in2: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out2>;
|
||
|
};
|
||
|
};
|
||
|
port@3 {
|
||
|
reg = <3>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in3: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out3>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
port@4 {
|
||
|
reg = <4>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in4: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out4>;
|
||
|
};
|
||
|
};
|
||
|
port@5 {
|
||
|
reg = <5>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in5: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out5>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
port@6 {
|
||
|
reg = <6>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in6: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out6>;
|
||
|
};
|
||
|
};
|
||
|
port@7 {
|
||
|
reg = <7>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in7: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out7>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
port@2 {
|
||
|
reg = <2>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in2: endpoint {
|
||
|
port-index = <2>;
|
||
|
bus-width = <2>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out2>;
|
||
|
};
|
||
|
};
|
||
|
port@3 {
|
||
|
reg = <3>;
|
||
|
status = "okay";
|
||
|
ecam_vi_in3: endpoint {
|
||
|
port-index = <0>;
|
||
|
bus-width = <2>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_csi_out3>;
|
||
|
};
|
||
|
};
|
||
|
*/
|
||
|
};
|
||
|
};
|
||
|
|
||
|
nvcsi@15a00000 {
|
||
|
num-channels = <8>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
status = "okay";
|
||
|
channel@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in0: endpoint@0 {
|
||
|
port-index = <6>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out0>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out0: endpoint@1 {
|
||
|
remote-endpoint = <&ecam_vi_in0>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
channel@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in1: endpoint@2 {
|
||
|
port-index = <6>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out1>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out1: endpoint@3 {
|
||
|
remote-endpoint = <&ecam_vi_in1>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
channel@2 {
|
||
|
reg = <2>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in2: endpoint@4 {
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out2>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out2: endpoint@5 {
|
||
|
remote-endpoint = <&ecam_vi_in2>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
channel@3 {
|
||
|
reg = <3>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in3: endpoint@6 {
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out3>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out3: endpoint@7 {
|
||
|
remote-endpoint = <&ecam_vi_in3>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
channel@4 {
|
||
|
reg = <4>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in4: endpoint@8 {
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out4>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out4: endpoint@9 {
|
||
|
remote-endpoint = <&ecam_vi_in4>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
channel@5 {
|
||
|
reg = <5>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in5: endpoint@10 {
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out5>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out5: endpoint@11 {
|
||
|
remote-endpoint = <&ecam_vi_in5>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
channel@6 {
|
||
|
reg = <6>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in6: endpoint@12 {
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out6>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out6: endpoint@13 {
|
||
|
remote-endpoint = <&ecam_vi_in6>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
channel@7 {
|
||
|
reg = <7>;
|
||
|
status = "okay";
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
status = "okay";
|
||
|
ecam_csi_in7: endpoint@14 {
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
status = "okay";
|
||
|
remote-endpoint = <&ecam_ar0330_out7>;
|
||
|
};
|
||
|
};
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
status = "okay";
|
||
|
ecam_csi_out7: endpoint@15 {
|
||
|
remote-endpoint = <&ecam_vi_in7>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
};
|
||
|
};
|
||
|
i2c@3180000 {
|
||
|
clock-frequency = <100000>;
|
||
|
tca9539_74: tca9539@74 {
|
||
|
compatible = "ti,tca9539";
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <2>;
|
||
|
reg = <0x74>;
|
||
|
vcc-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
status = "okay";
|
||
|
tca9539_74_outlow {
|
||
|
/*
|
||
|
* GPIO-0 : RST_CAMA
|
||
|
* GPIO-1 : BOOT_CAMA
|
||
|
* GPIO-2 : RST_CAMB
|
||
|
* GPIO-3 : BOOT_CAMB
|
||
|
* GPIO-4 : RST_CAMC
|
||
|
* GPIO-5 : BOOT_CAMC
|
||
|
* GPIO-6 : RST_CAMD
|
||
|
* GPIO-7 : BOOT_CAMD
|
||
|
*/
|
||
|
gpio-hog;
|
||
|
gpios = <0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0>;
|
||
|
output-low;
|
||
|
label = "tca9539_74_outlow_0",
|
||
|
"tca9539_74_outlow_1",
|
||
|
"tca9539_74_outlow_2",
|
||
|
"tca9539_74_outlow_3",
|
||
|
"tca9539_74_outlow_4",
|
||
|
"tca9539_74_outlow_5",
|
||
|
"tca9539_74_outlow_6",
|
||
|
"tca9539_74_outlow_7",
|
||
|
"tca9539_74_outlow_8",
|
||
|
"tca9539_74_outlow_9",
|
||
|
"tca9539_74_outlow_10",
|
||
|
"tca9539_74_outlow_11",
|
||
|
"tca9539_74_outlow_12",
|
||
|
"tca9539_74_outlow_13";
|
||
|
};
|
||
|
tca9539_74_outhigh {
|
||
|
status= "disabled";
|
||
|
};
|
||
|
tca9539_74_input {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c@c250000 {
|
||
|
status = "okay";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
tca9544@72 {
|
||
|
compatible = "nxp,pca9544";
|
||
|
reg = <0x72>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
vcc-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
skip_mux_detect;
|
||
|
force_bus_start = <0x1e>;
|
||
|
i2c@0 {
|
||
|
reg = <0>;
|
||
|
i2c-mux,deselect-on-exit;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
status = "okay";
|
||
|
|
||
|
ar0330_a@43 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x43>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
/* This GPIO needs to be toggled only once for the entire setup */
|
||
|
poc-gpio = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to denote PHY layer */
|
||
|
phy-id = "A";
|
||
|
mode0 { // MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { // MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { // MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { // MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { // MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out0: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <6>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ar0330_b@44 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x44>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to enable i2c translation */
|
||
|
phy-id = "B";
|
||
|
mode0 { //MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "640";
|
||
|
active_h = "480";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { //MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { //MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { //MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { //MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out1: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <6>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in1>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c@1{
|
||
|
status = "okay";
|
||
|
reg = <1>;
|
||
|
i2c-mux,deselect-on-exit;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
ar0330_c@43 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x43>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
/* This GPIO needs to be toggled only once for the entire setup */
|
||
|
poc-gpio = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to denote PHY layer */
|
||
|
phy-id = "A";
|
||
|
mode0 { // MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { // MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { // MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { // MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { // MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out2: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in2>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ar0330_d@44 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x44>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to enable i2c translation */
|
||
|
phy-id = "B";
|
||
|
mode0 { //MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "640";
|
||
|
active_h = "480";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { //MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { //MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { //MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { //MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out3: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <4>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in3>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c@2{
|
||
|
status = "okay";
|
||
|
reg = <2>;
|
||
|
i2c-mux,deselect-on-exit;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
ar0330_e@43 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x43>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
/* This GPIO needs to be toggled only once for the entire setup */
|
||
|
poc-gpio = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to denote PHY layer */
|
||
|
phy-id = "A";
|
||
|
mode0 { // MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { // MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { // MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { // MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { // MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out4: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in4>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ar0330_f@44 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x44>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to enable i2c translation */
|
||
|
phy-id = "B";
|
||
|
mode0 { //MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "640";
|
||
|
active_h = "480";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { //MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { //MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { //MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { //MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out5: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <2>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in5>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
i2c@3{
|
||
|
status = "okay";
|
||
|
reg = <3>;
|
||
|
i2c-mux,deselect-on-exit;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
ar0330_g@43 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x43>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
/* This GPIO needs to be toggled only once for the entire setup */
|
||
|
poc-gpio = <&tegra_main_gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to denote PHY layer */
|
||
|
phy-id = "A";
|
||
|
mode0 { // MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { // MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { // MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { // MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { // MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
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 = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
/* Below mode parameter not used for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out6: endpoint {
|
||
|
vc-id = <0>;
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in6>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ar0330_h@44 {
|
||
|
status = "okay";
|
||
|
compatible = "nvidia,ar0330";
|
||
|
reg = <0x44>;
|
||
|
sensor_model ="ar0330";
|
||
|
avdd-reg = "vana";
|
||
|
iovdd-reg = "vif";
|
||
|
clocks = <&bpmp_clks TEGRA194_CLK_EXTPERIPH1>,
|
||
|
<&bpmp_clks TEGRA194_CLK_PLLP_OUT0>;
|
||
|
clock-names = "extperiph1", "pllp_grtba";
|
||
|
mclk = "extperiph1";
|
||
|
clock-frequency = <24000000>;
|
||
|
vana-supply = <&p2822_avdd_cam_2v8>;
|
||
|
vif-supply = <&p2822_vdd_1v8_cvb>;
|
||
|
use_sensor_mode_id = "false";
|
||
|
camera_mipi_lanes = <2>;
|
||
|
|
||
|
/* Parameter to enable i2c translation */
|
||
|
phy-id = "B";
|
||
|
mode0 { //MODE_640X480
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "640";
|
||
|
active_h = "480";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode1 { //MODE_1280X720
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1280";
|
||
|
active_h = "720";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode2 { //MODE_1920X1080
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "1920";
|
||
|
active_h = "1080";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode3 { //MODE_2304X1296
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1296";
|
||
|
readout_orientation = "0";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
mode4 { //MODE_2304X1536
|
||
|
mclk_khz = "24000";
|
||
|
num_lanes = "2";
|
||
|
tegra_sinterface = "serial_b";
|
||
|
phy_mode = "DPHY";
|
||
|
discontinuous_clk = "no";
|
||
|
dpcm_enable = "false";
|
||
|
cil_settletime = "0";
|
||
|
dynamic_pixel_bit_depth = "16";
|
||
|
csi_pixel_bit_depth = "16";
|
||
|
mode_type = "yuv";
|
||
|
pixel_phase = "uyvy";
|
||
|
pixel_t = "uyvy";
|
||
|
|
||
|
active_w = "2304";
|
||
|
active_h = "1536";
|
||
|
pix_clk_hz = "1152000000";
|
||
|
readout_orientation = "0";
|
||
|
deskew_initial_enable = "false";
|
||
|
/* Below mode parameter not used in for econ UYVY camera sensor */
|
||
|
line_length = "3840";
|
||
|
inherent_gain = "1";
|
||
|
mclk_multiplier = "6.67";
|
||
|
|
||
|
min_gain_val = "0"; /* dB */
|
||
|
max_gain_val = "48"; /* dB */
|
||
|
min_hdr_ratio = "1";
|
||
|
max_hdr_ratio = "1";
|
||
|
min_framerate = "1.5";
|
||
|
max_framerate = "30";
|
||
|
min_exp_time = "30";
|
||
|
max_exp_time = "660000";
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
ecam_ar0330_out7: endpoint {
|
||
|
vc-id = <1>;
|
||
|
port-index = <0>;
|
||
|
bus-width = <4>;
|
||
|
remote-endpoint = <&ecam_csi_in7>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
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
|
||
|
*
|
||
|
*/
|
||
|
num_csi_lanes = <16>;
|
||
|
max_lane_speed = <2500000>;
|
||
|
min_bits_per_pixel = <16>;
|
||
|
vi_peak_byte_per_pixel = <2>;
|
||
|
vi_bw_margin_pct = <67>;
|
||
|
//max_pixel_rate = <750000>;
|
||
|
|
||
|
modules {
|
||
|
module0 {
|
||
|
badge = "NileCAM30_TX2-1";
|
||
|
possition = "rear1";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-1 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@0/ar0330_a@43";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module1 {
|
||
|
badge = "NileCAM30_TX2-2";
|
||
|
position = "rear2";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-2 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@0/ar0330_b@44";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module2 {
|
||
|
badge = "NileCAM30_TX2-3";
|
||
|
position = "rear3";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-3 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@1/ar0330_c@43";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module3 {
|
||
|
badge = "NileCAM30_TX2-4";
|
||
|
position = "rear4";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-4 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@1/ar0330_d@44";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module4 {
|
||
|
badge = "NileCAM30_TX2-5";
|
||
|
position = "rear5";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-5 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@2/ar0330_e@43";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module5 {
|
||
|
badge = "NileCAM30_TX2-6";
|
||
|
position = "rear6";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-6 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@2/ar0330_f@44";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module6 {
|
||
|
badge = "NileCAM30_TX2-7";
|
||
|
position = "rear7";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-7 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@3/ar0330_g@43";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
module7 {
|
||
|
badge = "NileCAM30_TX2-8";
|
||
|
position = "rear8";
|
||
|
orientation = "1";
|
||
|
drivernode0 {
|
||
|
pcl_id = "v4l2_sensor";
|
||
|
devname = "NileCAM30_TX2-8 ";
|
||
|
proc-device-tree = "/proc/device-tree/i2c@c250000/tca9544@72/i2c@3/ar0330_h@44";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|