devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Tim Lunn <tim@feathertop.org>, Andi Shyti <andi.shyti@kernel.org>
Cc: linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	Jagan Teki <jagan@edgeble.ai>, Rob Herring <robh+dt@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-i2c@vger.kernel.org
Subject: Re: [PATCH v2 3/9] i2c: rk3x: Adjust offset for i2c2 on rv1126
Date: Mon, 27 Nov 2023 01:26:13 +0100	[thread overview]
Message-ID: <4717511.tIAgqjz4sF@diego> (raw)
In-Reply-To: <20231126194311.jxkvz3kqgsbzfgek@zenone.zhora.eu>

Hi Andi,

Am Sonntag, 26. November 2023, 20:43:11 CET schrieb Andi Shyti:
> Hi Tim,
> 
> On Wed, Nov 22, 2023 at 11:22:26PM +1100, Tim Lunn wrote:
> > Rockchip RV1126 has special case mask bits for i2c2.
> > 
> > i2c2 wasnt previously enabled in rv1126.dtsi, adding DT node alone
> > is not sufficient to enable i2c2. This patch fixes the i2c2 bus.
> 
> If I don't have sufficient information about the hardware this
> description is completely meaningless to me.
> 
> > Signed-off-by: Tim Lunn <tim@feathertop.org>
> > ---
> > 
> > Changes in v2:
> > - i2c: clarify commit message
> > 
> >  drivers/i2c/busses/i2c-rk3x.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/i2c/busses/i2c-rk3x.c b/drivers/i2c/busses/i2c-rk3x.c
> > index a044ca0c35a1..151927466d1d 100644
> > --- a/drivers/i2c/busses/i2c-rk3x.c
> > +++ b/drivers/i2c/busses/i2c-rk3x.c
> > @@ -1288,8 +1288,11 @@ 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);
> > +		if (i2c->soc_data == &rv1126_soc_data && bus_nr == 2)
> > +			value = BIT(20) | BIT(4);
> 
> Any chance to put a comment here as it is in the other
> assignment?
> 
> Are the two assignment mutually exclusive?
> 
> Heiko, any chance to take a look here?

So the background is, that on some SoCs Rockchip implemented to
different variants for the i2c controller. One new-style controller
that they started using in rk3066 and are using even today.

For these old socs they kept the "old" controller block as a sort
of fallback if the new thing didn't work out, and the bit above is
switching between the 

Hence that is limited to rk3066, rk3188 and seemingly the rv1126.
And while the bits controlling the i2c controllers on the original socs
are order sequentially in the grf register, the rv1126 seems to have
those bits in non-consequtive places.


So TL;DR the change itself is likely good, and hopefully there won't
be any more of those, as all the new socs don't need this anymore.

I do agree with the request for a comment describing the issue
in the code, but otherwise

Acked-by: Heiko Stuebner <heiko@sntech.de>



  reply	other threads:[~2023-11-27  0:26 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-22 12:22 [PATCH v2 0/9] Add support for Sonoff iHost RV1126 Smart Home Gateway Tim Lunn
2023-11-22 12:22 ` [PATCH v2 1/9] ARM: dts: rockchip: rv1126: Add alternate UART pins Tim Lunn
2023-11-22 12:22 ` [PATCH v2 2/9] ARM: dts: rockchip: rv1126: Serial aliases Tim Lunn
2023-11-22 12:29   ` Krzysztof Kozlowski
2023-11-22 12:22 ` [PATCH v2 3/9] i2c: rk3x: Adjust offset for i2c2 on rv1126 Tim Lunn
2023-11-26 19:43   ` Andi Shyti
2023-11-27  0:26     ` Heiko Stübner [this message]
2023-11-27 10:11       ` Tim Lunn
2023-11-27 21:57         ` Andi Shyti
2023-11-22 12:22 ` [PATCH v2 4/9] ARM: dts: rockchip: rv1126: Add i2c2 nodes Tim Lunn
2023-11-22 12:29   ` Krzysztof Kozlowski
2023-11-22 13:09     ` Tim Lunn
2023-11-26 23:06     ` Heiko Stübner
2023-11-27  6:52       ` Krzysztof Kozlowski
2023-11-27  9:23         ` Tim Lunn
2023-11-27  9:27           ` Krzysztof Kozlowski
2023-11-27  9:45             ` Heiko Stübner
2023-11-27  9:58               ` Tim Lunn
2023-11-27 10:29                 ` Heiko Stübner
2023-11-27 10:43                   ` Dragan Simic
2023-11-27 10:50                     ` Heiko Stübner
2023-11-27 10:55                       ` Dragan Simic
2023-11-27 11:10                         ` Heiko Stübner
2023-11-27 13:07                           ` Dragan Simic
2023-12-12  8:04                             ` Dragan Simic
2023-11-27 12:52                   ` Tim Lunn
2023-11-27 23:11               ` Alex Bee
2023-11-27 23:35                 ` Heiko Stübner
2023-11-22 12:22 ` [PATCH v2 5/9] ARM: dts: rockchip: rv1126: Split up rgmii1 pinctrl Tim Lunn
2023-11-22 12:22 ` [PATCH v2 6/9] ARM: dts: rockchip: rv1126: Add ethernet alias Tim Lunn
2023-11-22 12:22 ` [PATCH v2 7/9] ARM: dts: rockchip: Add rv1109 SoC Tim Lunn
2023-11-22 12:22 ` [PATCH v2 8/9] ARM: dts: Add Sonoff iHost Smart Home Hub Tim Lunn
2023-11-22 12:22 ` [PATCH v2 9/9] dt-bindings: arm: rockchip: Add Sonoff iHost Tim Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4717511.tIAgqjz4sF@diego \
    --to=heiko@sntech.de \
    --cc=andi.shyti@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jagan@edgeble.ai \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=tim@feathertop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).