diff mbox series

[2/2] i2c: rcar: Add R-Car Gen4 support

Message ID 127a63594229deca2f63c7393b9bdf17b572163a.1643898531.git.geert+renesas@glider.be
State Accepted
Commit ea01b71b07993d5c518496692f476a3c6b5d9786
Headers show
Series i2c: rcar: Add R-Car S4-8 support | expand

Commit Message

Geert Uytterhoeven Feb. 3, 2022, 2:33 p.m. UTC
Add support for the I2C Bus Interface on R-Car Gen4 SoCs (e.g. R-Car
S4-8) by matching on a family-specific compatible value.

While I2C on R-Car Gen4 does support some extra features (Slave Clock
Stretch Select, Fast-mode Plus), for now it is treated the same as I2C
on R-Car Gen3.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
 drivers/i2c/busses/i2c-rcar.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Geert Uytterhoeven Feb. 8, 2022, 8:08 a.m. UTC | #1
On Thu, Feb 3, 2022 at 3:33 PM Geert Uytterhoeven
<geert+renesas@glider.be> wrote:
> Add support for the I2C Bus Interface on R-Car Gen4 SoCs (e.g. R-Car
> S4-8) by matching on a family-specific compatible value.
>
> While I2C on R-Car Gen4 does support some extra features (Slave Clock
> Stretch Select, Fast-mode Plus), for now it is treated the same as I2C

Correction: R-Car S4 does not support Fast-mode Plus, so there will be
a v2 of this patch, eventually.

> on R-Car Gen3.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Wolfram Sang Feb. 8, 2022, 12:35 p.m. UTC | #2
> > While I2C on R-Car Gen4 does support some extra features (Slave Clock
> > Stretch Select, Fast-mode Plus), for now it is treated the same as I2C
> 
> Correction: R-Car S4 does not support Fast-mode Plus, so there will be
> a v2 of this patch, eventually.

But why? Unless we implement slave clock stretching, we can still keep
it at Gen3 level. Which does also not have FM+.
Geert Uytterhoeven Feb. 8, 2022, 2:30 p.m. UTC | #3
Hi Wolfram,

On Tue, Feb 8, 2022 at 1:35 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > > While I2C on R-Car Gen4 does support some extra features (Slave Clock
> > > Stretch Select, Fast-mode Plus), for now it is treated the same as I2C
> >
> > Correction: R-Car S4 does not support Fast-mode Plus, so there will be
> > a v2 of this patch, eventually.
>
> But why? Unless we implement slave clock stretching, we can still keep
> it at Gen3 level. Which does also not have FM+.

Don't we want to introduce a family-specific compatible value for
R-Car Gen4? At least the SCSS seems to be a new R-Car Gen4 feature
common to R-Car S4 and R-Car V3U (yes, the latter is advertised as
the first member of the R-Car Gen4 family, so I intend to move it
over to renesas,rcar-gen4-* where it makes sense).

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Wolfram Sang Feb. 8, 2022, 2:43 p.m. UTC | #4
> Don't we want to introduce a family-specific compatible value for
> R-Car Gen4? At least the SCSS seems to be a new R-Car Gen4 feature
> common to R-Car S4 and R-Car V3U (yes, the latter is advertised as
> the first member of the R-Car Gen4 family, so I intend to move it
> over to renesas,rcar-gen4-* where it makes sense).

Yeah, sure we want the family compatible. But for now it can point to
I2C_RCAR_GEN3, so the patch can stay as is. That is what I was wondering
about why a v2 was needed. If we add SCSS, we can update the family
compatible data for Gen4 to I2C_RCAR_GEN4. Unless I miss something.
Geert Uytterhoeven Feb. 8, 2022, 2:50 p.m. UTC | #5
Hi Wolfram,

On Tue, Feb 8, 2022 at 3:43 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
> > Don't we want to introduce a family-specific compatible value for
> > R-Car Gen4? At least the SCSS seems to be a new R-Car Gen4 feature
> > common to R-Car S4 and R-Car V3U (yes, the latter is advertised as
> > the first member of the R-Car Gen4 family, so I intend to move it
> > over to renesas,rcar-gen4-* where it makes sense).
>
> Yeah, sure we want the family compatible. But for now it can point to
> I2C_RCAR_GEN3, so the patch can stay as is. That is what I was wondering
> about why a v2 was needed. If we add SCSS, we can update the family
> compatible data for Gen4 to I2C_RCAR_GEN4. Unless I miss something.

Ah, there's the source of the confusion! ;-)

There's a need for a v2 because the patch description says R-Car S4
supports FM+, which is false.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Wolfram Sang Feb. 10, 2022, 10:16 p.m. UTC | #6
On Tue, Feb 08, 2022 at 03:50:02PM +0100, Geert Uytterhoeven wrote:
> Hi Wolfram,
> 
> On Tue, Feb 8, 2022 at 3:43 PM Wolfram Sang
> <wsa+renesas@sang-engineering.com> wrote:
> > > Don't we want to introduce a family-specific compatible value for
> > > R-Car Gen4? At least the SCSS seems to be a new R-Car Gen4 feature
> > > common to R-Car S4 and R-Car V3U (yes, the latter is advertised as
> > > the first member of the R-Car Gen4 family, so I intend to move it
> > > over to renesas,rcar-gen4-* where it makes sense).
> >
> > Yeah, sure we want the family compatible. But for now it can point to
> > I2C_RCAR_GEN3, so the patch can stay as is. That is what I was wondering
> > about why a v2 was needed. If we add SCSS, we can update the family
> > compatible data for Gen4 to I2C_RCAR_GEN4. Unless I miss something.
> 
> Ah, there's the source of the confusion! ;-)
> 
> There's a need for a v2 because the patch description says R-Car S4
> supports FM+, which is false.

Now we got it! :)

Well, I can simply remove FM+ from the message when applying?

Anyway, with the above fixed:

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Wolfram Sang Feb. 11, 2022, 5:33 p.m. UTC | #7
On Thu, Feb 03, 2022 at 03:33:17PM +0100, Geert Uytterhoeven wrote:
> Add support for the I2C Bus Interface on R-Car Gen4 SoCs (e.g. R-Car
> S4-8) by matching on a family-specific compatible value.
> 
> While I2C on R-Car Gen4 does support some extra features (Slave Clock
> Stretch Select, Fast-mode Plus), for now it is treated the same as I2C
> on R-Car Gen3.
> 
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

Fixed commit message and applied to for-next, thanks!
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index f71c730f9838d89c..0db3d755906627d7 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -1008,6 +1008,7 @@  static const struct of_device_id rcar_i2c_dt_ids[] = {
 	{ .compatible = "renesas,rcar-gen1-i2c", .data = (void *)I2C_RCAR_GEN1 },
 	{ .compatible = "renesas,rcar-gen2-i2c", .data = (void *)I2C_RCAR_GEN2 },
 	{ .compatible = "renesas,rcar-gen3-i2c", .data = (void *)I2C_RCAR_GEN3 },
+	{ .compatible = "renesas,rcar-gen4-i2c", .data = (void *)I2C_RCAR_GEN3 },
 	{},
 };
 MODULE_DEVICE_TABLE(of, rcar_i2c_dt_ids);