Hardware support for new inline amplifier

Change-Id: I5db3af1f3e54e035916b22d1daa10c1954c4bb95
diff --git a/board/czechlight/clearfog/linux.fragment b/board/czechlight/clearfog/linux.fragment
index 5d353f4..08a0352 100644
--- a/board/czechlight/clearfog/linux.fragment
+++ b/board/czechlight/clearfog/linux.fragment
@@ -29,6 +29,10 @@
 CONFIG_SFP=y
 CONFIG_IGB=y
 
+# optoswitch PCB
+CONFIG_IIO=y
+CONFIG_AD5593R=y
+
 CONFIG_MACH_ARMADA_370=n
 CONFIG_MACH_ARMADA_375=n
 CONFIG_MACH_ARMADA_39X=n
diff --git a/board/czechlight/clearfog/sdn-inline-clearfog.dts b/board/czechlight/clearfog/sdn-inline-clearfog.dts
new file mode 100644
index 0000000..b11a5c6
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-inline-clearfog.dts
@@ -0,0 +1,82 @@
+#include <dt-bindings/iio/adi,ad5592r.h>
+#include "sdn-roadm-clearfog.dtsi"
+
+&lumentum_ocm {
+	status = "disabled";
+};
+
+&i2c1 {
+	eeprom@54 {
+		compatible = "atmel,24c128";
+		reg = <0x54>;
+		pagesize = <64>;
+	};
+
+	ad5593r@11 {
+		#size-cells = <0>;
+		#address-cells = <1>;
+		#gpio-cells = <2>;
+		compatible = "adi,ad5593r";
+		reg = <0x11>;
+		gpio-controller;
+
+		gpio-line-names =
+			"VOA0_DAC",
+			"VOA1_DAC",
+			"SWITCH1_ON",
+			"SWITCH2_ON",
+			"ST1_34",
+			"ST1_78",
+			"ST2_34",
+			"ST2_78"
+			;
+
+		channel@0 {
+			reg = <0>;
+			adi,mode = <CH_MODE_DAC_AND_ADC>;
+			adi,off-state = <CH_OFFSTATE_PULLDOWN>;
+		};
+
+		channel@1 {
+			reg = <1>;
+			adi,mode = <CH_MODE_DAC_AND_ADC>;
+			adi,off-state = <CH_OFFSTATE_PULLDOWN>;
+		};
+
+		channel@2 {
+			reg = <2>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_PULLDOWN>;
+		};
+
+		channel@3 {
+			reg = <3>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_PULLDOWN>;
+		};
+
+		channel@4 {
+			reg = <4>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_OUT_TRISTATE>;
+		};
+
+		channel@5 {
+			reg = <5>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_OUT_TRISTATE>;
+		};
+
+		channel@6 {
+			reg = <6>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_OUT_TRISTATE>;
+		};
+
+		channel@7 {
+			reg = <7>;
+			adi,mode = <CH_MODE_GPIO>;
+			adi,off-state = <CH_OFFSTATE_OUT_TRISTATE>;
+		};
+	};
+};
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
index 238a849..89b2d81 100644
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
+++ b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
@@ -4,6 +4,7 @@
 ConditionKernelCommandLine=|czechlight=sdn-roadm-add-drop
 ConditionKernelCommandLine=|czechlight=sdn-roadm-line
 ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
+ConditionKernelCommandLine=|czechlight=sdn-inline
 Before=sysrepod.service
 
 [Service]
diff --git a/configs/czechlight_clearfog_defconfig b/configs/czechlight_clearfog_defconfig
index ded3c4f..c5663d9 100644
--- a/configs/czechlight_clearfog_defconfig
+++ b/configs/czechlight_clearfog_defconfig
@@ -29,7 +29,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/CL-ROADMv2-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-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_LINUX_KERNEL_CUSTOM_DTS_PATH="$(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/czechlight-clearfog.dts $(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/clearfog/CL-ROADMv2-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_LINUX_KERNEL_INSTALL_TARGET=y
 BR2_PACKAGE_LINUX_TOOLS_GPIO=y
 BR2_PACKAGE_LINUX_TOOLS_PERF=y