ARM64: dt: power setting for camera plugin-manager
Frank Chen [Mon, 12 Sep 2016 20:27:59 +0000 (13:27 -0700)]
Add power servivce related DT entries for camera
plugin-manager

Bug 1812759
Bug 1789527

Change-Id: I5a64ab00fd5484682e1c43408780fa6ef0dfc59e
Signed-off-by: Frank Chen <frankc@nvidia.com>
Reviewed-on: http://git-master/r/1219116
Cherry picked from: 877b0e25b2ea35399e7a52b710a1a20f1679b2ad
Reviewed-on: http://git-master/r/1221849
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
Tested-by: Winnie Hsu <whsu@nvidia.com>

arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-camera-e3322-a00.dtsi
arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-camera-e3323-a00.dtsi
arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-camera-e3326-a00.dtsi
arch/arm64/boot/dts/tegra210-platforms/tegra210-jetson-cv-camera-e3333-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 28e0168..a0d9b55 100644 (file)
                };
        };
 };
+
+/* camera control gpio definitions */
+/ {
+
+       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
+               *
+               * 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 = <170000>;
+               isp_peak_byte_per_pixel = <2>;
+               isp_bw_margin_pct = <25>;
+       };
+};
+
index 822e224..c72d17d 100644 (file)
 /* camera control gpio definitions */
 
 / {
+       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
+               *
+               * 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 = <600000>;
+               isp_peak_byte_per_pixel = <3>;
+               isp_bw_margin_pct = <25>;
+       };
+
        host1x {
                i2c@546c0000 {
                        ov23850_a@10 {
index a49b6de..f90e770 100644 (file)
 /* camera control gpio definitions */
 
 / {
+       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
+               *
+               * 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 = <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 = <2>;
+               isp_bw_margin_pct = <25>;
+       };
+
        host1x {
                i2c@546c0000 {
                        ov5693_c@36 {
index a1dfa61..48ee1e5 100644 (file)
                gpio288 = &tca6408_21;  /* 288 = 272 + TCA9539_GPIO_NUM */
        };
 
+       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
+               *
+               * 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 = <176000>;
+               isp_peak_byte_per_pixel = <2>;
+               isp_bw_margin_pct = <25>;
+       };
+
        host1x {
                i2c@546c0000 {
                        tca6408_21: tca6408@21 {
index c3f7a74..74a9396 100644 (file)
                };
        };
 
-       tegra-camera-platform {
+       tcp: tegra-camera-platform {
                compatible = "nvidia, tegra-camera-platform";
+               num_csi_lanes = <2>;
+               max_lane_speed = <1500000>;
+               min_bits_per_pixel = <10>;
+               vi_peak_byte_per_pixel = <2>;
+               vi_bw_margin_pct = <25>;
+               max_pixel_rate = <408000>;
+               isp_peak_byte_per_pixel = <2>;
+               isp_bw_margin_pct = <25>;
                modules {
                        cam_module0: module0 {
                                status = "disabled";
index 044ab7d..51823b6 100644 (file)
                                        remote-endpoint = <&e3326_ov5693_out0>;
                                };
                        };
+                       override@7 {
+                               target = <&tcp>;
+                               _overlay_ {
+                                       status = "okay";
+                                       num_csi_lanes = <2>;
+                                       max_pixel_rate = <160000>;
+                                       isp_peak_byte_per_pixel = <2>;
+                               };
+                       };
                };
 
                /* E3323 camera board */
                                };
                        };
                        /* enable E3323 camera 1 */
-                       override@5 {
+                       override@3 {
                                target = <&e3323_cam1>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@6 {
+                       override@4 {
                                target = <&cam_module1>;
                                _overlay_ {
                                        status = "okay";
                                        orientation = "3";
                                };
                        };
-                       override@7 {
+                       override@5 {
                                target = <&cam_module1_drivernode0>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
                        /* enable E3323 focuser 0 */
-                       override@10 {
+                       override@6 {
                                target = <&e3323_vcm0>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@11 {
+                       override@7 {
                                target = <&cam_module0_drivernode1>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
                        /* enable E3323 focuser 1 */
-                       override@14 {
+                       override@8 {
                                target = <&e3323_vcm1>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@15 {
+                       override@9 {
                                target = <&cam_module1_drivernode1>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
                        /* enable VI ports */
-                       override@18 {
+                       override@10 {
                                target = <&vi_base>;
                                _overlay_ {
                                        num-channels=<4>;
                                };
                        };
-                       override@3 {
+                       override@11 {
                                target = <&vi_port0>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@4 {
+                       override@12 {
                                target = <&vi_in0>;
                                _overlay_ {
                                        status = "okay";
                                        remote-endpoint = <&ov23850_out0>;
                                };
                        };
-                       override@8 {
+                       override@13 {
                                target = <&vi_port1>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@9 {
+                       override@14 {
                                target = <&vi_in1>;
                                _overlay_ {
                                        status = "okay";
                                        remote-endpoint = <&ov23850_out1>;
                                };
                        };
-                       override@12 {
+                       override@15 {
                                target = <&vi_port2>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@13 {
+                       override@16 {
                                target = <&vi_in2>;
                                _overlay_ {
                                        status = "okay";
                                        remote-endpoint = <&lc898212_out0>;
                                };
                        };
-                       override@16 {
+                       override@17 {
                                target = <&vi_port3>;
                                _overlay_ {
                                        status = "okay";
                                };
                        };
-                       override@17 {
+                       override@18 {
                                target = <&vi_in3>;
                                _overlay_ {
                                        status = "okay";
                                        remote-endpoint = <&lc898212_out1>;
                                };
                        };
+                       override@19 {
+                               target = <&tcp>;
+                               _overlay_ {
+                                       status = "okay";
+                                       num_csi_lanes = <8>;
+                                       max_pixel_rate = <600000>;
+                                       isp_peak_byte_per_pixel = <3>;
+                               };
+                       };
                };
 
                /* E3322 camera board */
                                        status = "okay";
                                };
                        };
+                       override@33 {
+                               target = <&tcp>;
+                               _overlay_ {
+                                       status = "okay";
+                                       num_csi_lanes = <12>;
+                                       max_pixel_rate = <170000>;
+                                       isp_peak_byte_per_pixel = <2>;
+                               };
+                       };
                };
 
                /* E3333 camera board */
                                        status = "okay";
                                };
                        };
+                       override@33 {
+                               target = <&tcp>;
+                               _overlay_ {
+                                       status = "okay";
+                                       num_csi_lanes = <12>;
+                                       max_pixel_rate = <176000>;
+                                       isp_peak_byte_per_pixel = <2>;
+                               };
+                       };
                };
        };
 };