--- kernel_vanilla/arch/arm64/boot/dts/tegra210-platforms/galileo2/tegra210-camera-g2-sixcam.dtsi	1970-01-01 01:00:00.000000000 +0100
+++ kernel/arch/arm64/boot/dts/tegra210-platforms/galileo2/tegra210-camera-g2-sixcam.dtsi	2017-07-24 09:55:41.938920418 +0200
@@ -0,0 +1,444 @@
+#include <dt-bindings/media/camera.h>
+#include <dt-bindings/platform/t210/t210.h>
+
+
+/*
+ * distinguish between two auvidea j106 versions. One shifts the i2c bus addresses by 1, one by 2.
+ */
+#define I2C_SHIFT_ONE
+//#define I2C_SHIFT_TWO
+
+
+/*
+ *	dtsi file for 6 cam on nvidia devboard with auvidia J106
+ *	CSI-A - i2c-0
+ *	CSI-B - i2c-0 (shifted)
+ *	CSI-C - i2c-6 (host1x)
+ *	CSI-D - i2c-6 (host1x, shifted)
+ *	CSI-E - i2c-2
+ *	CSI-F - i2c-2 (shifted)
+ * 	see boot/dts/tegra210-soc-base.dtsi for basic definitions
+ *
+ */
+/ {
+	host1x {
+		vi {
+			num-channels = <6>;
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				port@0 {		// CSI - A
+					reg = <0>;
+					status = "okay";
+					vi_in0: endpoint {
+						status = "okay";
+						csi-port = <0>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out0>;
+					};
+				};
+				port@1 {		// CSI - B
+					reg = <1>;
+					status = "okay";
+					vi_in1: endpoint {
+						status = "okay";
+						csi-port = <1>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out1>;
+					};
+				};
+				port@2 {		// CSI - C
+					reg = <2>;
+					status = "okay";
+					vi_in2: endpoint {
+						status = "okay";
+						csi-port = <2>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out2>;
+					};
+				};
+				port@3 {		// CSI - D
+					reg = <3>;
+					status = "okay";
+					vi_in3: endpoint {
+						status = "okay";
+						csi-port = <3>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out3>;
+					};
+				};
+				port@4 {		// CSI - E
+					reg = <4>;
+					status = "okay";
+					vi_in4: endpoint {
+						status = "okay";
+						csi-port = <4>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out4>;
+					};
+				};
+				port@5 {		// CSI - F
+					reg = <5>;
+					status = "okay";
+					vi_in5: endpoint {
+						status = "okay";
+						csi-port = <5>;
+						bus-width = <2>;
+						remote-endpoint = <&g2_out5>;
+					};
+				};
+
+			};
+		}; //end vi {
+
+		/*
+		 *  CSI C, i2c bus 6
+		 */
+		i2c@546c0000 { //i2c-6
+			status = "okay";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			g2_c@10 {
+				compatible = "nvidia,galileo2";
+				/* I2C device address */
+				reg = <0x10>;
+				/* Physical dimensions of sensor */
+				physical_w = "8.655";
+				physical_h = "6.012";
+				/* Sensor Model */
+				sensor_model ="galileo2";
+				devnode = "video4";
+				/* Defines number of frames to be dropped by driver internally after applying */
+				/* sensor crop settings. Some sensors send corrupt frames after applying */
+				/* crop co-ordinates */
+				post_crop_frame_drop = "0";
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					port@2 {
+						reg = <0>;
+						g2_out2: endpoint {
+							csi-port = <2>;
+							bus-width = <2>;
+							remote-endpoint = <&vi_in2>;
+						};
+					};
+				};
+			}; //end g2_c@10
+#ifdef I2C_SHIFT_ONE
+				g2_d@11 {
+#elif  I2C_SHIFT_TWO
+				g2_d@12 {
+#endif
+				compatible = "nvidia,galileo2";
+				/* I2C device address */
+#ifdef I2C_SHIFT_ONE
+				reg = <0x11>;
+#elif  I2C_SHIFT_TWO
+				reg = <0x12>;
+#endif
+				/* Physical dimensions of sensor */
+				physical_w = "8.655";
+				physical_h = "6.012";
+				/* Sensor Model */
+				sensor_model ="galileo2";
+				devnode = "video3";
+				/* Defines number of frames to be dropped by driver internally after applying */
+				/* sensor crop settings. Some sensors send corrupt frames after applying */
+				/* crop co-ordinates */
+				post_crop_frame_drop = "0";
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					port@3 {
+						reg = <0>;
+						g2_out3: endpoint {
+							csi-port = <3>;
+							bus-width = <2>;
+							remote-endpoint = <&vi_in3>;
+						};
+					};
+				};
+			}; //end g2_d@12
+		}; //end i2c-6 {
+	}; //end host1x {
+
+	/*
+	 *  CSI A, i2c bus 0
+	 */
+	i2c@7000c000{
+			status = "okay";
+			#address-cells = <1>;
+			#size-cells = <0>;
+			g2_a@10 {
+				compatible = "nvidia,galileo2";
+				/* I2C device address */
+				reg = <0x10>;
+				/* Physical dimensions of sensor */
+				physical_w = "8.655";
+				physical_h = "6.012";
+				/* Sensor Model */
+				sensor_model ="galileo2";
+				devnode = "video0";
+				/* Defines number of frames to be dropped by driver internally after applying */
+				/* sensor crop settings. Some sensors send corrupt frames after applying */
+				/* crop co-ordinates */
+				post_crop_frame_drop = "0";
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					port@0 {
+						reg = <0>;
+						g2_out0: endpoint {
+							csi-port = <0>;
+							bus-width = <2>;
+							remote-endpoint = <&vi_in0>;
+						};
+					};
+				};
+			}; //end g2_a@10
+#ifdef I2C_SHIFT_ONE
+				g2_b@11 {
+#elif  I2C_SHIFT_TWO
+				g2_b@12 {
+#endif
+				compatible = "nvidia,galileo2";
+				/* I2C device address */
+#ifdef I2C_SHIFT_ONE
+				reg = <0x11>;
+#elif  I2C_SHIFT_TWO
+				reg = <0x12>;
+#endif
+				/* Physical dimensions of sensor */
+				physical_w = "8.655";
+				physical_h = "6.012";
+				/* Sensor Model */
+				sensor_model ="galileo2";
+				devnode = "video2";
+				/* Defines number of frames to be dropped by driver internally after applying */
+				/* sensor crop settings. Some sensors send corrupt frames after applying */
+				/* crop co-ordinates */
+				post_crop_frame_drop = "0";
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					port@1 {
+						reg = <0>;
+						g2_out1: endpoint {
+							csi-port = <1>;
+							bus-width = <2>;
+							remote-endpoint = <&vi_in1>;
+						};
+					};
+				};
+			}; //end g2_b@12
+	}; //end i2c-0
+
+	/*
+	 *  CSI E, i2c bus 2
+	 */
+	i2c@7000c500 { //i2c-2
+		status = "okay";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		g2_e@10 {
+			compatible = "nvidia,galileo2";
+			/* I2C device address */
+			reg = <0x10>;
+			/* Physical dimensions of sensor */
+			physical_w = "8.655";
+			physical_h = "6.012";
+			/* Sensor Model */
+			sensor_model ="galileo2";
+			devnode = "video5";
+			/* Defines number of frames to be dropped by driver internally after applying */
+			/* sensor crop settings. Some sensors send corrupt frames after applying */
+			/* crop co-ordinates */
+			post_crop_frame_drop = "0";
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				port@4 {
+					reg = <0>;
+					g2_out4: endpoint {
+						csi-port = <4>;
+						bus-width = <2>;
+						remote-endpoint = <&vi_in4>;
+					};
+				};
+			};
+		};	//end g2_e@10
+#ifdef I2C_SHIFT_ONE
+				g2_f@11 {
+#elif  I2C_SHIFT_TWO
+				g2_f@12 {
+#endif
+			compatible = "nvidia,galileo2";
+			/* I2C device address */
+#ifdef I2C_SHIFT_ONE
+				reg = <0x11>;
+#elif  I2C_SHIFT_TWO
+				reg = <0x12>;
+#endif
+			/* Physical dimensions of sensor */
+				physical_w = "8.655";
+				physical_h = "6.012";
+			/* Sensor Model */
+			sensor_model ="galileo2";
+			devnode = "video1";
+			/* Defines number of frames to be dropped by driver internally after applying */
+			/* sensor crop settings. Some sensors send corrupt frames after applying */
+			/* crop co-ordinates */
+			post_crop_frame_drop = "0";
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				port@5 {
+					reg = <0>;
+					g2_out5: endpoint {
+						csi-port = <5>;
+						bus-width = <2>;
+						remote-endpoint = <&vi_in5>;
+					};
+				};
+			};
+		};	//end g2_f@12
+	}; //end i2c-2
+
+
+
+
+
+	tegra-camera-platform {
+		compatible = "nvidia, tegra-camera-platform";
+
+		/**
+		* The general guideline for naming badge_info contains 3 parts, and is as follows,
+		* The first part is the camera_board_id for the module; if the module is in a FFD
+		* platform, then use the platform name for this part.
+		* The second part contains the position of the module, ex. “rear” or “front”.
+		* The third part contains the last 6 characters of a part number which is found
+		* in the module's specsheet from the vender.
+		*/
+		modules {
+			module0 {
+				badge = "g2_front_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_sensor";
+					/* Driver's v4l2 device name */
+					devname = "g2 0-0010";
+					/* Declare the device-tree hierarchy to driver instance */
+					proc-device-tree = "/proc/device-tree/i2c@7000c000/g2_a@10";
+				};
+				drivernode1 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+			module1 {
+				badge = "g2_top_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_sensor";
+					/* Driver's v4l2 device name */
+					devname = "g2 0-0011";
+					/* Declare the device-tree hierarchy to driver instance */
+#ifdef I2C_SHIFT_ONE
+					proc-device-tree = "/proc/device-tree/i2c@7000c000/g2_b@11";
+#elif  I2C_SHIFT_TWO
+					proc-device-tree = "/proc/device-tree/i2c@7000c000/g2_b@12";
+#endif
+
+				};
+				drivernode1 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+			module2 {
+				badge = "g2_left_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_sensor";
+					/* Driver's v4l2 device name */
+					devname = "g2 6-0010";
+					/* Declare the device-tree hierarchy to driver instance */
+					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/g2_c@10";
+				};
+				drivernode1 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+			module3 {
+				badge = "g2_right_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_sensor";
+					/* Driver's v4l2 device name */
+					devname = "g2 6-0011";
+					/* Declare the device-tree hierarchy to driver instance */
+#ifdef I2C_SHIFT_ONE
+					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/g2_d@11";
+#elif  I2C_SHIFT_TWO
+					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/g2_d@12";
+#endif
+
+				};
+				drivernode1 {
+					/* Declare PCL support driver (classically known as guid)  */
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+			module4 {
+				badge = "g2_rear_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					// Declare PCL support driver (classically known as guid)
+					pcl_id = "v4l2_sensor";
+					// Driver's v4l2 device name
+					devname = "g2 2-0010";
+					// Declare the device-tree hierarchy to driver instance
+					proc-device-tree = "/proc/device-tree/i2c@7000c500/g2_e@10";
+				};
+				drivernode1 {
+					// Declare PCL support driver (classically known as guid)
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+			module5 {
+				badge = "g2_down_P5V27C";
+				position = "rear";
+				orientation = "1";
+				drivernode0 {
+					// Declare PCL support driver (classically known as guid)
+					pcl_id = "v4l2_sensor";
+					// Driver's v4l2 device name
+					devname = "g2 2-0011";
+					// Declare the device-tree hierarchy to driver instance
+#ifdef I2C_SHIFT_ONE
+					proc-device-tree = "/proc/device-tree/i2c@7000c500/g2_f@11";
+#elif  I2C_SHIFT_TWO
+					proc-device-tree = "/proc/device-tree/i2c@7000c500/g2_f@12";
+#endif
+
+				};
+				drivernode1 {
+					// Declare PCL support driver (classically known as guid)
+					pcl_id = "v4l2_focuser_stub";
+				};
+			};
+		};
+	};
+
+}; //final close
--- kernel_vanilla/arch/arm64/boot/dts/tegra210-platforms/galileo2/tegra210-jetson-cv-camera-g2-a00.dtsi	1970-01-01 01:00:00.000000000 +0100
+++ kernel/arch/arm64/boot/dts/tegra210-platforms/galileo2/tegra210-jetson-cv-camera-g2-a00.dtsi	2017-07-24 09:35:17.450945790 +0200
@@ -0,0 +1,37 @@
+/*
+ *
+ *	Main file, included in /kernel/arch/arm64/boot/dts/tegra210-jetson-cv-base-p2597-2180-a00.dts
+ */ 
+
+#define SIXCAM
+
+
+#ifdef TRIPLE
+  #include <tegra210-platforms/galileo2/tegra210-camera-g2-triple.dtsi>
+#endif
+
+
+#ifdef SIXCAM
+  #include <tegra210-platforms/galileo2/tegra210-camera-g2-sixcam.dtsi>
+#endif
+
+
+/ {
+	// this enables the camera adapter's 1.8V output on the TX1 eval board (black one)
+	regulators {
+        /* VDD_SYS_EN */
+        en_vdd_cam: regulator@5 {
+            regulator-boot-on;
+            regulator-always-on;
+        };
+	};
+
+	gpio@6000d000 {
+		gpio_x1_aud_pbb3 {
+			gpio-output-high = <	TEGRA_GPIO(BB, 3) >;
+
+				};
+
+	};
+
+};
--- kernel_vanilla/arch/arm64/boot/dts/tegra210-plugin-manager/tegra210-jetson-cv-plugin-manager.dtsi	2016-11-24 15:37:39.032662001 +0100
+++ kernel/arch/arm64/boot/dts/tegra210-plugin-manager/tegra210-jetson-cv-plugin-manager.dtsi	2016-12-05 10:04:03.163098778 +0100
@@ -11,7 +11,7 @@
  * more details.
  *
  */
-#include "tegra210-jetson-cv-camera-plugin-manager.dtsi"
+
 
 / {
 	plugin-manager {
--- kernel_vanilla/arch/arm64/boot/dts/tegra210-jetson-cv-base-p2597-2180-a00.dts	2016-11-24 15:37:38.972662002 +0100
+++ kernel/arch/arm64/boot/dts/tegra210-jetson-cv-base-p2597-2180-a00.dts	2017-07-24 09:49:03.830928667 +0200
@@ -23,7 +23,7 @@
 #include "tegra210-platforms/tegra210-pinmux-drive-sdmmc-common.dtsi"
 #include "tegra210-platforms/tegra210-jetson-cv-prods.dtsi"
 #include "tegra210-platforms/tegra210-comms-p2530-0930.dtsi"
-#include "tegra210-platforms/tegra210-jetson-cv-camera-modules.dtsi"
+#include "tegra210-platforms/galileo2/tegra210-jetson-cv-camera-g2-a00.dtsi"
 #include "tegra210-platforms/tegra210-pwm-fan-p2530-0930.dtsi"
 #include "panel-a-wuxga-8-0.dtsi"
 #include "panel-a-edp-1080p-14-0.dtsi"
