1. 12 3月, 2015 1 次提交
  2. 07 3月, 2015 5 次提交
  3. 21 2月, 2015 1 次提交
  4. 20 2月, 2015 1 次提交
  5. 17 2月, 2015 2 次提交
  6. 06 2月, 2015 4 次提交
  7. 31 1月, 2015 1 次提交
  8. 27 1月, 2015 3 次提交
  9. 26 1月, 2015 4 次提交
  10. 24 1月, 2015 4 次提交
  11. 23 1月, 2015 2 次提交
  12. 22 1月, 2015 2 次提交
  13. 14 1月, 2015 3 次提交
  14. 13 1月, 2015 5 次提交
    • N
      i2c: imx: fix handling of wait_for_completion_timeout result · cb9eaba4
      Nicholas Mc Guire 提交于
      wait_for_completion_timeout does not return negative values so
      "result" handling here should be simplified to cover the actually
      possible cases only.
      Signed-off-by: NNicholas Mc Guire <der.herr@hofr.at>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      cb9eaba4
    • D
      i2c: rk3x: Account for repeated start time requirement · 387f0de6
      Doug Anderson 提交于
      On Rockchip I2C the controller drops SDA low slightly too soon to meet
      the "repeated start" requirements.
      
      >From my own experimentation over a number of rates:
       - controller appears to drop SDA at .875x (7/8) programmed clk high.
       - controller appears to keep SCL high for 2x programmed clk high.
      
      The first rule isn't enough to meet tSU;STA requirements in
      Standard-mode on the system I tested on.  The second rule is probably
      enough to meet tHD;STA requirements in nearly all cases (especially
      after accounting for the first), but it doesn't hurt to account for it
      anyway just in case.
      
      Even though the repeated start requirement only need to be accounted
      for during a small part of the transfer, we'll adjust the timings for
      the whole transfer to meet it.  I believe that adjusting the timings
      in just the right place to switch things up for repeated start would
      require several extra interrupts and that doesn't seem terribly worth
      it.
      
      With this change and worst case rise/fall times, I see 100kHz i2c
      going to ~85kHz.  With slightly optimized rise/fall (800ns / 50ns) I
      see i2c going to ~89kHz.  Fast-mode isn't affected much because
      tSU;STA is shorter relative to tHD;STA there.
      
      As part of this change we needed to account for the SDA falling time.
      The specification indicates that this should be the same, but we'll
      follow Designware's lead and add a binding.  Note that we deviate from
      Designware and assign the default SDA falling time to be the same as
      the SCL falling time, which is incredibly likely.
      Signed-off-by: NDoug Anderson <dianders@chromium.org>
      [wsa: rebased to i2c/for-next]
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      387f0de6
    • A
      i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C specification · 1330e291
      addy ke 提交于
      The number of clock cycles to be written into the CLKDIV register
      that determines the I2C clk high phase includes the rise time.
      So to meet the timing requirements defined in the I2C specification
      which defines the minimal time SCL has to be high, the rise time
      has to taken into account. The same applies to the low phase with
      falling time.
      
      In my test on RK3288-Pink2 board, which is not an upstream board yet,
      if external pull-up resistor is 4.7K, rise_ns is about 700ns.
      So the measured high_ns is about 3900ns, which is less than 4000ns
      (the minimum high_ns in I2C specification for Standard-mode).
      
      To fix this bug min_low_ns should include fall time and min_high_ns
      should include rise time.
      
      This patch merged the patch from chromium project which can get the
      rise and fall times for signals from the device tree. This allows us
      to more accurately calculate timings. see:
      https://chromium-review.googlesource.com/#/c/232774/Signed-off-by: NAddy Ke <addy.ke@rock-chips.com>
      Reviewed-by: NDoug Anderson <dianders@chromium.org>
      Tested-by: NDoug Anderson <dianders@chromium.org>
      [wsa: fixed a typo in the docs]
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      1330e291
    • H
      i2c: cadence: Handle > 252 byte transfers · 9fae82e1
      Harini Katakam 提交于
      The I2C controller sends a NACK to the slave when transfer size register
      reaches zero, irrespective of the hold bit. So, in order to handle transfers
      greater than 252 bytes, the transfer size register has to be maintained at a
      value >= 1. This patch implements the same.
      The interrupt status is cleared at the beginning of the isr instead of
      the end, to avoid missing any interrupts.
      Signed-off-by: NHarini Katakam <harinik@xilinx.com>
      [wsa: added braces around else branch]
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      9fae82e1
    • W
      i2c: pmcmsp: remove dead code · 1c574993
      Wolfram Sang 提交于
      CPPCHECK rightfully says:
      
      drivers/i2c/busses/i2c-pmcmsp.c:151: style: The function 'pmcmsptwi_reg_to_clock' is never used.
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      1c574993
  15. 07 1月, 2015 1 次提交
  16. 23 12月, 2014 1 次提交
    • L
      i2c: Remove support for legacy PM · 523c5b89
      Lars-Peter Clausen 提交于
      There haven't been any I2C driver that use the legacy suspend/resume
      callbacks for a while now and new drivers are supposed to use PM ops. So
      remove support for legacy suspend/resume for I2C drivers.
      
      Since there aren't any special bus specific things to do during
      suspend/resume and since the PM core will automatically fallback directly to
      using the device's PM ops if no bus PM ops are specified there is no need to
      have any I2C bus PM ops.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
      523c5b89