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