linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
  • * [PATCH v7 0/5] AT91: replace broken TWI driver i2c-at91.c
           [not found] <cover.1322062555.git.n.voss@weinmann.de>
           [not found] ` <ee23c49c5a190a2cce0859f7828c2dc771ff3207.1322062555.git.n.voss@weinmann.de>
    @ 2011-11-23 23:32 ` Ben Dooks
      2011-11-24  6:33   ` Voss, Nikolaus
      2011-11-25 15:42 ` Hubert Feurstein
      2 siblings, 1 reply; 11+ messages in thread
    From: Ben Dooks @ 2011-11-23 23:32 UTC (permalink / raw)
      To: linux-arm-kernel
    
    
    On Wed, Nov 23, 2011 at 04:35:55PM +0100, Nikolaus Voss wrote:
    > The old driver has two main deficencies:
    > i)  No repeated start (Sr) condiction is possible, this makes it unusable
    >     e.g. for most SMBus transfers.
    > ii) I/O was done with polling/busy waiting what caused over-/underruns
    >     even at light system loads and clock speeds.
    > 
    > The new driver overcomes these deficencies and in addition allows for
    > more than one TWI interface.
    > 
    > A remaining limitation is the fact, that only one repeated start is
    > possible (two concatenated messages). This limitation is imposed by
    > the hardware. However, this should not be a problem as all common
    > i2c-client communication does not rely on more than one repeated start.
    > 
    > v7: Patch 4/5: i)  fix bug if internal address > 1 byte
    >                ii) send stop when len == 1
    >                    (both reported by Carsten Behling)
    > v6: Patch 5/5: support for I2C_SMBUS_BLOCK_DATA transfers.
    >     Better use of clk_(un)prepare().
    >     More sensible transfer timeout.
    > v5: Another round of review comments from Ryan Mallon, Felipe Balbi
    >     and Russell King: convert twi clk to use .dev_id, cleanups
    > v4: Integrated more review comments from Ryan Mallon and Felipe Balbi:
    >     Moved register include file to local include, code cleanups
    > v3: Integrated review comments from Ryan Mallon and Felipe Balbi
    > v2: Fixed whitespace issue
    > 
    > Nikolaus Voss (5):
    >   drivers/i2c/busses/i2c-at91.c: remove broken driver
    >   Replace clk_lookup.con_id with clk_lookup.dev_id entries for twi clk
    >   drivers/i2c/busses/i2c-at91.c: add new driver
    >   G45 TWI: remove open drain setting for twi function gpios
    >   i2c-at91.c: add SMBUS_READ_BLOCK_DATA functionality
    
    Is the original driver so broken that the two could not co-exist, or are
    we making so many changes that there's no point in keeping the original
    one?
     
    >  arch/arm/mach-at91/at91cap9.c              |    1 +
    >  arch/arm/mach-at91/at91rm9200.c            |    1 +
    >  arch/arm/mach-at91/at91sam9260.c           |    1 +
    >  arch/arm/mach-at91/at91sam9261.c           |    1 +
    >  arch/arm/mach-at91/at91sam9263.c           |    1 +
    >  arch/arm/mach-at91/at91sam9g45.c           |    2 +
    >  arch/arm/mach-at91/at91sam9g45_devices.c   |    6 -
    >  arch/arm/mach-at91/at91sam9rl.c            |    2 +
    >  arch/arm/mach-at91/include/mach/at91_twi.h |   68 ----
    >  drivers/i2c/busses/Kconfig                 |   11 +-
    >  drivers/i2c/busses/i2c-at91.c              |  529 +++++++++++++++++-----------
    >  drivers/i2c/busses/i2c-at91.h              |   80 +++++
    >  12 files changed, 408 insertions(+), 295 deletions(-)
    >  delete mode 100644 arch/arm/mach-at91/include/mach/at91_twi.h
    >  create mode 100644 drivers/i2c/busses/i2c-at91.h
    > 
    > -- 
    > 1.7.5.4
    > 
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
    > the body of a message to majordomo at vger.kernel.org
    > More majordomo info at  http://vger.kernel.org/majordomo-info.html
    
    -- 
    Ben Dooks, ben at fluff.org, http://www.fluff.org/ben/
    
    Large Hadron Colada: A large Pina Colada that makes the universe disappear.
    
    ^ permalink raw reply	[flat|nested] 11+ messages in thread
  • * [PATCH v7 0/5] AT91: replace broken TWI driver i2c-at91.c
           [not found] <cover.1322062555.git.n.voss@weinmann.de>
           [not found] ` <ee23c49c5a190a2cce0859f7828c2dc771ff3207.1322062555.git.n.voss@weinmann.de>
      2011-11-23 23:32 ` [PATCH v7 0/5] AT91: replace broken TWI driver i2c-at91.c Ben Dooks
    @ 2011-11-25 15:42 ` Hubert Feurstein
      2011-12-28 13:36   ` AW: " Carsten Behling
      2 siblings, 1 reply; 11+ messages in thread
    From: Hubert Feurstein @ 2011-11-25 15:42 UTC (permalink / raw)
      To: linux-arm-kernel
    
    Hi,
    
    I've tested this driver on a 2.6.38 kernel with several i2c clients
    (temp-sensor, audio-codec, touchscreen-controller, w1-bridge,
    io-expanders) and works without problems. SoC: at91sam9g45
    
    Because of the 2.6.38 kernel, I had to skip "[PATCH v7 2/5] Replace
    clk_lookup.con_id with clk_lookup.dev_id entries for twi clk" and used
    instead: at91_clock_associate("twi0_clk", &at91sam9g45_twi0_device.dev,
    "twi_clk");
    
    Best Regards
    Hubert
    
    On 2011-11-23 16:35, Nikolaus Voss wrote:
    > The old driver has two main deficencies:
    > i)  No repeated start (Sr) condiction is possible, this makes it unusable
    >     e.g. for most SMBus transfers.
    > ii) I/O was done with polling/busy waiting what caused over-/underruns
    >     even at light system loads and clock speeds.
    > 
    > The new driver overcomes these deficencies and in addition allows for
    > more than one TWI interface.
    > 
    
    Tested-by: Hubert Feurstein <h.feurstein@gmail.com>
    
    ^ permalink raw reply	[flat|nested] 11+ messages in thread

  • end of thread, other threads:[~2012-01-11 14:06 UTC | newest]
    
    Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <cover.1322062555.git.n.voss@weinmann.de>
         [not found] ` <ee23c49c5a190a2cce0859f7828c2dc771ff3207.1322062555.git.n.voss@weinmann.de>
    2011-11-23 16:18   ` [PATCH v7 3/5] drivers/i2c/busses/i2c-at91.c: add new driver Arnd Bergmann
    2011-11-24 10:33     ` Voss, Nikolaus
    2011-11-24 15:39       ` Arnd Bergmann
    2011-11-24 16:36         ` Voss, Nikolaus
    2011-11-24 16:47           ` Arnd Bergmann
    2011-11-23 23:32 ` [PATCH v7 0/5] AT91: replace broken TWI driver i2c-at91.c Ben Dooks
    2011-11-24  6:33   ` Voss, Nikolaus
    2011-11-24 22:13     ` Ryan Mallon
    2011-11-25 15:42 ` Hubert Feurstein
    2011-12-28 13:36   ` AW: " Carsten Behling
    2012-01-11 14:06     ` Voss, Nikolaus
    

    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).