* [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 [not found] <20240128161424.203600-1-sashal@kernel.org> @ 2024-01-28 16:14 ` Sasha Levin 2024-01-28 23:19 ` Tim Lunn 0 siblings, 1 reply; 3+ messages in thread From: Sasha Levin @ 2024-01-28 16:14 UTC (permalink / raw) To: linux-kernel, stable Cc: Tim Lunn, Heiko Stuebner, Andi Shyti, Wolfram Sang, Sasha Levin, linux-arm-kernel, linux-rockchip, linux-i2c From: Tim Lunn <tim@feathertop.org> [ 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. Signed-off-by: Tim Lunn <tim@feathertop.org> Acked-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Andi Shyti <andi.shyti@kernel.org> Signed-off-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/i2c/busses/i2c-rk3x.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c index 6aa4f1f06240..c8cd5cadcf56 100644 --- a/drivers/i2c/busses/i2c-rk3x.c +++ b/drivers/i2c/busses/i2c-rk3x.c @@ -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) { -- 2.43.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 2024-01-28 16:14 ` [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Sasha Levin @ 2024-01-28 23:19 ` Tim Lunn 2024-02-22 12:37 ` Sasha Levin 0 siblings, 1 reply; 3+ messages in thread From: Tim Lunn @ 2024-01-28 23:19 UTC (permalink / raw) To: Sasha Levin, linux-kernel, stable Cc: Heiko Stuebner, Andi Shyti, Wolfram Sang, linux-arm-kernel, linux-rockchip, linux-i2c Hi Sasha, Support for the rv1126 SoC was only added around linux 6.2 and 6.3, thus doesnt make sense to pick this patch up in 6.1 Regards Tim On 1/29/24 03:14, Sasha Levin wrote: > From: Tim Lunn <tim@feathertop.org> > > [ 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. > > Signed-off-by: Tim Lunn <tim@feathertop.org> > Acked-by: Heiko Stuebner <heiko@sntech.de> > Reviewed-by: Andi Shyti <andi.shyti@kernel.org> > Signed-off-by: Wolfram Sang <wsa@kernel.org> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > drivers/i2c/busses/i2c-rk3x.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c > index 6aa4f1f06240..c8cd5cadcf56 100644 > --- a/drivers/i2c/busses/i2c-rk3x.c > +++ b/drivers/i2c/busses/i2c-rk3x.c > @@ -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) { ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 2024-01-28 23:19 ` Tim Lunn @ 2024-02-22 12:37 ` Sasha Levin 0 siblings, 0 replies; 3+ messages in thread From: Sasha Levin @ 2024-02-22 12:37 UTC (permalink / raw) To: Tim Lunn Cc: linux-kernel, stable, Heiko Stuebner, Andi Shyti, Wolfram Sang, linux-arm-kernel, linux-rockchip, linux-i2c On Mon, Jan 29, 2024 at 10:19:35AM +1100, Tim Lunn wrote: >Hi Sasha, > > Support for the rv1126 SoC was only added around linux 6.2 and 6.3, >thus doesnt make sense to pick this patch up in 6.1 I'll drop it from 6.1 (and older), thanks! -- Thanks, Sasha ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-22 12:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240128161424.203600-1-sashal@kernel.org>
2024-01-28 16:14 ` [PATCH AUTOSEL 6.1 27/27] i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 Sasha Levin
2024-01-28 23:19 ` Tim Lunn
2024-02-22 12:37 ` Sasha Levin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox