[PATCH 3/3] i2c-s3c2410: Add HDMIPHY quirk for S3C2440

Marek Szyprowski m.szyprowski at samsung.com
Wed Apr 18 22:11:10 EST 2012


Hi Wolfram,

On Tuesday, April 17, 2012 7:40 PM Wolfram Sang wrote:

> On Wed, Mar 21, 2012 at 08:11:53PM +0100, Karol Lewandowski wrote:
> > This patch adds support for s3c2440 I2C bus controller dedicated HDMIPHY device on
> > Exynos4 platform. Some quirks are introduced due to differences between HDMIPHY
> > and other I2C controllers on Exynos4.  These differences are:
> > - no GPIOs, HDMIPHY is inside the SoC and the controller is connected
> >   internally
> > - due to unknown reason (probably HW bug in HDMIPHY and/or the controller) a
> >   transfer fails to finish. The controller hangs after sending the last byte,
> >   the workaround for this bug is resetting the controller after each transfer
> >
> > Signed-off-by: Tomasz Stanislawski <t.stanislaws at samsung.com>
> > Signed-off-by: Karol Lewandowski <k.lewandowsk at samsung.com>
> > Tested-by: Tomasz Stanislawski <t.stanislaws at samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.park at samsung.com>
> > ---
> >  .../devicetree/bindings/i2c/samsung-i2c.txt        |   11 +++++-
> >  drivers/i2c/busses/i2c-s3c2410.c                   |   35 ++++++++++++++++++++
> >  2 files changed, 44 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/i2c/samsung-i2c.txt
> b/Documentation/devicetree/bindings/i2c/samsung-i2c.txt
> > index 38832c7..c6670f9 100644
> > --- a/Documentation/devicetree/bindings/i2c/samsung-i2c.txt
> > +++ b/Documentation/devicetree/bindings/i2c/samsung-i2c.txt
> > @@ -10,14 +10,21 @@ Required properties:
> >      region.
> >    - interrupts: interrupt number to the cpu.
> >    - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
> > -  - gpios: The order of the gpios should be the following: <SDA, SCL>.
> > -    The gpio specifier depends on the gpio controller.
> >
> >  Optional properties:
> > +  - gpios: The order of the gpios should be the following: <SDA, SCL>.
> > +    The gpio specifier depends on the gpio controller. Required in all cases
> > +    except when "samsung,i2c-no-gpio" is also specified.
> > +  - samsung,i2c-no-gpio: input/output lines of the controller are
> > +    permanently wired to the respective client, there are no gpio
> > +    lines that need to be configured to enable this controller
> 
> Can't we just skip this property...

All standard s3c-24x0 i2c controllers require gpio lines for proper operation,
so lack of the gpios property should be considered as an error. However there
is a special case of internal, embedded i2c controller which has no such gpio 
lines at all.

> >    - samsung,i2c-slave-addr: Slave address in multi-master enviroment. If not
> >      specified, default value is 0.
> >    - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
> >      specified, the default value in Hz is 100000.
> > +  - samsung,i2c-quirk-hdmiphy: Quirk for HDMI PHY block found on
> > +    Exynos4 platform - reduce timeout and reset controller after each
> > +    transfer
> 
> ... and this one, if we declare a new compatible-entry for exynos4?

It is not strictly related to Exynos4 SoCs. Exynos4 SoC has 8 standard s3c2440 style
i2c controllers and one additional, internal controller for HDMIPHY, which needs 
some workarounds in the driver. Maybe the quirk should be named 'broken timeout 
detection'

(snipped)

Best regards
-- 
Marek Szyprowski
Samsung Poland R&D Center




More information about the devicetree-discuss mailing list