[PATCH] i2c: riic: Allow setting frequencies lower than 50KHz

Claudiu posted 1 patch 1 week, 1 day ago
drivers/i2c/busses/i2c-riic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] i2c: riic: Allow setting frequencies lower than 50KHz
Posted by Claudiu 1 week, 1 day ago
From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

The MR1.CKS field is 3 bits wide and all the possible values (from 0 to
7) are valid. This is true for all the SoCs currently integrated in
upstream Linux. Take into account CKS=7 which allows setting bus
frequencies lower than 50KHz. This may be useful at least for debugging.

Fixes: d982d6651419 ("i2c: riic: remove clock and frequency restrictions")
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
---
 drivers/i2c/busses/i2c-riic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-riic.c b/drivers/i2c/busses/i2c-riic.c
index 9c164a4b9bb9..b0ee9ac45a97 100644
--- a/drivers/i2c/busses/i2c-riic.c
+++ b/drivers/i2c/busses/i2c-riic.c
@@ -386,7 +386,7 @@ static int riic_init_hw(struct riic_dev *riic)
 	 */
 	total_ticks = DIV_ROUND_UP(rate, t->bus_freq_hz ?: 1);
 
-	for (cks = 0; cks < 7; cks++) {
+	for (cks = 0; cks <= 7; cks++) {
 		/*
 		 * 60% low time must be less than BRL + 2 + 1
 		 * BRL max register value is 0x1F.
-- 
2.43.0
Re: [PATCH] i2c: riic: Allow setting frequencies lower than 50KHz
Posted by Wolfram Sang 1 week, 1 day ago
On Tue, Sep 23, 2025 at 05:18:26PM +0300, Claudiu wrote:
> From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
> 
> The MR1.CKS field is 3 bits wide and all the possible values (from 0 to
> 7) are valid. This is true for all the SoCs currently integrated in
> upstream Linux. Take into account CKS=7 which allows setting bus
> frequencies lower than 50KHz. This may be useful at least for debugging.
> 
> Fixes: d982d6651419 ("i2c: riic: remove clock and frequency restrictions")
> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Applied to for-current, thanks!