secubox-deb/kernel-build/patches/002-i2c-mv64xxx-increase-errata-delay.patch
CyberMind-FR 5c3afdd521 feat(kernel): Add I2C timing patches for LED driver reliability
Created kernel patches to fix I2C timing issues with IS31FL319X LED
controller on Marvell Armada platforms (errata FE-8471889):

- 001-leds-is31fl319x-add-i2c-delays.patch: Adds 1ms delays between
  I2C register writes in LED driver to prevent bus errors
- 002-i2c-mv64xxx-increase-errata-delay.patch: Increases mv64xxx
  errata delay from 5µs to 50µs for more reliable operation

Updated .gitignore to track kernel-build/patches/ while still
ignoring build outputs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-08 09:21:21 +02:00

37 lines
1.2 KiB
Diff

From: Gerald KERMA <devel@cybermind.fr>
Subject: i2c: mv64xxx: increase errata delay for reliable operation
Increase the errata FE-8471889 delay from 5us to 50us for more reliable
I2C operation on Marvell Armada platforms. The original 5us delay is
sometimes insufficient when working with slow I2C devices like LED
controllers (IS31FL319X) that require additional setup time.
This delay is only applied in standard mode (100kHz) for compatible
devices (marvell,mv78230-i2c and marvell,mv78230-a0-i2c).
Signed-off-by: Gerald KERMA <devel@cybermind.fr>
---
drivers/i2c/busses/i2c-mv64xxx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -340,7 +340,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
drv_data->state = MV64XXX_I2C_STATE_WAITING_FOR_START_COND;
if (drv_data->errata_delay)
- udelay(5);
+ udelay(50);
drv_data->state = MV64XXX_I2C_STATE_IDLE;
}
@@ -502,7 +502,7 @@ mv64xxx_i2c_send_start(struct mv64xxx_i2c_data *drv_data)
drv_data->state = MV64XXX_I2C_STATE_WAITING_FOR_START_COND;
if (drv_data->errata_delay)
- udelay(5);
+ udelay(50);
}
static void