]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
ARM64: DT: Add auto detect support for E3322 board
authorFrank Chen <frankc@nvidia.com>
Thu, 11 Feb 2016 20:38:44 +0000 (12:38 -0800)
committermobile promotions <svcmobile_promotions@nvidia.com>
Thu, 25 Feb 2016 15:43:53 +0000 (07:43 -0800)
Add auto detect support for E3322 (imx219 x6) camera
board.

Bug 1693429

Change-Id: I3a54616e27fd504d222e79b8523295df1524b1dd
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: http://git-master/r/1011057
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
Reviewed-by: Igor Tryndin <itryndin@nvidia.com>
Reviewed-by: Kai Lee <kailee@nvidia.com>
Reviewed-by: Hayden Du <haydend@nvidia.com>
arch/arm64/boot/dts/tegra210-p4573-2180.dts
arch/arm64/boot/dts/tegra210-platforms/tegra210-camera-e3322-a00.dtsi
arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-camera-modules.dtsi
arch/arm64/boot/dts/tegra210-plugin-manager/tegra210-jetson-cv-camera-plugin-manager.dtsi

index def2c0da0e1599796779360ae7749b40a981704a..5918836062ae34908e9e6634e7e7de5ba3b8eeb4 100644 (file)
 
        plugin-manager {
                /delete-node/ fragment-e3323@0;
+               /delete-node/ fragment-e3322@0;
        };
 
        host1x {
                        };
                };
                i2c@546c0000 {
+                       /delete-node/ tca9548@77;
                        /delete-node/ ov5693_c@36;
                        /delete-node/ ov23850_a@10;
                        /delete-node/ lc898212@72;
index cb9ac2a3d81fb996e73b2d5cf59c6a5bafcfdd49..0f573e93e1c3cbe9f106554126d2a205d1df16ab 100644 (file)
 
                                        port@0 {
                                                reg = <0>;
-                                               csi_in0: endpoint@0 {
+                                               e3322_cam0_csia_in0: endpoint@0 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out0>;
                                                };
                                        };
                                        port@2 {
                                                reg = <2>;
-                                               csi_in1: endpoint@2 {
+                                               e3322_cam1_csia_in1: endpoint@2 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out1>;
                                                };
 
                                        port@0 {
                                                reg = <0>;
-                                               csi_in2: endpoint@0 {
+                                               e3322_cam2_csic_in0: endpoint@0 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out2>;
                                                };
                                        };
                                        port@2 {
                                                reg = <2>;
-                                               csi_in3: endpoint@2 {
+                                               e3322_cam3_csic_in1: endpoint@2 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out3>;
                                                };
 
                                        port@0 {
                                                reg = <0>;
-                                               csi_in4: endpoint@0 {
+                                               e3322_cam4_csie_in0: endpoint@0 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out4>;
                                                };
                                        };
                                        port@2 {
                                                reg = <2>;
-                                               csi_in5: endpoint@2 {
+                                               e3322_cam5_csie_in1: endpoint@2 {
                                                        bus-width = <2>;
                                                        remote-endpoint = <&imx219_out5>;
                                                };
@@ -92,7 +92,6 @@
 
 
                i2c@546c0000 {
-                       nvidia,clock-always-on;
                        avdd_dsi_csi-supply = <&max77620_gpio7>;
 
                        status = "okay";
                                                                reg = <0>;
                                                                imx219_out0: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in0>;
+                                                                       remote-endpoint = <&e3322_cam0_csia_in0>;
                                                                };
                                                        };
                                                };
                                                                reg = <0>;
                                                                imx219_out1: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in1>;
+                                                                       remote-endpoint = <&e3322_cam1_csia_in1>;
                                                                };
                                                        };
                                                };
                                                                reg = <0>;
                                                                imx219_out2: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in2>;
+                                                                       remote-endpoint = <&e3322_cam2_csic_in0>;
                                                                };
                                                        };
                                                };
                                                                reg = <0>;
                                                                imx219_out3: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in3>;
+                                                                       remote-endpoint = <&e3322_cam3_csic_in1>;
                                                                };
                                                        };
                                                };
                                                                reg = <0>;
                                                                imx219_out4: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in4>;
+                                                                       remote-endpoint = <&e3322_cam4_csie_in0>;
                                                                };
                                                        };
                                                };
                                                                reg = <0>;
                                                                imx219_out5: endpoint {
                                                                        bus-width = <2>;
-                                                                       remote-endpoint = <&csi_in5>;
+                                                                       remote-endpoint = <&e3322_cam5_csie_in1>;
                                                                };
                                                        };
                                                };
index 1b80054a55bb71303537b01d1a017928c893bcd3..33766465fa37c4a0dfbfef23be507b15c90f839b 100644 (file)
@@ -12,6 +12,7 @@
  *
  */
 
+#include "tegra210-platforms/tegra210-jetson-cv-camera-e3322-a00.dtsi"
 #include "tegra210-platforms/tegra210-jetson-cv-camera-e3323-a00.dtsi"
 #include "tegra210-platforms/tegra210-jetson-cv-camera-e3326-a00.dtsi"
 
                        e3323_vcm0: lc898212@72 {
                                status = "disabled";
                        };
+                       cam_tca6408_21: tca6408@21 {
+                               status = "disabled";
+                       };
+                       cam_tca9548_77: tca9548@77 {
+                               status = "disabled";
+                               i2c@0 {
+                                       e3322_cam0: imx219_a@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                               i2c@1 {
+                                       e3322_cam1: imx219_b@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                               i2c@2 {
+                                       e3322_cam2: imx219_c@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                               i2c@3 {
+                                       e3322_cam3: imx219_d@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                               i2c@4 {
+                                       e3322_cam4: imx219_e@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                               i2c@5 {
+                                       e3322_cam5: imx219_f@10 {
+                                               status = "disabled";
+                                       };
+                               };
+                       };
                };
        };
        i2c@7000c000 {
                                        proc-device-tree = "";
                                };
                        };
+                       cam_module2: module2 {
+                               status = "disabled";
+                               cam_module2_drivernode0: drivernode0 {
+                                       status = "disabled";
+                               };
+                               cam_module2_drivernode1: drivernode1 {
+                                       status = "disabled";
+                                       pcl_id = "v4l2_focuser_stub";
+                                       proc-device-tree = "";
+                               };
+                       };
+                       cam_module3: module3 {
+                               status = "disabled";
+                               cam_module3_drivernode0: drivernode0 {
+                                       status = "disabled";
+                               };
+                               cam_module3_drivernode1: drivernode1 {
+                                       status = "disabled";
+                                       pcl_id = "v4l2_focuser_stub";
+                                       proc-device-tree = "";
+                               };
+                       };
+                       cam_module4: module4 {
+                               status = "disabled";
+                               cam_module4_drivernode0: drivernode0 {
+                                       status = "disabled";
+                               };
+                               cam_module4_drivernode1: drivernode1 {
+                                       status = "disabled";
+                                       pcl_id = "v4l2_focuser_stub";
+                                       proc-device-tree = "";
+                               };
+                       };
+                       cam_module5: module5 {
+                               status = "disabled";
+                               cam_module5_drivernode0: drivernode0 {
+                                       status = "disabled";
+                               };
+                               cam_module5_drivernode1: drivernode1 {
+                                       status = "disabled";
+                                       pcl_id = "v4l2_focuser_stub";
+                                       proc-device-tree = "";
+                               };
+                       };
                };
        };
 };
index 845349ef4018b428db81246fd94860e39a7e9187..51f11268a2253e01858d05185c3f899dd8665439 100644 (file)
@@ -38,7 +38,7 @@
                                target = <&cam_module0_drivernode0>;
                                _overlay_ {
                                        status = "okay";
-                                       pcl_id = "v4l2_soc_sensor";
+                                       pcl_id = "v4l2_sensor";
                                        proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/ov23850_a@10";
                                };
                        };
@@ -69,7 +69,7 @@
                                target = <&cam_module1_drivernode0>;
                                _overlay_ {
                                        status = "okay";
-                                       pcl_id = "v4l2_soc_sensor";
+                                       pcl_id = "v4l2_sensor";
                                        proc-device-tree = "/proc/device-tree/i2c@7000c000/ov23850_c@36";
                                };
                        };
                                };
                        };
                };
+
+               /* E3322 camera board */
+               fragment-e3322@0 {
+                       ids = "3322-1000-000";
+                       override@0 {
+                               target = <&e3322_cam0>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@1 {
+                               target = <&cam_module0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_bottomleft_A815P2";
+                                       position = "bottomleft";
+                                       orientation = "1";
+                               };
+                       };
+                       override@2 {
+                               target = <&cam_module0_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/imx219_a@10";
+                               };
+                       };
+                       override@3 {
+                               target = <&e3322_cam0_csia_in0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out0>;
+                               };
+                       };
+                       override@4 {
+                               target = <&e3322_cam1>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@5 {
+                               target = <&cam_module1>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_centerleft_A815P2";
+                                       position = "centerleft";
+                                       orientation = "1";
+                               };
+                       };
+                       override@6 {
+                               target = <&cam_module1_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/imx219_b@10";
+                               };
+                       };
+                       override@7 {
+                               target = <&e3322_cam1_csia_in1>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out1>;
+                               };
+                       };
+                       override@8 {
+                               target = <&e3322_cam2>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@9 {
+                               target = <&cam_module2>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_centerright_A815P2";
+                                       position = "centerright";
+                                       orientation = "1";
+                               };
+                       };
+                       override@10 {
+                               target = <&cam_module2_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/imx219_c@10";
+                               };
+                       };
+                       override@11 {
+                               target = <&e3322_cam2_csic_in0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out2>;
+                               };
+                       };
+                       override@12 {
+                               target = <&e3322_cam3>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@13 {
+                               target = <&cam_module3>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_topleft_A815P2";
+                                       position = "topleft";
+                                       orientation = "1";
+                               };
+                       };
+                       override@14 {
+                               target = <&cam_module3_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/imx219_d@10";
+                               };
+                       };
+                       override@15 {
+                               target = <&e3322_cam3_csic_in1>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out3>;
+                               };
+                       };
+                       override@16 {
+                               target = <&e3322_cam4>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@17 {
+                               target = <&cam_module4>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_bottomright_A815P2";
+                                       position = "bottomright";
+                                       orientation = "1";
+                               };
+                       };
+                       override@18 {
+                               target = <&cam_module4_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/imx219_e@10";
+                               };
+                       };
+                       override@19 {
+                               target = <&e3322_cam4_csie_in0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out4>;
+                               };
+                       };
+                       override@20 {
+                               target = <&e3322_cam5>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@21 {
+                               target = <&cam_module5>;
+                               _overlay_ {
+                                       status = "okay";
+                                       badge = "e3322_topright_A815P2";
+                                       position = "topright";
+                                       orientation = "1";
+                               };
+                       };
+                       override@22 {
+                               target = <&cam_module5_drivernode0>;
+                               _overlay_ {
+                                       status = "okay";
+                                       pcl_id = "v4l2_sensor";
+                                       proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@5/imx219_f@10";
+                               };
+                       };
+                       override@23 {
+                               target = <&e3322_cam5_csie_in1>;
+                               _overlay_ {
+                                       status = "okay";
+                                       bus-width = <2>;
+                                       remote-endpoint = <&imx219_out5>;
+                               };
+                       };
+                       override@24 {
+                               target = <&e3326_cam0>;
+                               _overlay_ {
+                                       status = "disabled";
+                               };
+                       };
+                       override@25 {
+                               target = <&cam_tca6408_21>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+                       override@26 {
+                               target = <&cam_tca9548_77>;
+                               _overlay_ {
+                                       status = "okay";
+                               };
+                       };
+               };
        };
 };