Prepapre for new board revision

Change-Id: I475d6f1f2617ab6aa783e80cdef909c0c633429d
diff --git a/board/czechlight/clearfog/clearfog-output-voa.dtsi b/board/czechlight/clearfog/clearfog-output-voa.dtsi
index b2582e3..049a109 100644
--- a/board/czechlight/clearfog/clearfog-output-voa.dtsi
+++ b/board/czechlight/clearfog/clearfog-output-voa.dtsi
@@ -1,11 +1,23 @@
 #include <dt-bindings/iio/adi,ad5592r.h>
 
 &i2c1 {
+#ifdef CLEARFOG_REV1
 	eeprom@54 {
 		compatible = "atmel,24c128";
 		reg = <0x54>;
 		pagesize = <64>;
 	};
+#else
+	// 24CSxx is treated as two separate devices
+	eeprom@52 {
+		compatible = "atmel,24c64";
+		reg = <0x52>;
+	};
+	eeprom@5a {
+		compatible = "atmel,24cs64";
+		reg = <0x5a>;
+	};
+#endif
 
 	ad5593r@11 {
 		#size-cells = <0>;
diff --git a/board/czechlight/clearfog/linux.fragment b/board/czechlight/clearfog/linux.fragment
index 4010f68..9aab19c 100644
--- a/board/czechlight/clearfog/linux.fragment
+++ b/board/czechlight/clearfog/linux.fragment
@@ -21,6 +21,13 @@
 # SPI GPIO expander
 CONFIG_PINCTRL_MCP23S08=y
 
+# thermal
+CONFIG_SENSORS_LM75=y
+
+# fan control
+CONFIG_SENSORS_MAX31790=y
+
+# LEDs
 CONFIG_LEDS_TLC591XX=y
 
 # For the Lumentum OCM
diff --git a/board/czechlight/clearfog/patches/linux.patch b/board/czechlight/clearfog/patches/linux.patch
index 8307c8c..e1a9c70 100644
--- a/board/czechlight/clearfog/patches/linux.patch
+++ b/board/czechlight/clearfog/patches/linux.patch
@@ -57,6 +57,29 @@
  	return pinctrl_gpio_request(gc->gpiodev->base + offset);
  }
  EXPORT_SYMBOL_GPL(gpiochip_generic_request);
+diff --git a/drivers/hwmon/max31790.c b/drivers/hwmon/max31790.c
+index 117fb79ef294..610f62eab72a 100644
+--- a/drivers/hwmon/max31790.c
++++ b/drivers/hwmon/max31790.c
+@@ -489,11 +489,18 @@ static const struct i2c_device_id max31790_id[] = {
+ };
+ MODULE_DEVICE_TABLE(i2c, max31790_id);
+ 
++static const struct of_device_id __maybe_unused max31790_of_match[] = {
++	{ .compatible = "maxim,max31790" },
++	{ }
++};
++MODULE_DEVICE_TABLE(of, max31790_of_match);
++
+ static struct i2c_driver max31790_driver = {
+ 	.class		= I2C_CLASS_HWMON,
+ 	.probe		= max31790_probe,
+ 	.driver = {
+ 		.name	= "max31790",
++		.of_match_table = of_match_ptr(max31790_of_match),
+ 	},
+ 	.id_table	= max31790_id,
+ };
 diff --git a/drivers/hwmon/pmbus/pmbus.h b/drivers/hwmon/pmbus/pmbus.h
 index 18e06fc6c53f..5c0f429ed7ad 100644
 --- a/drivers/hwmon/pmbus/pmbus.h
diff --git a/board/czechlight/clearfog/sdn-inline-clearfog.dts b/board/czechlight/clearfog/sdn-inline-clearfog.dts
index 2e9e648..9787d4c 100644
--- a/board/czechlight/clearfog/sdn-inline-clearfog.dts
+++ b/board/czechlight/clearfog/sdn-inline-clearfog.dts
@@ -1,3 +1,4 @@
+#define CLEARFOG_REV1
 #include "sdn-roadm-clearfog.dtsi"
 #include "clearfog-output-voa.dtsi"
 
diff --git a/board/czechlight/clearfog/sdn-inline-g2-clearfog.dts b/board/czechlight/clearfog/sdn-inline-g2-clearfog.dts
new file mode 100644
index 0000000..2e9e648
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-inline-g2-clearfog.dts
@@ -0,0 +1,6 @@
+#include "sdn-roadm-clearfog.dtsi"
+#include "clearfog-output-voa.dtsi"
+
+&lumentum_ocm {
+	status = "disabled";
+};
diff --git a/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts
index 39f5e7a..0ff2fa6 100644
--- a/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts
+++ b/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts
@@ -1 +1,2 @@
+#define CLEARFOG_REV1
 #include "sdn-roadm-clearfog.dtsi"
diff --git a/board/czechlight/clearfog/sdn-roadm-add-drop-g2-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-add-drop-g2-clearfog.dts
new file mode 100644
index 0000000..39f5e7a
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-roadm-add-drop-g2-clearfog.dts
@@ -0,0 +1 @@
+#include "sdn-roadm-clearfog.dtsi"
diff --git a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
index 3d07cac..a1efd3f 100644
--- a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
+++ b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
@@ -70,10 +70,18 @@
 			"OCM_HS_IN",
 			"OCM_RESET",
 			"WSS_MRST",
+#ifdef CLEARFOG_REV1
 			"I2C_XOR_ENABLE",
 			"I2C_XORH",
 			"I2C_BB_ENABLE",
 			"GPIO_K6",
+#else
+
+			"",
+			"",
+			"",
+			"",
+#endif
 			"",
 			"",
 			"EDFA1_AMP_DISABLE",
@@ -83,6 +91,7 @@
 			"EXP_GPIO1"
 			;
 
+#ifdef CLEARFOG_REV1
 		i2c_bitbang_enable {
 			gpio-hog;
 			gpios = <7 GPIO_ACTIVE_HIGH>;
@@ -103,6 +112,7 @@
 			output-low;
 			line-name = "I2C addr xlate";
 		};
+#endif
 	};
 
 	gpio_spi_chips: gpio@1 {
@@ -126,10 +136,18 @@
 				"EDFA1_RESET",
 				"EDFA2_RESET",
 				"PMB_ALERT",
+#ifdef CLEARFOG_REV1
 				"EXP_GPIO2",
+#else
+				"GND",
+#endif
 				"WSS_SC",
 				"WSS_RST",
+#ifdef CLEARFOG_REV1
 				"I2C_XOR_RDY",
+#else
+				"GND",
+#endif
 				"OCM_HS_OUT",
 
 				"EDFA1_OUT_REFLECT_A",
@@ -145,9 +163,13 @@
 		gpio-bank@2 {
 			address = <2>;
 			gpio-line-names =
-				/* these are all grounded */
+#ifdef CLEARFOG_REV1
 				"GND",
 				"GND",
+#else
+				"OCM_READY",
+				"OCM_ALARM",
+#endif
 				"GND",
 				"GND",
 				"GND",
@@ -165,6 +187,7 @@
 				"EDFA2_PUMP_TEMP_A";
 		};
 
+#ifdef CLEARFOG_REV1
 		// FIXME: this hogs both .1 and .2 chips' #6 pin...
 		i2c_xor_ready {
 			gpio-hog;
@@ -172,6 +195,7 @@
 			input;
 			line-name = "I2C XOR ready";
 		};
+#endif
 	};
 
 	lumentum_ocm: lumentum-ocm@3 {
@@ -184,6 +208,7 @@
 };
 
 &i2c1 {
+#ifdef CLEARFOG_REV1
 	eeprom@53 {
 		compatible = "atmel,24c128";
 		reg = <0x53>;
@@ -194,6 +219,22 @@
 		// on the HW level. At least we can install that jumper and make the writes pass
 		// magically without fiddling with the DT and rebooting.
 	};
+#else
+	temperature@48 {
+		compatible = "ti,tmp175";
+		reg = <0x48>;
+	};
+
+	// 24CSxx is treated as two separate devices
+	eeprom@53 {
+		compatible = "atmel,24c64";
+		reg = <0x53>;
+	};
+	eeprom@5b {
+		compatible = "atmel,24cs64";
+		reg = <0x5b>;
+	};
+#endif
 
 	tlc59116@60 {
 		#address-cells = <1>;
@@ -281,5 +322,27 @@
 		};
 	};
 
+#ifdef CLEARFOG_REV1
 	/* ADT7463: it doesn't use the DT */
+#else
+	temperature@49 {
+		compatible = "ti,tmp175";
+		reg = <0x49>;
+	};
+
+	fancontrol@20 {
+		compatible = "maxim,max31790";
+		reg = <0x20>;
+	};
+
+	// 24CSxx is treated as two separate devices
+	eeprom@54 {
+		compatible = "atmel,24c64";
+		reg = <0x54>;
+	};
+	eeprom@5c {
+		compatible = "atmel,24cs64";
+		reg = <0x5c>;
+	};
+#endif
 };
diff --git a/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts
index 2eec33f..99a6f1d 100644
--- a/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts
+++ b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts
@@ -1,3 +1,4 @@
+#define CLEARFOG_REV1
 #include "sdn-roadm-clearfog.dtsi"
 
 &lumentum_ocm {
diff --git a/board/czechlight/clearfog/sdn-roadm-coherent-a-d-g2-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-g2-clearfog.dts
new file mode 100644
index 0000000..99a6f1d
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-g2-clearfog.dts
@@ -0,0 +1,82 @@
+#define CLEARFOG_REV1
+#include "sdn-roadm-clearfog.dtsi"
+
+&lumentum_ocm {
+	status = "disabled";
+};
+
+&i2c1 {
+	tlc59116@61 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		#gpio-cells = <2>;
+		compatible = "ti,tlc59116";
+		reg = <0x61>;
+
+		p8_green@0 {
+			label = "port8:green";
+			reg = <0>;
+		};
+		p8_red@1 {
+			label = "port8:red";
+			reg = <1>;
+		};
+		p7_green@2 {
+			label = "port7:green";
+			reg = <2>;
+		};
+		p7_red@3 {
+			label = "port7:red";
+			reg = <3>;
+		};
+		p6_green@4 {
+			label = "port6:green";
+			reg = <4>;
+		};
+		p6_red@5 {
+			label = "port6:red";
+			reg = <5>;
+		};
+		p5_green@6 {
+			label = "port5:green";
+			reg = <6>;
+		};
+		p5_red@7 {
+			label = "port5:red";
+			reg = <7>;
+		};
+		p4_green@8 {
+			label = "port4:green";
+			reg = <8>;
+		};
+		p4_red@9 {
+			label = "port4:red";
+			reg = <9>;
+		};
+		p3_green@10 {
+			label = "port3:green";
+			reg = <10>;
+		};
+		p3_red@11 {
+			label = "port3:red";
+			reg = <11>;
+		};
+		p2_green@12 {
+			label = "port2:green";
+			reg = <12>;
+		};
+		p2_red@13 {
+			label = "port2:red";
+			reg = <13>;
+		};
+		p1_green@14 {
+			label = "port1:green";
+			reg = <14>;
+		};
+		p1_red@15 {
+			label = "port1:red";
+			reg = <15>;
+		};
+	};
+
+};
diff --git a/board/czechlight/clearfog/sdn-roadm-hires-add-drop-g2-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-hires-add-drop-g2-clearfog.dts
new file mode 100644
index 0000000..39f5e7a
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-roadm-hires-add-drop-g2-clearfog.dts
@@ -0,0 +1 @@
+#include "sdn-roadm-clearfog.dtsi"
diff --git a/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts
index ca833c6..4fe1931 100644
--- a/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts
+++ b/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts
@@ -1,2 +1,3 @@
+#define CLEARFOG_REV1
 #include "sdn-roadm-clearfog.dtsi"
 #include "clearfog-output-voa.dtsi"
diff --git a/board/czechlight/clearfog/sdn-roadm-line-g2-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-line-g2-clearfog.dts
new file mode 100644
index 0000000..ca833c6
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-roadm-line-g2-clearfog.dts
@@ -0,0 +1,2 @@
+#include "sdn-roadm-clearfog.dtsi"
+#include "clearfog-output-voa.dtsi"
diff --git a/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts
index 39f5e7a..ca833c6 100644
--- a/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts
+++ b/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts
@@ -1 +1,2 @@
 #include "sdn-roadm-clearfog.dtsi"
+#include "clearfog-output-voa.dtsi"
diff --git a/configs/czechlight_clearfog_defconfig b/configs/czechlight_clearfog_defconfig
index 2669b55..121d256 100644
--- a/configs/czechlight_clearfog_defconfig
+++ b/configs/czechlight_clearfog_defconfig
@@ -31,7 +31,7 @@
 BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/linux.fragment $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/common/linux.fragment"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
-BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/czechlight-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-inline-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/bare-cfb-base-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/bare-cfb-pro-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/clearfog-output-voa.dtsi"
+BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/czechlight-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-line-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-add-drop-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-inline-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-testing-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/bare-cfb-base-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/bare-cfb-pro-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/clearfog-output-voa.dtsi $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-line-g2-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-add-drop-g2-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-coherent-a-d-g2-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-roadm-hires-add-drop-g2-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/sdn-inline-g2-clearfog.dts"
 BR2_LINUX_KERNEL_INSTALL_TARGET=y
 BR2_PACKAGE_LINUX_TOOLS_GPIO=y
 BR2_PACKAGE_LINUX_TOOLS_IIO=y