Coherent Add/Drop

This device has an Oplink/Molex ITMA instead of the Lumentum OCM, but
that does not need any DT configuration. There's also a second TLC59116
for per-add-port status control.

LED numbering on the add-on board goes backwards, but that's not really
an issue.

Change-Id: I285b730c16934d2638c005329253b0207fa69fde
diff --git a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
index 344d1db..04d5b38 100644
--- a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
+++ b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
@@ -189,7 +189,7 @@
 		};
 	};
 
-	lumentum-ocm@3 {
+	lumentum_ocm: lumentum-ocm@3 {
 		compatible = "lumentum-ocm";
 		reg = <3>;
 		spi-max-frequency = <12000000>;
diff --git a/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts
new file mode 100644
index 0000000..2eec33f
--- /dev/null
+++ b/board/czechlight/clearfog/sdn-roadm-coherent-a-d-clearfog.dts
@@ -0,0 +1,81 @@
+#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/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
index 50f8868..238a849 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
@@ -3,6 +3,7 @@
 ConditionKernelCommandLine=|czechlight=CL-ROADMv2
 ConditionKernelCommandLine=|czechlight=sdn-roadm-add-drop
 ConditionKernelCommandLine=|czechlight=sdn-roadm-line
+ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
 Before=sysrepod.service
 
 [Service]
diff --git a/configs/czechlight_clearfog_defconfig b/configs/czechlight_clearfog_defconfig
index bec1237..ff10c0b 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-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-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
diff --git a/package/czechlight-clearfog-leds/clearfog-test-leds.sh b/package/czechlight-clearfog-leds/clearfog-test-leds.sh
index 0b228e2..27e31ce 100755
--- a/package/czechlight-clearfog-leds/clearfog-test-leds.sh
+++ b/package/czechlight-clearfog-leds/clearfog-test-leds.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-LEDS=(NONE status:{red,green,blue} uid:{red,green,blue} line:{red,green,blue} sfp:{red,green,blue})
+LEDS=(NONE led5:{red,green,blue} status:{red,green,blue} uid:{red,green,blue} line:{red,green,blue} sfp:{red,green,blue} port1:{red,green} port2:{red,green} port3:{red,green} port4:{red,green} port5:{red,green} port6:{red,green} port7:{red,green} port8:{red,green})
 
 LAST=${#LEDS[@]}
 let "LAST2 = $LAST - 1"