On Fri, May 31, 2019 at 3:38 PM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > The IOP3xx has some elaborate code to directly slam the > GPIO lines multiplexed with I2C down low before enablement, > apparently a workaround for a hardware bug found in the > early chips. > > After consulting the developer documentation for IOP80321 > and IOP80331 I can clearly see that this may be useful for > IOP80321 family (mach-iop32x) but it is highly dubious for > any 80331 series or later chip: in these chips the lines > are not multiplexed for UARTs. > > We convert the code to pass optional GPIO descriptors > and register these only on the 80321-based boards where > it makes sense, optionally obtain them in the driver and > use the gpiod_set_raw_value() to ascertain the line gets > driven low when needed. > > The GPIO driver does not give the GPIO chip a reasonable > label so the patch also adds that so that these machine > descriptor tables can be used. > > Cc: arm@xxxxxxxxxx > Cc: Dan Williams <dan.j.williams@xxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > ARM SoC mainatiners: looking for a handshake ACK on this > so Wolfram can merge it into the I2C subsystem. > > Dan Williams: I have seen that you were patching IOP3xx code > in 2007, so maybe you remember something about this. I vaguely recall the need for this on iop32x and not needing it on iop33x. So you can take that as a tepid Acked-by from me.