clearfog: prepare for PMBus support
I think that this is actually a nice use case for the preprocessor,
contrary to what the doc says :)
Change-Id: I1017b4c1646916eae7570d6941e8d1b74b963362
diff --git a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
index 7970c51..a4c6788 100644
--- a/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
+++ b/board/czechlight/clearfog/sdn-roadm-clearfog.dtsi
@@ -4,6 +4,8 @@
status = "okay";
};
+#undef CLEARFOG_PMBUS_BITBANG
+
/ {
clocks {
spi_uart_clk: osc_max14830 {
@@ -22,6 +24,7 @@
};
};
+#ifdef CLEARFOG_PMBUS_BITBANG
gpio_i2c {
compatible = "i2c-gpio";
sda-gpios = <&gpio0 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
@@ -30,6 +33,7 @@
#address-cells = <1>;
#size-cells = <0>;
};
+#endif
gpio-leds {
compatible = "gpio-leds";
@@ -54,6 +58,7 @@
};
};
+#ifdef CLEARFOG_PMBUS_BITBANG
&uart1_pins {
status = "disabled";
};
@@ -61,6 +66,7 @@
&uart1 {
status = "disabled";
};
+#endif
&gpio1 {
spi_int {
@@ -104,6 +110,36 @@
"EDFA2_OUTPUT_POWER_MUTE",
"" /* not used, not routed anywhere */
;
+
+ i2c_bitbang_enable {
+ gpio-hog;
+ gpios = <7 GPIO_ACTIVE_HIGH>;
+#ifdef CLEARFOG_PMBUS_BITBANG
+ output-high;
+#else
+ output-low;
+#endif
+ line-name = "I2C bitbang bus";
+ };
+
+ i2c_xor_high {
+ gpio-hog;
+ gpios = <6 GPIO_ACTIVE_HIGH>;
+ //output-low; // XOR byte 0b0001111
+ output-high; // XOR byte 0b1101111
+ line-name = "I2C XOR high";
+ };
+
+ i2c_xor_enable {
+ gpio-hog;
+ gpios = <5 GPIO_ACTIVE_HIGH>;
+#ifdef CLEARFOG_PMBUS_BITBANG
+ output-low;
+#else
+ output-high;
+#endif
+ line-name = "I2C addr xlate";
+ };
};
gpio_spi_chips: gpio@1 {
@@ -191,4 +227,7 @@
/* ADT7463: it doesn't use the DT */
+#ifndef CLEARFOG_PMBUS_BITBANG
+ /* TODO: pmbus, but that needs a disabled PEC... */
+#endif
};