devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] Qualcomm Universal Peripheral (QUP) I2C controller
@ 2014-02-21  0:38 Bjorn Andersson
       [not found] ` <1392943090-30556-1-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
  2014-02-21  0:38 ` [PATCH v3 2/2] i2c: New bus driver for the Qualcomm QUP I2C controller Bjorn Andersson
  0 siblings, 2 replies; 25+ messages in thread
From: Bjorn Andersson @ 2014-02-21  0:38 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Rob Landley, Wolfram Sang, Grant Likely, devicetree, linux-doc,
	linux-kernel, linux-i2c, linux-arm-msm, linux-arm-kernel

This third revision of the QUP I2C driver series comes with quite a bit of
cleanup and corrections. Most notably is the removal of the "magic" delay loops
and bug fixes related to larger than 32 byte reads and writes.

Special thanks to Andy Gross for helping answering questions regarding the
inner working of this block.

Regards,
Bjorn

Changes from v3:
 - Simplified interrupt handler
 - Corrected the state transition poll timeout
 - Refactored state transition code
 - Refactored the polling functions waiting for transfers to finish
 - Made the write fifo fill function care if there's space
 - Corrected programmed length on writes
 - Made block read and block write work
 - Removed data duplicates from qup_i2c_dev
 - Changed timeout to HZ, to give room for clock stretching
 - Properly reject reads over 256 bytes, as limited by HW
 - Dropped reinitialization of completions
 - Made sure to not re-initiate reads for every block read
 - Added QUP version number to compatible

Changes from v2:
 - Removed unused variables and includes
 - Corrected read logic in irq handler
 - Made the polling loop in qup_i2c_poll_state() less arbitrary
 - Only building suspend/resume if CONFIG_PM_SLEEP

Changes from v1:
 - Cleaned up device tree binding example.
 - Refrased device tree bindings.
 - Following changes in the i2c framework.
 - Use the core clock to calculate divider for the bus clock, instead of
   explicitly setting it.
 - Remove explicit pinctrl settting.
 - Split/renamed qup_i2c_enable(bool) into enable/disable functions.
 - Return value was overwritten on error in write_one/read_one.
 - Initialize the i2c core every time, so that we actually can execute
   more than 1 transmission per xfer.

Bjorn Andersson (1):
  i2c: New bus driver for the Qualcomm QUP I2C controller

Ivan T. Ivanov (1):
  i2c: qup: Add device tree bindings information

 .../devicetree/bindings/i2c/qcom,i2c-qup.txt       |   44 ++
 drivers/i2c/busses/Kconfig                         |   10 +
 drivers/i2c/busses/Makefile                        |    1 +
 drivers/i2c/busses/i2c-qup.c                       |  772 ++++++++++++++++++++
 4 files changed, 827 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt
 create mode 100644 drivers/i2c/busses/i2c-qup.c

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 25+ messages in thread
* [PATCH v3 0/2] Qualcomm Universal Peripheral (QUP) I2C controller
@ 2014-01-17 23:03 Bjorn Andersson
  2014-01-17 23:03 ` [PATCH v3 1/2] i2c: qup: Add device tree bindings information Bjorn Andersson
  0 siblings, 1 reply; 25+ messages in thread
From: Bjorn Andersson @ 2014-01-17 23:03 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Rob Landley, Wolfram Sang, Grant Likely, Bjorn Andersson,
	Ivan T. Ivanov, Jean Delvare, Greg Kroah-Hartman,
	Martin Schwidefsky, James Ralston, Bill Brown, Matt Porter,
	Andy Shevchenko, devicetree, linux-doc, linux-kernel, linux-i2c,
	linux-arm-kernel, linux-arm-msm

Continuing on Ivans i2c-qup series.

Changes from v2:
 - Removed unused variables and includes
 - Corrected read logic in irq handler
 - Made the polling loop in qup_i2c_poll_state() less arbitrary
 - Only building suspend/resume if CONFIG_PM_SLEEP

Changes from v1:
 - Cleaned up device tree binding example.
 - Refrased device tree bindings.
 - Following changes in the i2c framework.
 - Use the core clock to calculate divider for the bus clock, instead of
   explicitly setting it.
 - Remove explicit pinctrl settting.
 - Split/renamed qup_i2c_enable(bool) into enable/disable functions.
 - Return value was overwritten on error in write_one/read_one.
 - Initialize the i2c core every time, so that we actually can execute
   more than 1 transmission per xfer.

Ivan T. Ivanov (2):
  i2c: qup: Add device tree bindings information
  i2c: New bus driver for the QUP I2C controller

 .../devicetree/bindings/i2c/qcom,i2c-qup.txt       |  41 +
 drivers/i2c/busses/Kconfig                         |  10 +
 drivers/i2c/busses/Makefile                        |   1 +
 drivers/i2c/busses/i2c-qup.c                       | 894 +++++++++++++++++++++
 4 files changed, 946 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt
 create mode 100644 drivers/i2c/busses/i2c-qup.c

-- 
1.8.2.2

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2014-03-05 16:44 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-21  0:38 [PATCH v3 0/2] Qualcomm Universal Peripheral (QUP) I2C controller Bjorn Andersson
     [not found] ` <1392943090-30556-1-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2014-02-21  0:38   ` [PATCH v3 1/2] i2c: qup: Add device tree bindings information Bjorn Andersson
2014-02-21 11:01     ` Mark Rutland
2014-02-21  0:38 ` [PATCH v3 2/2] i2c: New bus driver for the Qualcomm QUP I2C controller Bjorn Andersson
2014-02-21  0:52   ` Joe Perches
2014-02-24 17:51     ` Bjorn Andersson
2014-02-21  2:53   ` Emilio López
2014-02-24 18:00     ` Bjorn Andersson
2014-02-21  8:16   ` Maxime Ripard
2014-02-24 18:03     ` Bjorn Andersson
2014-02-21 11:06   ` Mark Rutland
2014-02-25 16:07     ` Bjorn Andersson
2014-02-25 16:56       ` Andy Gross
     [not found]   ` <1392943090-30556-3-git-send-email-bjorn.andersson-/MT0OVThwyLZJqsBc5GL+g@public.gmane.org>
2014-02-21 15:35     ` Kumar Gala
2014-02-24 10:33       ` Ivan T. Ivanov
2014-02-24 17:40         ` Josh Cartwright
2014-02-24 18:05           ` Bjorn Andersson
2014-03-05 16:44   ` Wolfram Sang
  -- strict thread matches above, loose matches on Subject: below --
2014-01-17 23:03 [PATCH v3 0/2] Qualcomm Universal Peripheral (QUP) " Bjorn Andersson
2014-01-17 23:03 ` [PATCH v3 1/2] i2c: qup: Add device tree bindings information Bjorn Andersson
2014-01-20 14:10   ` Rob Herring
2014-01-21  2:40     ` Stephen Boyd
2014-01-24  7:18       ` Andy Gross
2014-01-23 19:11     ` Matthew Locke
2014-01-23 19:50       ` Arnd Bergmann
2014-01-23 20:22       ` Bjorn Andersson

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