Skip to contentSkip to conversation

Patch "i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126" has been added to the 6.1-stable tree

DISCUSSION Tim Lunn 2 participants 2 messages Feb 2, 2024 1 message not in the archive Stable branch

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Tim Lunn

author
#1 lore raw

Hi,
  This patch should not be added to 6.1 stable since support for the Rockchip rv1126 SoC was only added later around 6.3.

Regards
   Tim

Quoted 55 lines · Sasha Levin

This is a note to let you know that I've just added the patch titled

i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126

to the 6.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:

      i2c-rk3x-adjust-mask-value-offset-for-i2c2-on-rv1126.patch

and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

commit 415eb64a74fe97dc85bcad99deaecfe57dce6b6a

Author: Tim Lunn <[email protected]>
Date:   Sun Dec 3 23:39:59 2023 +1100

i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126

[ Upstream commit 92a85b7c6262f19c65a1c115cf15f411ba65a57c ]

Rockchip RV1126 is using old style i2c controller, the i2c2 bus uses a non-sequential offset in the grf register for the mask/value bits for this bus.

This patch fixes i2c2 bus on rv1126 SoCs.

drivers/i2c/busses/i2c-rk3x.c +6 -2
index 6aa4f1f06240..c8cd5cadcf56 100644
@@ -1295,8 +1295,12 @@ static int rk3x_i2c_probe(struct platform_device *pdev)
  			return -EINVAL;
  		}
 
-		/* 27+i: write mask, 11+i: value */
-		value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
+		/* rv1126 i2c2 uses non-sequential write mask 20, value 4 */
+		if (i2c->soc_data == &rv1126_soc_data && bus_nr == 2)
+			value = BIT(20) | BIT(4);
+		else
+			/* 27+i: write mask, 11+i: value */
+			value = BIT(27 + bus_nr) | BIT(11 + bus_nr);
 
  		ret = regmap_write(grf, i2c->soc_data->grf_offset, value);
  		if (ret != 0) {
maintainer
#2 lore raw
Quoted 2 lines · Tim Lunn

Hi,
  This patch should not be added to 6.1 stable since support for the Rockchip rv1126 SoC was only added later around 6.3.

I'll drop it from 6.1, thanks!

Signature · 2 lines
Thanks,
Sasha