Re: [PATCH 03/17] ARM: dts: r8a7742: Add I2C and IIC support

From: Geert Uytterhoeven
Date: Mon May 25 2020 - 04:23:23 EST

Hi Wolfram,

On Fri, May 22, 2020 at 10:17 PM Wolfram Sang
<wsa+renesas@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > According to the Hardware User's Manual Rev. 1.00, the registers do exist
> > > on all RZ/G1, except for RZ/G1E (see below).
> > >
> > > "(automatic transmission can be used as a hardware function, but this is
> > > not meaningful for actual use cases)."
> > >
> > > (whatever that comment may mean?)
> Strange comment, in deed. Given the paragraph before, I would guess Gen1
> maybe had a "fitting" PMIC where SoC/PMIC handled DVFS kind of magically
> with this automatic transfer feature? And Gen2 has not.
> > > On R-Car E3 and RZ/G2E, which have a single IIC instance, we
> > > handled that by:
> > >
> > > The r8a77990 (R-Car E3) and r8a774c0 (RZ/G2E)
> > > controllers are not considered compatible with
> > > "renesas,rcar-gen3-iic" or "renesas,rmobile-iic"
> > > due to the absence of automatic transmission registers.
> From a "describe the HW" point of view, this still makes sense to me.
> Although, it is unlikely we will add support for the automatic
> transmission feature (maybe famous last words).


> > > On R-Car E2 and RZ/G1E, we forgot, and used both SoC-specific and
> > > family-specific compatible values.
> Okay, but we can fix DTs when they have bugs, or?

We can. But we also have to consider DT backwards compatibility: i.e.
using an old DTB with a future kernel implementing the automatic
transmission feature.

Fortunately R-Car E2 and RZ/G1E have SoC-specific compatible values,
so we can easily blacklist it in the driver based on that.
Blacklisting the last instance on the other SoCs is uglier, as it needs a
quirk that checks both the SoC-compatible value and the absence of the
generic compatible value. But it can still be done.

Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
i.e. will queue in renesas-devel for v5.9.



Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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