All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/46] TI AM437X ADC1
@ 2021-09-02 21:50 Miquel Raynal
  2021-09-02 21:50 ` [PATCH v2 01/46] clk: ti: am43xx: Add clkctrl data for am43xx ADC1 Miquel Raynal
                   ` (45 more replies)
  0 siblings, 46 replies; 77+ messages in thread
From: Miquel Raynal @ 2021-09-02 21:50 UTC (permalink / raw)
  To: Jonathan Cameron, Lars-Peter Clausen, Peter Meerwald-Stadler,
	Rob Herring, Dmitry Torokhov, Lee Jones, bcousson, Tony Lindgren
  Cc: linux-iio, devicetree, linux-input, linux-omap, Thomas Petazzoni,
	Vignesh Raghavendra, Lokesh Vutla, Tero Kristo, Ryan Barnett,
	Grygorii Strashko, Jason Reeder, Miquel Raynal

Hello,

This is a (fairly big) series bringing support of AM437X ADC1.
On TI AM33XX SoCs family there is an ADC that can also be connected to a
touchscreen. This hardware has been extended and is present on certain
SoCs from the AM437X family. In particular, the touchscreen has been
replaced by a magnetic card reader. In both cases, the representation is
an MFD device with two children:
- on AM33XX: the touchscreen controller and the ADC
- on AM437X: the magnetic card reader and the ADC

This series really targets small and atomic changes so that the overall
review is eased, even though it leads to a lot of rather small patches.
Here are the steps:
* Supporting the missing clock
* Translating a single text file containing the description for the
  MFD, the touchscreen and the ADC into three independent yaml files.
* Cleaning/preparing the MFD driver.
* Supporting ADC1 in the MFD driver.
* Cleaning/preparing of the ADC driver.
* Supporting ADC1 in the ADC driver.
* Updating various device trees.

Here is the full series again. I decided not to split it given the fact
that I moved things around a little bit and addressed several different
issues which impacted other patches, perhaps the next iteration if needed
will be focused on a subset of patches. The clock patch has been acked,
the ADC patches almost as well, so we expect the series to go through
the MFD tree now.

Thanks,
Miquèl

Changes in v2:
* Added various R-by/A-by tags.
* Various typos & style fixes.
[Bindings]
* Included the missing ti,am654-tscadc compatible.
* Reworded the compatible lines as requested by Jonathan.
* Reworded the bindings content a little bit as advised by Rob (subnodes
  being objects, MFD descriptions provided once, status and unused
  labels removed).
[SPDX changes]
* Mentioned that the license macro and the license text matched.
* Also added an SPDX tag in the MFD header.
[MFD header]
* Used the BIT(), GENMASK() and PREP_FIELD() macros when relevant.
[MFD driver]
* Did not reordered the variables declared on the probe stack as advised
  by Jonathan.
* Added missing of_node_put() calls.
* Moved the patch changing the place where the main structure is
  allocated to directly precede the patch using this change.
* Fixed the driver data wiring (bug happening between ex patches 16 and
  28).
* Added a commit just to explain the reordering of the register writes
  during initialization/resume.
* Explained the check about 'use_tsc' in the commit message.
* Added a link to the TRM in a commit message referencing it.
* Removed the use of the ti,tracks property, used a constant value
  instead.
* Dropped the error check when retrieving the "wrong" DT property
  (coordiante-readouts) which is unused.

Miquel Raynal (46):
  clk: ti: am43xx: Add clkctrl data for am43xx ADC1
  dt-bindings: mfd: ti,am3359-tscadc: Add a yaml description for this
    MFD
  dt-bindings: touchscreen: ti,am3359-tsc: New yaml description
  dt-bindings: iio: adc: ti,am3359-adc: New yaml description
  dt-bindings: touchscreen: ti,am3359-tsc: Remove deprecated text file
  dt-bindings: mfd: ti,am3359-tscadc: Describe am4372 MFD compatible
  dt-bindings: iio: adc: ti,am3359-adc: Describe am4372 ADC compatible
  mfd: ti_am335x_tscadc: Replace license text with SPDX tag
  mfd: ti_am335x_tscadc: Fix style
  mfd: ti_am335x_tscadc: Drop extra spacing when declaring stack
    variables
  mfd: ti_am335x_tscadc: Ensure a balanced number of node get/put
  mfd: ti_am335x_tscadc: Get rid of useless gotos
  mfd: ti_am335x_tscadc: Reword the comment explaining the dividers
  mfd: ti_am335x_tscadc: Don't search the tree for our clock
  mfd: ti_am335x_tscadc: Simplify divisor calculation
  mfd: ti_am335x_tscadc: Move the driver structure allocation earlier
  mfd: ti_am335x_tscadc: Use driver data
  mfd: ti_am335x_tscadc: Mimic the probe from resume()
  mfd: ti_am335x_tscadc: Drop useless variables from the driver
    structure
  mfd: ti_am335x_tscadc: Always provide an idle configuration
  mfd: ti_am335x_tscadc: Reorder the initialization steps
  mfd: ti_am335x_tscadc: Gather the ctrl register logic in one place
  mfd: ti_am335x_tscadc: Replace the header license text with SPDX tag
  mfd: ti_am335x_tscadc: Fix header spacing
  mfd: ti_am335x_tscadc: Use BIT() and GENMASK() when relevant in the
    header
  mfd: ti_am335x_tscadc: Use FIELD_PREP() when relevant in the header
  mfd: ti_am335x_tscadc: Rename the subsystem enable macro
  mfd: ti_am335x_tscadc: Add TSC prefix in certain macros
  mfd: ti_am335x_tscadc: Rename a variable
  mfd: ti_am335x_tscadc: Fix an error message
  mfd: ti_am335x_tscadc: Add a boolean to clarify the presence of a
    touchscreen
  mfd: ti_am335x_tscadc: Introduce has_tsc
  mfd: ti_am335x_tscadc: Move control register configuration
  mfd: ti_am335x_tscadc: Add ADC1/magnetic reader support
  mfd: ti_am335x_tscadc: Support the correctly spelled DT property
  iio: adc: ti_am335x_adc: Wait the idle state to avoid stalls
  iio: adc: ti_am335x_adc: Replace license text with SPDX tag
  iio: adc: ti_am335x_adc: Fix style
  iio: adc: ti_am335x_adc: Get rid of useless gotos
  iio: adc: ti_am335x_adc: Gather the checks on the delays
  iio: adc: ti_am335x_adc: Add a unit to the timeout delay
  iio: adc: ti_am335x_adc: Add the scale information
  iio: adc: ti_am335x_adc: Add the am437x compatible
  ARM: dts: am437x-cm-t43: Use a correctly spelled DT property
  ARM: dts: am43xx: Describe the magnetic reader/ADC1 hardware module
  ARM: dts: am437x-gp-evm: enable ADC1

 .../bindings/iio/adc/ti,am3359-adc.yaml       |  70 +++++
 .../input/touchscreen/ti,am3359-tsc.yaml      |  76 ++++++
 .../bindings/input/touchscreen/ti-tsc-adc.txt |  91 -------
 .../bindings/mfd/ti,am3359-tscadc.yaml        |  84 ++++++
 arch/arm/boot/dts/am437x-cm-t43.dts           |   2 +-
 arch/arm/boot/dts/am437x-gp-evm.dts           |   8 +
 arch/arm/boot/dts/am437x-l4.dtsi              |  31 ++-
 arch/arm/boot/dts/am43xx-clocks.dtsi          |   7 +
 drivers/clk/ti/clk-43xx.c                     |   1 +
 drivers/iio/adc/ti_am335x_adc.c               | 217 +++++++++-------
 drivers/mfd/ti_am335x_tscadc.c                | 242 ++++++++++--------
 include/dt-bindings/clock/am4.h               |   1 +
 include/linux/mfd/ti_am335x_tscadc.h          | 127 ++++-----
 13 files changed, 609 insertions(+), 348 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,am3359-adc.yaml
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/ti,am3359-tsc.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/ti,am3359-tscadc.yaml

-- 
2.27.0


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

end of thread, other threads:[~2021-09-19 15:45 UTC | newest]

Thread overview: 77+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 21:50 [PATCH v2 00/46] TI AM437X ADC1 Miquel Raynal
2021-09-02 21:50 ` [PATCH v2 01/46] clk: ti: am43xx: Add clkctrl data for am43xx ADC1 Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 02/46] dt-bindings: mfd: ti,am3359-tscadc: Add a yaml description for this MFD Miquel Raynal
2021-09-03 16:05   ` Rob Herring
2021-09-05 11:57   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 03/46] dt-bindings: touchscreen: ti,am3359-tsc: New yaml description Miquel Raynal
2021-09-03 16:06   ` Rob Herring
2021-09-05 11:59   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 04/46] dt-bindings: iio: adc: ti,am3359-adc: " Miquel Raynal
2021-09-03 16:07   ` Rob Herring
2021-09-02 21:51 ` [PATCH v2 05/46] dt-bindings: touchscreen: ti,am3359-tsc: Remove deprecated text file Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 06/46] dt-bindings: mfd: ti,am3359-tscadc: Describe am4372 MFD compatible Miquel Raynal
2021-09-05 12:01   ` Jonathan Cameron
2021-09-07 19:04   ` Rob Herring
2021-09-02 21:51 ` [PATCH v2 07/46] dt-bindings: iio: adc: ti,am3359-adc: Describe am4372 ADC compatible Miquel Raynal
2021-09-07 19:05   ` Rob Herring
2021-09-02 21:51 ` [PATCH v2 08/46] mfd: ti_am335x_tscadc: Replace license text with SPDX tag Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 09/46] mfd: ti_am335x_tscadc: Fix style Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 10/46] mfd: ti_am335x_tscadc: Drop extra spacing when declaring stack variables Miquel Raynal
2021-09-05 12:03   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 11/46] mfd: ti_am335x_tscadc: Ensure a balanced number of node get/put Miquel Raynal
2021-09-05 12:06   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 12/46] mfd: ti_am335x_tscadc: Get rid of useless gotos Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 13/46] mfd: ti_am335x_tscadc: Reword the comment explaining the dividers Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 14/46] mfd: ti_am335x_tscadc: Don't search the tree for our clock Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 15/46] mfd: ti_am335x_tscadc: Simplify divisor calculation Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 16/46] mfd: ti_am335x_tscadc: Move the driver structure allocation earlier Miquel Raynal
2021-09-05 12:09   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 17/46] mfd: ti_am335x_tscadc: Use driver data Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 18/46] mfd: ti_am335x_tscadc: Mimic the probe from resume() Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 19/46] mfd: ti_am335x_tscadc: Drop useless variables from the driver structure Miquel Raynal
2021-09-05 12:11   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 20/46] mfd: ti_am335x_tscadc: Always provide an idle configuration Miquel Raynal
2021-09-05 12:13   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 21/46] mfd: ti_am335x_tscadc: Reorder the initialization steps Miquel Raynal
2021-09-05 12:18   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 22/46] mfd: ti_am335x_tscadc: Gather the ctrl register logic in one place Miquel Raynal
2021-09-05 12:20   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 23/46] mfd: ti_am335x_tscadc: Replace the header license text with SPDX tag Miquel Raynal
2021-09-05 12:21   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 24/46] mfd: ti_am335x_tscadc: Fix header spacing Miquel Raynal
2021-09-05 12:22   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 25/46] mfd: ti_am335x_tscadc: Use BIT() and GENMASK() when relevant in the header Miquel Raynal
2021-09-05 13:09   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 26/46] mfd: ti_am335x_tscadc: Use FIELD_PREP() " Miquel Raynal
2021-09-05 13:13   ` Jonathan Cameron
2021-09-15  7:48     ` Miquel Raynal
2021-09-19 15:49       ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 27/46] mfd: ti_am335x_tscadc: Rename the subsystem enable macro Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 28/46] mfd: ti_am335x_tscadc: Add TSC prefix in certain macros Miquel Raynal
2021-09-05 13:15   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 29/46] mfd: ti_am335x_tscadc: Rename a variable Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 30/46] mfd: ti_am335x_tscadc: Fix an error message Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 31/46] mfd: ti_am335x_tscadc: Add a boolean to clarify the presence of a touchscreen Miquel Raynal
2021-09-05 13:17   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 32/46] mfd: ti_am335x_tscadc: Introduce has_tsc Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 33/46] mfd: ti_am335x_tscadc: Move control register configuration Miquel Raynal
2021-09-03 13:24   ` Grygorii Strashko
2021-09-05 13:18     ` Jonathan Cameron
2021-09-05 13:22       ` Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 34/46] mfd: ti_am335x_tscadc: Add ADC1/magnetic reader support Miquel Raynal
2021-09-05 13:23   ` Jonathan Cameron
2021-09-14 18:25     ` Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 35/46] mfd: ti_am335x_tscadc: Support the correctly spelled DT property Miquel Raynal
2021-09-05 13:24   ` Jonathan Cameron
2021-09-02 21:51 ` [PATCH v2 36/46] iio: adc: ti_am335x_adc: Wait the idle state to avoid stalls Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 37/46] iio: adc: ti_am335x_adc: Replace license text with SPDX tag Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 38/46] iio: adc: ti_am335x_adc: Fix style Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 39/46] iio: adc: ti_am335x_adc: Get rid of useless gotos Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 40/46] iio: adc: ti_am335x_adc: Gather the checks on the delays Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 41/46] iio: adc: ti_am335x_adc: Add a unit to the timeout delay Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 42/46] iio: adc: ti_am335x_adc: Add the scale information Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 43/46] iio: adc: ti_am335x_adc: Add the am437x compatible Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 44/46] ARM: dts: am437x-cm-t43: Use a correctly spelled DT property Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 45/46] ARM: dts: am43xx: Describe the magnetic reader/ADC1 hardware module Miquel Raynal
2021-09-02 22:17   ` Miquel Raynal
2021-09-02 21:51 ` [PATCH v2 46/46] ARM: dts: am437x-gp-evm: enable ADC1 Miquel Raynal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.