kernel: enable GPIO-based I2C recovery on i2c0 as well

We have at least one board (on line-M0N) where the I2C-0 bus appears to
be stuck, so let's try to enable the exact same workaround which we
already have on I2C-1.

This kernel version is available on Gerrit as `cesnet/2024-01-03`.

Change-Id: I8e9cc7e4aeefc1e16e4164352b1ee537a8bcec69
diff --git a/board/czechlight/clearfog/linux.fragment b/board/czechlight/clearfog/linux.fragment
index e956912..0b3f385 100644
--- a/board/czechlight/clearfog/linux.fragment
+++ b/board/czechlight/clearfog/linux.fragment
@@ -52,4 +52,4 @@
 CONFIG_INPUT_MOUSE=n
 CONFIG_BPF_SYSCALL=y
 
-CONFIG_LOCALVERSION="-8-gc7eadc3bd7fb"
+CONFIG_LOCALVERSION="-9-gc5f9c141ed67"
diff --git a/board/czechlight/clearfog/patches/linux.patch b/board/czechlight/clearfog/patches/linux.patch
index acb3375..bd5ae3b 100644
--- a/board/czechlight/clearfog/patches/linux.patch
+++ b/board/czechlight/clearfog/patches/linux.patch
@@ -42,10 +42,23 @@
 +	};
 +};
 diff --git a/arch/arm/boot/dts/marvell/armada-388-clearfog.dtsi b/arch/arm/boot/dts/marvell/armada-388-clearfog.dtsi
-index f8a06ae4a3c9..8f32e05b6d87 100644
+index f8a06ae4a3c9..e14020e653a1 100644
 --- a/arch/arm/boot/dts/marvell/armada-388-clearfog.dtsi
 +++ b/arch/arm/boot/dts/marvell/armada-388-clearfog.dtsi
-@@ -196,8 +196,12 @@ &i2c1 {
+@@ -111,6 +111,12 @@ &eth2 {
+ };
+ 
+ &i2c0 {
++	pinctrl-0 = <&clearfog_i2c0_pins>;
++	pinctrl-1 = <&clearfog_i2c0_recovery_pins>;
++	pinctrl-names = "default", "gpio";
++	scl-gpios = <&gpio0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
++	sda-gpios = <&gpio0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
++
+ 	/*
+ 	 * PCA9655 GPIO expander, up to 1MHz clock.
+ 	 *  0-CON3 CLKREQ#
+@@ -196,16 +202,32 @@ &i2c1 {
  	 */
  	clock-frequency = <100000>;
  	pinctrl-0 = <&clearfog_i2c1_pins>;
@@ -59,7 +72,16 @@
  };
  
  &pinctrl {
-@@ -206,6 +210,10 @@ clearfog_i2c1_pins: i2c1-pins {
++	clearfog_i2c0_pins: i2c0-pins {
++		marvell,pins = "mpp2", "mpp3";
++		marvell,function = "i2c0";
++	};
++	clearfog_i2c0_recovery_pins: i2c0-recovery-pins {
++		marvell,pins = "mpp2", "mpp3";
++		marvell,function = "gpio";
++	};
+ 	clearfog_i2c1_pins: i2c1-pins {
+ 		/* SFP, PCIe, mSATA, mikrobus */
  		marvell,pins = "mpp26", "mpp27";
  		marvell,function = "i2c1";
  	};