/* * DTS file for FPD LINK III interface. */ / { host1x { vi@15c10000 { num-channels = <3>; ports { #address-cells = <1>; #size-cells = <0>; vi_port2: port@2 { status = "okay"; reg = <2>; ov10640_vi_in2: endpoint { status = "okay"; port-index = <1>; bus-width = <2>; vc-id = <0>; remote-endpoint = <&ov10640_csi_out2>; }; }; }; }; nvcsi@15a00000 { num-channels = <3>; csi_chan2: channel@2 { status = "okay"; reg = <2>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { status = "okay"; reg = <0>; ov10640_csi_in2: endpoint@4 { status = "okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&sen_out_ov10640_0>; }; }; port@1 { status = "okay"; reg = <1>; ov10640_csi_out2: endpoint@5 { status = "okay"; remote-endpoint = <&ov10640_vi_in2>; }; }; }; }; }; }; i2c@c240000 { /* DS90UB954 Deserializer (U1) */ ds90ub954: ub954@3d { status = "okay"; compatible = "d3,ub960"; reg = <0x3d>; #address-cells = <1>; #size-cells = <0>; iovdd-supply = <&p3668_vdd_1v8_sd>; pdb-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Z, 3) GPIO_ACTIVE_HIGH>; csi-tx-speed-mbps = <1600>; csi-lane-count = <2>; csi-continuous-clock = <1>; frame-sync-mode = <8>; ds90ub954_link0: link@0 { status = "okay"; reg = <0>; #address-cells = <1>; #size-cells = <0>; ub953_0: ub953@3c { compatible = "d3,ub953"; status = "okay"; physical-addr = <0x18>; #address-cells = <1>; #size-cells = <0>; reg = <0x3c>; csi-lane-count = <2>; csi-continuous-clock = <1>; i2c-voltage-sel = <0x0>; gpio-rmten = <0x0>; gpio-out-src = <0x9>; gpio-out-en = <0x9>; gpio-in-en = <0x0>; hs-clk-div = <2>; div-m-val = <1>; div-n-val = <40>; fsync-gpio = <0>; wait-for-self-configure; ov10640_0: ov10640@40 { status = "okay"; compatible = "d3,ov10640"; #address-cells = <1>; #size-cells = <0>; reg = <0x40>; physical-addr = <0x32>; devnode = "video2"; mclk = "extperiph1"; physical_w = "5.41"; physical_h = "4.57"; sensor_model = "ov10640"; use_decibel_gain = "false"; use_sensor_mode_id = "true"; deserializer = <&ds90ub954>; /* Long exposure mode (linear) */ mode0 { mclk_khz = "25000"; mclk_multiplier = "22.0"; num_lanes = "2"; tegra_sinterface = "serial_b"; discontinuous_clk = "no"; dpcm_enable = "false"; cil_settletime = "0"; csi_pixel_bit_depth = "12"; pixel_phase = "bggr"; pixel_t = "bayer_bggr12"; active_w = "1280"; active_h = "1080"; readout_orientation = "0"; line_length = "1450"; inherent_gain = "1"; serdes_pix_clk_hz = "535000000"; pix_clk_hz = "71428571"; min_framerate = "60"; max_framerate = "60"; embedded_metadata_height = "0"; vc_id = "0"; mode_type = "bayer"; min_gain_val = "1.0"; max_gain_val = "8.0"; /* minimum is one line */ min_exp_time = "20"; /* maximum is (frame period - 6 lines) */ max_exp_time = "33698"; min_hdr_ratio = "1"; max_hdr_ratio = "1"; }; ports { #address-cells = <1>; #size-cells = <0>; status = "okay"; port@0 { reg = <0>; sen_out_ov10640_0: endpoint { vc-id = <0>; status = "okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&ov10640_csi_in2>; }; }; }; }; }; }; }; }; }; / { tegra-camera-platform { compatible = "nvidia, tegra-camera-platform"; num_csi_lanes = <6>; min_bits_per_pixel = <12>; max_pixel_rate = <222750>; vi_peak_byte_per_pixel = <2>; vi_bw_margin_pct = <25>; isp_peak_byte_per_pixel = <5>; isp_bw_margin_pct = <25>; max_lane_speed = <1500000>; modules { module2 { status = "okay"; badge = "xavier_nx_center_ov10640"; position = "center"; orientation = "1"; drivernode0 { status = "okay"; pcl_id = "v4l2_sensor"; devname = "ds_ov10640 1-0040"; proc-device-tree = "/proc/device-tree/i2c@c240000/ub954@3d/link@0/ub953@3c/ov10640@40"; }; }; }; }; };