* [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings [not found] <20181123142411.8921-1-dev@pschenker.ch> @ 2018-11-23 14:24 ` Philippe Schenker 2018-11-25 10:04 ` Jonathan Cameron 2018-11-28 9:02 ` Lee Jones 2018-11-23 14:24 ` [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees Philippe Schenker 1 sibling, 2 replies; 8+ messages in thread From: Philippe Schenker @ 2018-11-23 14:24 UTC (permalink / raw) To: jic23, marcel.ziswiler, stefan Cc: Max Krummenacher, Philippe Schenker, devicetree, linux-iio, Hartmut Knaack, Alexandre Torgue, linux-input, linux-kernel, Rob Herring, Dmitry Torokhov, Lee Jones, Maxime Coquelin, Mark Rutland, Peter Meerwald-Stadler, linux-stm32, linux-arm-kernel, Lars-Peter Clausen From: Stefan Agner <stefan@agner.ch> This adds the devicetree bindings for the STMPE ADC. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> --- Changes in v3: - Reformatted documentation for touchscreen to use tabs and have a better overview of the settings. - Added note which adc-settings will take precedence. - changed typo in sample-time setting from 144 clocks to 124 clocks, as stated in the datasheet. Changes in v2: - Moved the bindings for ADC to the overlying mfd. - Reformatted for better readability .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 +++++++ .../bindings/input/touchscreen/stmpe.txt | 60 ++++++++++++------- .../devicetree/bindings/mfd/stmpe.txt | 28 ++++++--- 3 files changed, 80 insertions(+), 29 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt diff --git a/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt new file mode 100644 index 000000000000..480e66422625 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt @@ -0,0 +1,21 @@ +STMPE ADC driver +---------------- + +Required properties: + - compatible: "st,stmpe-adc" + +Optional properties: +Note that the ADC is shared with the STMPE touchscreen. ADC related settings +have to be done in the mfd. +- st,norequest-mask: bitmask specifying which ADC channels should _not_ be + requestable due to different usage (e.g. touch) + +Node name must be stmpe_adc and should be child node of stmpe node to +which it belongs. + +Example: + + stmpe_adc { + compatible = "st,stmpe-adc"; + st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */ + }; diff --git a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt index 127baa31a77a..414586513a02 100644 --- a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt +++ b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt @@ -5,36 +5,52 @@ Required properties: - compatible: "st,stmpe-ts" Optional properties: -- st,sample-time: ADC converstion time in number of clock. (0 -> 36 clocks, 1 -> - 44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 clocks, 6 - -> 144 clocks), recommended is 4. -- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC) -- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external - reference) -- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> 6.5 MHz) -- st,ave-ctrl: Sample average control (0 -> 1 sample, 1 -> 2 samples, 2 -> 4 - samples, 3 -> 8 samples) -- st,touch-det-delay: Touch detect interrupt delay (0 -> 10 us, 1 -> 50 us, 2 -> - 100 us, 3 -> 500 us, 4-> 1 ms, 5 -> 5 ms, 6 -> 10 ms, 7 -> 50 ms) recommended - is 3 -- st,settling: Panel driver settling time (0 -> 10 us, 1 -> 100 us, 2 -> 500 us, 3 - -> 1 ms, 4 -> 5 ms, 5 -> 10 ms, 6 for 50 ms, 7 -> 100 ms) recommended is 2 -- st,fraction-z: Length of the fractional part in z (fraction-z ([0..7]) = Count of - the fractional part) recommended is 7 -- st,i-drive: current limit value of the touchscreen drivers (0 -> 20 mA typical 35 - mA max, 1 -> 50 mA typical 80 mA max) +- st,ave-ctrl : Sample average control + 0 -> 1 sample + 1 -> 2 samples + 2 -> 4 samples + 3 -> 8 samples +- st,touch-det-delay : Touch detect interrupt delay (recommended is 3) + 0 -> 10 us 5 -> 5 ms + 1 -> 50 us 6 -> 10 ms + 2 -> 100 us 7 -> 50 ms + 3 -> 500 us + 4-> 1 ms +- st,settling : Panel driver settling time (recommended is 2) + 0 -> 10 us 5 -> 10 ms + 1 -> 100 us 6 for 50 ms + 2 -> 500 us 7 -> 100 ms + 3 -> 1 ms + 4 -> 5 ms +- st,fraction-z : Length of the fractional part in z (recommended is 7) + (fraction-z ([0..7]) = Count of the fractional part) +- st,i-drive : current limit value of the touchscreen drivers + 0 -> 20 mA (typical 35mA max) + 1 -> 50 mA (typical 80 mA max) + +Optional properties common with MFD (deprecated): + - st,sample-time : ADC conversion time in number of clock. + 0 -> 36 clocks 4 -> 80 clocks (recommended) + 1 -> 44 clocks 5 -> 96 clocks + 2 -> 56 clocks 6 -> 124 clocks + 3 -> 64 clocks + - st,mod-12b : ADC Bit mode + 0 -> 10bit ADC 1 -> 12bit ADC + - st,ref-sel : ADC reference source + 0 -> internal 1 -> external + - st,adc-freq : ADC Clock speed + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz + 1 -> 3.25 MHz Node name must be stmpe_touchscreen and should be child node of stmpe node to which it belongs. +Note that common ADC settings of stmpe_touchscreen will take precedence. + Example: stmpe_touchscreen { compatible = "st,stmpe-ts"; - st,sample-time = <4>; - st,mod-12b = <1>; - st,ref-sel = <0>; - st,adc-freq = <1>; st,ave-ctrl = <1>; st,touch-det-delay = <2>; st,settling = <2>; diff --git a/Documentation/devicetree/bindings/mfd/stmpe.txt b/Documentation/devicetree/bindings/mfd/stmpe.txt index c797c05cd3c2..d4408a417193 100644 --- a/Documentation/devicetree/bindings/mfd/stmpe.txt +++ b/Documentation/devicetree/bindings/mfd/stmpe.txt @@ -4,15 +4,29 @@ STMPE is an MFD device which may expose the following inbuilt devices: gpio, keypad, touchscreen, adc, pwm, rotator. Required properties: - - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" - - reg : I2C/SPI address of the device + - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" + - reg : I2C/SPI address of the device Optional properties: - - interrupts : The interrupt outputs from the controller - - interrupt-controller : Marks the device node as an interrupt controller - - wakeup-source : Marks the input device as wakable - - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024 - - irq-gpio : If present, which GPIO to use for event IRQ + - interrupts : The interrupt outputs from the controller + - interrupt-controller : Marks the device node as an interrupt controller + - wakeup-source : Marks the input device as wakable + - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024 + - irq-gpio : If present, which GPIO to use for event IRQ + +Optional properties for devices with touch and ADC (STMPE811|STMPE610): + - st,sample-time : ADC conversion time in number of clock. + 0 -> 36 clocks 4 -> 80 clocks (recommended) + 1 -> 44 clocks 5 -> 96 clocks + 2 -> 56 clocks 6 -> 124 clocks + 3 -> 64 clocks + - st,mod-12b : ADC Bit mode + 0 -> 10bit ADC 1 -> 12bit ADC + - st,ref-sel : ADC reference source + 0 -> internal 1 -> external + - st,adc-freq : ADC Clock speed + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz + 1 -> 3.25 MHz Example: -- 2.19.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings 2018-11-23 14:24 ` [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings Philippe Schenker @ 2018-11-25 10:04 ` Jonathan Cameron 2018-12-06 15:49 ` Philippe Schenker 2018-11-28 9:02 ` Lee Jones 1 sibling, 1 reply; 8+ messages in thread From: Jonathan Cameron @ 2018-11-25 10:04 UTC (permalink / raw) To: Philippe Schenker Cc: marcel.ziswiler, stefan, Max Krummenacher, Philippe Schenker, devicetree, linux-iio, Hartmut Knaack, Alexandre Torgue, linux-input, linux-kernel, Rob Herring, Dmitry Torokhov, Lee Jones, Maxime Coquelin, Mark Rutland, Peter Meerwald-Stadler, linux-stm32, linux-arm-kernel, Lars-Peter Clausen On Fri, 23 Nov 2018 15:24:10 +0100 Philippe Schenker <dev@pschenker.ch> wrote: > From: Stefan Agner <stefan@agner.ch> > > This adds the devicetree bindings for the STMPE ADC. > > Signed-off-by: Stefan Agner <stefan@agner.ch> > Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Clearly this will need review from input and mfd. I've suggested inline that you split the realignment out to a separate patch for reviewability reasons. > --- > > Changes in v3: > - Reformatted documentation for touchscreen to use tabs and have a better > overview of the settings. > - Added note which adc-settings will take precedence. > - changed typo in sample-time setting from 144 clocks to 124 clocks, as stated > in the datasheet. > > Changes in v2: > - Moved the bindings for ADC to the overlying mfd. > - Reformatted for better readability > > .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 +++++++ > .../bindings/input/touchscreen/stmpe.txt | 60 ++++++++++++------- > .../devicetree/bindings/mfd/stmpe.txt | 28 ++++++--- > 3 files changed, 80 insertions(+), 29 deletions(-) > create mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > diff --git a/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > new file mode 100644 > index 000000000000..480e66422625 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > @@ -0,0 +1,21 @@ > +STMPE ADC driver > +---------------- > + > +Required properties: > + - compatible: "st,stmpe-adc" > + > +Optional properties: > +Note that the ADC is shared with the STMPE touchscreen. ADC related settings > +have to be done in the mfd. > +- st,norequest-mask: bitmask specifying which ADC channels should _not_ be > + requestable due to different usage (e.g. touch) > + > +Node name must be stmpe_adc and should be child node of stmpe node to > +which it belongs. > + > +Example: > + > + stmpe_adc { Can we use adc { here to match standard naming? > + compatible = "st,stmpe-adc"; > + st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */ > + }; > diff --git a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > index 127baa31a77a..414586513a02 100644 > --- a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > +++ b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > @@ -5,36 +5,52 @@ Required properties: > - compatible: "st,stmpe-ts" > > Optional properties: > -- st,sample-time: ADC converstion time in number of clock. (0 -> 36 clocks, 1 -> > - 44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 clocks, 6 > - -> 144 clocks), recommended is 4. > -- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC) > -- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external > - reference) > -- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> 6.5 MHz) > -- st,ave-ctrl: Sample average control (0 -> 1 sample, 1 -> 2 samples, 2 -> 4 > - samples, 3 -> 8 samples) > -- st,touch-det-delay: Touch detect interrupt delay (0 -> 10 us, 1 -> 50 us, 2 -> > - 100 us, 3 -> 500 us, 4-> 1 ms, 5 -> 5 ms, 6 -> 10 ms, 7 -> 50 ms) recommended > - is 3 > -- st,settling: Panel driver settling time (0 -> 10 us, 1 -> 100 us, 2 -> 500 us, 3 > - -> 1 ms, 4 -> 5 ms, 5 -> 10 ms, 6 for 50 ms, 7 -> 100 ms) recommended is 2 > -- st,fraction-z: Length of the fractional part in z (fraction-z ([0..7]) = Count of > - the fractional part) recommended is 7 > -- st,i-drive: current limit value of the touchscreen drivers (0 -> 20 mA typical 35 > - mA max, 1 -> 50 mA typical 80 mA max) > +- st,ave-ctrl : Sample average control > + 0 -> 1 sample > + 1 -> 2 samples > + 2 -> 4 samples > + 3 -> 8 samples > +- st,touch-det-delay : Touch detect interrupt delay (recommended is 3) > + 0 -> 10 us 5 -> 5 ms > + 1 -> 50 us 6 -> 10 ms > + 2 -> 100 us 7 -> 50 ms > + 3 -> 500 us > + 4-> 1 ms > +- st,settling : Panel driver settling time (recommended is 2) > + 0 -> 10 us 5 -> 10 ms > + 1 -> 100 us 6 for 50 ms > + 2 -> 500 us 7 -> 100 ms > + 3 -> 1 ms > + 4 -> 5 ms > +- st,fraction-z : Length of the fractional part in z (recommended is 7) > + (fraction-z ([0..7]) = Count of the fractional part) > +- st,i-drive : current limit value of the touchscreen drivers > + 0 -> 20 mA (typical 35mA max) > + 1 -> 50 mA (typical 80 mA max) > + > +Optional properties common with MFD (deprecated): > + - st,sample-time : ADC conversion time in number of clock. > + 0 -> 36 clocks 4 -> 80 clocks (recommended) > + 1 -> 44 clocks 5 -> 96 clocks > + 2 -> 56 clocks 6 -> 124 clocks > + 3 -> 64 clocks > + - st,mod-12b : ADC Bit mode > + 0 -> 10bit ADC 1 -> 12bit ADC > + - st,ref-sel : ADC reference source > + 0 -> internal 1 -> external > + - st,adc-freq : ADC Clock speed > + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz > + 1 -> 3.25 MHz > > Node name must be stmpe_touchscreen and should be child node of stmpe node to > which it belongs. > > +Note that common ADC settings of stmpe_touchscreen will take precedence. > + > Example: > > stmpe_touchscreen { > compatible = "st,stmpe-ts"; > - st,sample-time = <4>; > - st,mod-12b = <1>; > - st,ref-sel = <0>; > - st,adc-freq = <1>; > st,ave-ctrl = <1>; > st,touch-det-delay = <2>; > st,settling = <2>; > diff --git a/Documentation/devicetree/bindings/mfd/stmpe.txt b/Documentation/devicetree/bindings/mfd/stmpe.txt > index c797c05cd3c2..d4408a417193 100644 > --- a/Documentation/devicetree/bindings/mfd/stmpe.txt > +++ b/Documentation/devicetree/bindings/mfd/stmpe.txt > @@ -4,15 +4,29 @@ STMPE is an MFD device which may expose the following inbuilt devices: gpio, > keypad, touchscreen, adc, pwm, rotator. > > Required properties: > - - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" > - - reg : I2C/SPI address of the device > + - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" > + - reg : I2C/SPI address of the device Nothing wrong with correcting alignment, but it shouldn't be in the same patch as a fundamental change lie this. Just adds noise. If that means you first have to introduce the new block missaligned, then fix up the alignment in a follow up patch, then do that as we can then effectively ignore the realignment as obviously correct and focus on the real changes. > > Optional properties: > - - interrupts : The interrupt outputs from the controller > - - interrupt-controller : Marks the device node as an interrupt controller > - - wakeup-source : Marks the input device as wakable > - - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024 > - - irq-gpio : If present, which GPIO to use for event IRQ > + - interrupts : The interrupt outputs from the controller > + - interrupt-controller : Marks the device node as an interrupt controller > + - wakeup-source : Marks the input device as wakable > + - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024 > + - irq-gpio : If present, which GPIO to use for event IRQ > + > +Optional properties for devices with touch and ADC (STMPE811|STMPE610): > + - st,sample-time : ADC conversion time in number of clock. > + 0 -> 36 clocks 4 -> 80 clocks (recommended) > + 1 -> 44 clocks 5 -> 96 clocks > + 2 -> 56 clocks 6 -> 124 clocks > + 3 -> 64 clocks > + - st,mod-12b : ADC Bit mode > + 0 -> 10bit ADC 1 -> 12bit ADC > + - st,ref-sel : ADC reference source > + 0 -> internal 1 -> external > + - st,adc-freq : ADC Clock speed > + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz > + 1 -> 3.25 MHz > > Example: > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings 2018-11-25 10:04 ` Jonathan Cameron @ 2018-12-06 15:49 ` Philippe Schenker 2018-12-08 10:55 ` Jonathan Cameron 0 siblings, 1 reply; 8+ messages in thread From: Philippe Schenker @ 2018-12-06 15:49 UTC (permalink / raw) To: Jonathan Cameron Cc: marcel.ziswiler, stefan, Max Krummenacher, devicetree, linux-iio, Hartmut Knaack, Alexandre Torgue, linux-input, linux-kernel, Rob Herring, Dmitry Torokhov, Lee Jones, Maxime Coquelin, Mark Rutland, Peter Meerwald-Stadler, linux-stm32, linux-arm-kernel, Lars-Peter Clausen On Sun, 2018-11-25 at 10:04 +0000, Jonathan Cameron wrote: > On Fri, 23 Nov 2018 15:24:10 +0100 > Philippe Schenker <dev@pschenker.ch> wrote: > > > From: Stefan Agner <stefan@agner.ch> > > > > This adds the devicetree bindings for the STMPE ADC. > > > > Signed-off-by: Stefan Agner <stefan@agner.ch> > > Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> > Clearly this will need review from input and mfd. > > I've suggested inline that you split the realignment out to a > separate patch for reviewability reasons. Thank you again Jonathan for your feedback, and of course also all the others! I will split it much more so everything will be much more readable in v4. You suggested again, to use the naming 'adc {'. I know that this is standard naming, but unfortunately, this naming is given by drivers/mfd/stmpe.c (line 1311). What do you suggest to do? break the naming scheme in mfd, or just use 'stmpe_adc {' ? > > > --- > > > > Changes in v3: > > - Reformatted documentation for touchscreen to use tabs and have a better > > overview of the settings. > > - Added note which adc-settings will take precedence. > > - changed typo in sample-time setting from 144 clocks to 124 clocks, as > > stated > > in the datasheet. > > > > Changes in v2: > > - Moved the bindings for ADC to the overlying mfd. > > - Reformatted for better readability > > > > .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 +++++++ > > .../bindings/input/touchscreen/stmpe.txt | 60 ++++++++++++------- > > .../devicetree/bindings/mfd/stmpe.txt | 28 ++++++--- > > 3 files changed, 80 insertions(+), 29 deletions(-) > > create mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > new file mode 100644 > > index 000000000000..480e66422625 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > @@ -0,0 +1,21 @@ > > +STMPE ADC driver > > +---------------- > > + > > +Required properties: > > + - compatible: "st,stmpe-adc" > > + > > +Optional properties: > > +Note that the ADC is shared with the STMPE touchscreen. ADC related > > settings > > +have to be done in the mfd. > > +- st,norequest-mask: bitmask specifying which ADC channels should _not_ be > > + requestable due to different usage (e.g. touch) > > + > > +Node name must be stmpe_adc and should be child node of stmpe node to > > +which it belongs. > > + > > +Example: > > + > > + stmpe_adc { > > Can we use adc { here to match standard naming? > > > + compatible = "st,stmpe-adc"; > > + st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */ > > + }; > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > index 127baa31a77a..414586513a02 100644 > > --- a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > +++ b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > @@ -5,36 +5,52 @@ Required properties: > > - compatible: "st,stmpe-ts" > > > > Optional properties: > > -- st,sample-time: ADC converstion time in number of clock. (0 -> 36 > > clocks, 1 -> > > - 44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 > > clocks, 6 > > - -> 144 clocks), recommended is 4. > > -- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC) > > -- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external > > - reference) > > -- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> > > 6.5 MHz) > > -- st,ave-ctrl: Sample average control (0 -> 1 sample, 1 -> 2 samples, 2 -> > > 4 > > - samples, 3 -> 8 samples) > > -- st,touch-det-delay: Touch detect interrupt delay (0 -> 10 us, 1 -> 50 us, > > 2 -> > > - 100 us, 3 -> 500 us, 4-> 1 ms, 5 -> 5 ms, 6 -> 10 ms, 7 -> 50 ms) > > recommended > > - is 3 > > -- st,settling: Panel driver settling time (0 -> 10 us, 1 -> 100 us, 2 -> > > 500 us, 3 > > - -> 1 ms, 4 -> 5 ms, 5 -> 10 ms, 6 for 50 ms, 7 -> 100 ms) recommended is > > 2 > > -- st,fraction-z: Length of the fractional part in z (fraction-z ([0..7]) = > > Count of > > - the fractional part) recommended is 7 > > -- st,i-drive: current limit value of the touchscreen drivers (0 -> 20 mA > > typical 35 > > - mA max, 1 -> 50 mA typical 80 mA max) > > +- st,ave-ctrl : Sample average control > > + 0 -> 1 sample > > + 1 -> 2 samples > > + 2 -> 4 samples > > + 3 -> 8 samples > > +- st,touch-det-delay : Touch detect interrupt delay (recommended is > > 3) > > + 0 -> 10 us 5 -> 5 ms > > + 1 -> 50 us 6 -> 10 ms > > + 2 -> 100 us 7 -> 50 ms > > + 3 -> 500 us > > + 4-> 1 ms > > +- st,settling : Panel driver settling time (recommended is 2) > > + 0 -> 10 us 5 -> 10 ms > > + 1 -> 100 us 6 for 50 ms > > + 2 -> 500 us 7 -> 100 ms > > + 3 -> 1 ms > > + 4 -> 5 ms > > +- st,fraction-z : Length of the fractional part in z > > (recommended is 7) > > + (fraction-z ([0..7]) = Count of the fractional part) > > +- st,i-drive : current limit value of the touchscreen drivers > > + 0 -> 20 mA (typical 35mA max) > > + 1 -> 50 mA (typical 80 mA max) > > + > > +Optional properties common with MFD (deprecated): > > + - st,sample-time : ADC conversion time in number of clock. > > + 0 -> 36 clocks 4 -> 80 clocks > > (recommended) > > + 1 -> 44 clocks 5 -> 96 clocks > > + 2 -> 56 clocks 6 -> 124 clocks > > + 3 -> 64 clocks > > + - st,mod-12b : ADC Bit mode > > + 0 -> 10bit ADC 1 -> 12bit ADC > > + - st,ref-sel : ADC reference source > > + 0 -> internal 1 -> external > > + - st,adc-freq : ADC Clock speed > > + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz > > + 1 -> 3.25 MHz > > > > Node name must be stmpe_touchscreen and should be child node of stmpe node > > to > > which it belongs. > > > > +Note that common ADC settings of stmpe_touchscreen will take precedence. > > + > > Example: > > > > stmpe_touchscreen { > > compatible = "st,stmpe-ts"; > > - st,sample-time = <4>; > > - st,mod-12b = <1>; > > - st,ref-sel = <0>; > > - st,adc-freq = <1>; > > st,ave-ctrl = <1>; > > st,touch-det-delay = <2>; > > st,settling = <2>; > > diff --git a/Documentation/devicetree/bindings/mfd/stmpe.txt > > b/Documentation/devicetree/bindings/mfd/stmpe.txt > > index c797c05cd3c2..d4408a417193 100644 > > --- a/Documentation/devicetree/bindings/mfd/stmpe.txt > > +++ b/Documentation/devicetree/bindings/mfd/stmpe.txt > > @@ -4,15 +4,29 @@ STMPE is an MFD device which may expose the following > > inbuilt devices: gpio, > > keypad, touchscreen, adc, pwm, rotator. > > > > Required properties: > > - - compatible : > > "st,stmpe[610|801|811|1600|1601|2401|2403]" > > - - reg : I2C/SPI address of the device > > + - compatible : > > "st,stmpe[610|801|811|1600|1601|2401|2403]" > > + - reg : I2C/SPI address of the device > > Nothing wrong with correcting alignment, but it shouldn't be in the same patch > as a fundamental change lie this. Just adds noise. > > If that means you first have to introduce the new block missaligned, then > fix up the alignment in a follow up patch, then do that as we can then > effectively ignore the realignment as obviously correct and focus on > the real changes. > > > > > Optional properties: > > - - interrupts : The interrupt outputs from the controller > > - - interrupt-controller : Marks the device node as an interrupt > > controller > > - - wakeup-source : Marks the input device as wakable > > - - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, > > 256, 512 and 1024 > > - - irq-gpio : If present, which GPIO to use for event > > IRQ > > + - interrupts : The interrupt outputs from the > > controller > > + - interrupt-controller : Marks the device node as an interrupt > > controller > > + - wakeup-source : Marks the input device as wakable > > + - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, > > 128, 256, 512 and 1024 > > + - irq-gpio : If present, which GPIO to use for > > event IRQ > > + > > +Optional properties for devices with touch and ADC (STMPE811|STMPE610): > > + - st,sample-time : ADC conversion time in number of clock. > > + 0 -> 36 clocks 4 -> 80 > > clocks (recommended) > > + 1 -> 44 clocks 5 -> 96 > > clocks > > + 2 -> 56 clocks 6 -> 124 > > clocks > > + 3 -> 64 clocks > > + - st,mod-12b : ADC Bit mode > > + 0 -> 10bit ADC 1 -> 12bit > > ADC > > + - st,ref-sel : ADC reference source > > + 0 -> internal 1 -> > > external > > + - st,adc-freq : ADC Clock speed > > + 0 -> 1.625 MHz 2 || 3 -> > > 6.5 MHz > > + 1 -> 3.25 MHz > > > > Example: > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings 2018-12-06 15:49 ` Philippe Schenker @ 2018-12-08 10:55 ` Jonathan Cameron 0 siblings, 0 replies; 8+ messages in thread From: Jonathan Cameron @ 2018-12-08 10:55 UTC (permalink / raw) To: Philippe Schenker Cc: marcel.ziswiler, stefan, Max Krummenacher, devicetree, linux-iio, Hartmut Knaack, Alexandre Torgue, linux-input, linux-kernel, Rob Herring, Dmitry Torokhov, Lee Jones, Maxime Coquelin, Mark Rutland, Peter Meerwald-Stadler, linux-stm32, linux-arm-kernel, Lars-Peter Clausen On Thu, 06 Dec 2018 16:49:33 +0100 Philippe Schenker <dev@pschenker.ch> wrote: > On Sun, 2018-11-25 at 10:04 +0000, Jonathan Cameron wrote: > > On Fri, 23 Nov 2018 15:24:10 +0100 > > Philippe Schenker <dev@pschenker.ch> wrote: > > > > > From: Stefan Agner <stefan@agner.ch> > > > > > > This adds the devicetree bindings for the STMPE ADC. > > > > > > Signed-off-by: Stefan Agner <stefan@agner.ch> > > > Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> > > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> > > Clearly this will need review from input and mfd. > > > > I've suggested inline that you split the realignment out to a > > separate patch for reviewability reasons. > > Thank you again Jonathan for your feedback, and of course also all the others! > > I will split it much more so everything will be much more readable in v4. You > suggested again, to use the naming 'adc {'. I know that this is standard naming, > but unfortunately, this naming is given by drivers/mfd/stmpe.c (line 1311). > What do you suggest to do? break the naming scheme in mfd, or just use > 'stmpe_adc {' ? Leave it as it is, but add a note ideally to say that is the reason. Jonathan > > > > > > --- > > > > > > Changes in v3: > > > - Reformatted documentation for touchscreen to use tabs and have a better > > > overview of the settings. > > > - Added note which adc-settings will take precedence. > > > - changed typo in sample-time setting from 144 clocks to 124 clocks, as > > > stated > > > in the datasheet. > > > > > > Changes in v2: > > > - Moved the bindings for ADC to the overlying mfd. > > > - Reformatted for better readability > > > > > > .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 +++++++ > > > .../bindings/input/touchscreen/stmpe.txt | 60 ++++++++++++------- > > > .../devicetree/bindings/mfd/stmpe.txt | 28 ++++++--- > > > 3 files changed, 80 insertions(+), 29 deletions(-) > > > create mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > > > > > diff --git a/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > > b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > > new file mode 100644 > > > index 000000000000..480e66422625 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt > > > @@ -0,0 +1,21 @@ > > > +STMPE ADC driver > > > +---------------- > > > + > > > +Required properties: > > > + - compatible: "st,stmpe-adc" > > > + > > > +Optional properties: > > > +Note that the ADC is shared with the STMPE touchscreen. ADC related > > > settings > > > +have to be done in the mfd. > > > +- st,norequest-mask: bitmask specifying which ADC channels should _not_ be > > > + requestable due to different usage (e.g. touch) > > > + > > > +Node name must be stmpe_adc and should be child node of stmpe node to > > > +which it belongs. > > > + > > > +Example: > > > + > > > + stmpe_adc { > > > > Can we use adc { here to match standard naming? > > > > > + compatible = "st,stmpe-adc"; > > > + st,norequest-mask = <0x0F>; /* dont use ADC CH3-0 */ > > > + }; > > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > > b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > > index 127baa31a77a..414586513a02 100644 > > > --- a/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > > +++ b/Documentation/devicetree/bindings/input/touchscreen/stmpe.txt > > > @@ -5,36 +5,52 @@ Required properties: > > > - compatible: "st,stmpe-ts" > > > > > > Optional properties: > > > -- st,sample-time: ADC converstion time in number of clock. (0 -> 36 > > > clocks, 1 -> > > > - 44 clocks, 2 -> 56 clocks, 3 -> 64 clocks, 4 -> 80 clocks, 5 -> 96 > > > clocks, 6 > > > - -> 144 clocks), recommended is 4. > > > -- st,mod-12b: ADC Bit mode (0 -> 10bit ADC, 1 -> 12bit ADC) > > > -- st,ref-sel: ADC reference source (0 -> internal reference, 1 -> external > > > - reference) > > > -- st,adc-freq: ADC Clock speed (0 -> 1.625 MHz, 1 -> 3.25 MHz, 2 || 3 -> > > > 6.5 MHz) > > > -- st,ave-ctrl: Sample average control (0 -> 1 sample, 1 -> 2 samples, 2 -> > > > 4 > > > - samples, 3 -> 8 samples) > > > -- st,touch-det-delay: Touch detect interrupt delay (0 -> 10 us, 1 -> 50 us, > > > 2 -> > > > - 100 us, 3 -> 500 us, 4-> 1 ms, 5 -> 5 ms, 6 -> 10 ms, 7 -> 50 ms) > > > recommended > > > - is 3 > > > -- st,settling: Panel driver settling time (0 -> 10 us, 1 -> 100 us, 2 -> > > > 500 us, 3 > > > - -> 1 ms, 4 -> 5 ms, 5 -> 10 ms, 6 for 50 ms, 7 -> 100 ms) recommended is > > > 2 > > > -- st,fraction-z: Length of the fractional part in z (fraction-z ([0..7]) = > > > Count of > > > - the fractional part) recommended is 7 > > > -- st,i-drive: current limit value of the touchscreen drivers (0 -> 20 mA > > > typical 35 > > > - mA max, 1 -> 50 mA typical 80 mA max) > > > +- st,ave-ctrl : Sample average control > > > + 0 -> 1 sample > > > + 1 -> 2 samples > > > + 2 -> 4 samples > > > + 3 -> 8 samples > > > +- st,touch-det-delay : Touch detect interrupt delay (recommended is > > > 3) > > > + 0 -> 10 us 5 -> 5 ms > > > + 1 -> 50 us 6 -> 10 ms > > > + 2 -> 100 us 7 -> 50 ms > > > + 3 -> 500 us > > > + 4-> 1 ms > > > +- st,settling : Panel driver settling time (recommended is 2) > > > + 0 -> 10 us 5 -> 10 ms > > > + 1 -> 100 us 6 for 50 ms > > > + 2 -> 500 us 7 -> 100 ms > > > + 3 -> 1 ms > > > + 4 -> 5 ms > > > +- st,fraction-z : Length of the fractional part in z > > > (recommended is 7) > > > + (fraction-z ([0..7]) = Count of the fractional part) > > > +- st,i-drive : current limit value of the touchscreen drivers > > > + 0 -> 20 mA (typical 35mA max) > > > + 1 -> 50 mA (typical 80 mA max) > > > + > > > +Optional properties common with MFD (deprecated): > > > + - st,sample-time : ADC conversion time in number of clock. > > > + 0 -> 36 clocks 4 -> 80 clocks > > > (recommended) > > > + 1 -> 44 clocks 5 -> 96 clocks > > > + 2 -> 56 clocks 6 -> 124 clocks > > > + 3 -> 64 clocks > > > + - st,mod-12b : ADC Bit mode > > > + 0 -> 10bit ADC 1 -> 12bit ADC > > > + - st,ref-sel : ADC reference source > > > + 0 -> internal 1 -> external > > > + - st,adc-freq : ADC Clock speed > > > + 0 -> 1.625 MHz 2 || 3 -> 6.5 MHz > > > + 1 -> 3.25 MHz > > > > > > Node name must be stmpe_touchscreen and should be child node of stmpe node > > > to > > > which it belongs. > > > > > > +Note that common ADC settings of stmpe_touchscreen will take precedence. > > > + > > > Example: > > > > > > stmpe_touchscreen { > > > compatible = "st,stmpe-ts"; > > > - st,sample-time = <4>; > > > - st,mod-12b = <1>; > > > - st,ref-sel = <0>; > > > - st,adc-freq = <1>; > > > st,ave-ctrl = <1>; > > > st,touch-det-delay = <2>; > > > st,settling = <2>; > > > diff --git a/Documentation/devicetree/bindings/mfd/stmpe.txt > > > b/Documentation/devicetree/bindings/mfd/stmpe.txt > > > index c797c05cd3c2..d4408a417193 100644 > > > --- a/Documentation/devicetree/bindings/mfd/stmpe.txt > > > +++ b/Documentation/devicetree/bindings/mfd/stmpe.txt > > > @@ -4,15 +4,29 @@ STMPE is an MFD device which may expose the following > > > inbuilt devices: gpio, > > > keypad, touchscreen, adc, pwm, rotator. > > > > > > Required properties: > > > - - compatible : > > > "st,stmpe[610|801|811|1600|1601|2401|2403]" > > > - - reg : I2C/SPI address of the device > > > + - compatible : > > > "st,stmpe[610|801|811|1600|1601|2401|2403]" > > > + - reg : I2C/SPI address of the device > > > > Nothing wrong with correcting alignment, but it shouldn't be in the same patch > > as a fundamental change lie this. Just adds noise. > > > > If that means you first have to introduce the new block missaligned, then > > fix up the alignment in a follow up patch, then do that as we can then > > effectively ignore the realignment as obviously correct and focus on > > the real changes. > > > > > > > > Optional properties: > > > - - interrupts : The interrupt outputs from the controller > > > - - interrupt-controller : Marks the device node as an interrupt > > > controller > > > - - wakeup-source : Marks the input device as wakable > > > - - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, > > > 256, 512 and 1024 > > > - - irq-gpio : If present, which GPIO to use for event > > > IRQ > > > + - interrupts : The interrupt outputs from the > > > controller > > > + - interrupt-controller : Marks the device node as an interrupt > > > controller > > > + - wakeup-source : Marks the input device as wakable > > > + - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, > > > 128, 256, 512 and 1024 > > > + - irq-gpio : If present, which GPIO to use for > > > event IRQ > > > + > > > +Optional properties for devices with touch and ADC (STMPE811|STMPE610): > > > + - st,sample-time : ADC conversion time in number of clock. > > > + 0 -> 36 clocks 4 -> 80 > > > clocks (recommended) > > > + 1 -> 44 clocks 5 -> 96 > > > clocks > > > + 2 -> 56 clocks 6 -> 124 > > > clocks > > > + 3 -> 64 clocks > > > + - st,mod-12b : ADC Bit mode > > > + 0 -> 10bit ADC 1 -> 12bit > > > ADC > > > + - st,ref-sel : ADC reference source > > > + 0 -> internal 1 -> > > > external > > > + - st,adc-freq : ADC Clock speed > > > + 0 -> 1.625 MHz 2 || 3 -> > > > 6.5 MHz > > > + 1 -> 3.25 MHz > > > > > > Example: > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings 2018-11-23 14:24 ` [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings Philippe Schenker 2018-11-25 10:04 ` Jonathan Cameron @ 2018-11-28 9:02 ` Lee Jones 1 sibling, 0 replies; 8+ messages in thread From: Lee Jones @ 2018-11-28 9:02 UTC (permalink / raw) To: Philippe Schenker Cc: jic23, marcel.ziswiler, stefan, Max Krummenacher, Philippe Schenker, devicetree, linux-iio, Hartmut Knaack, Alexandre Torgue, linux-input, linux-kernel, Rob Herring, Dmitry Torokhov, Maxime Coquelin, Mark Rutland, Peter Meerwald-Stadler, linux-stm32, linux-arm-kernel, Lars-Peter Clausen On Fri, 23 Nov 2018, Philippe Schenker wrote: > From: Stefan Agner <stefan@agner.ch> > > This adds the devicetree bindings for the STMPE ADC. > > Signed-off-by: Stefan Agner <stefan@agner.ch> > Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> > --- > > Changes in v3: > - Reformatted documentation for touchscreen to use tabs and have a better > overview of the settings. > - Added note which adc-settings will take precedence. > - changed typo in sample-time setting from 144 clocks to 124 clocks, as stated > in the datasheet. > > Changes in v2: > - Moved the bindings for ADC to the overlying mfd. > - Reformatted for better readability > > .../devicetree/bindings/iio/adc/stmpe-adc.txt | 21 +++++++ > .../bindings/input/touchscreen/stmpe.txt | 60 ++++++++++++------- > .../devicetree/bindings/mfd/stmpe.txt | 28 ++++++--- > 3 files changed, 80 insertions(+), 29 deletions(-) > create mode 100644 Documentation/devicetree/bindings/iio/adc/stmpe-adc.txt [...] > diff --git a/Documentation/devicetree/bindings/mfd/stmpe.txt b/Documentation/devicetree/bindings/mfd/stmpe.txt > index c797c05cd3c2..d4408a417193 100644 > --- a/Documentation/devicetree/bindings/mfd/stmpe.txt > +++ b/Documentation/devicetree/bindings/mfd/stmpe.txt > @@ -4,15 +4,29 @@ STMPE is an MFD device which may expose the following inbuilt devices: gpio, > keypad, touchscreen, adc, pwm, rotator. > > Required properties: > - - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" > - - reg : I2C/SPI address of the device > + - compatible : "st,stmpe[610|801|811|1600|1601|2401|2403]" > + - reg : I2C/SPI address of the device Formatting changes should be completed in a separate patch. Here they only serve to obscure the real changes you have made. Please split the formatting changes out and re-submit. -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees [not found] <20181123142411.8921-1-dev@pschenker.ch> 2018-11-23 14:24 ` [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings Philippe Schenker @ 2018-11-23 14:24 ` Philippe Schenker 2018-11-24 11:20 ` Dmitry Osipenko 2018-11-27 14:21 ` Thierry Reding 1 sibling, 2 replies; 8+ messages in thread From: Philippe Schenker @ 2018-11-23 14:24 UTC (permalink / raw) To: jic23, marcel.ziswiler, stefan Cc: Philippe Schenker, Fabio Estevam, devicetree, Thierry Reding, Jonathan Hunter, linux-kernel, Rob Herring, linux-arm-kernel, linux-tegra, Pengutronix Kernel Team, Mark Rutland, Sascha Hauer, Shawn Guo, NXP Linux Team From: Philippe Schenker <philippe.schenker@toradex.com> Activate the stmpe-adc driver as found on Apalis/Colibri iMX6/T30 modules Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> --- Changes in v3: - None Changes in v2: - Put common ADC settings in mfd arch/arm/boot/dts/imx6qdl-apalis.dtsi | 22 ++++++++++++++-------- arch/arm/boot/dts/imx6qdl-colibri.dtsi | 23 +++++++++++++++-------- arch/arm/boot/dts/tegra30-apalis.dtsi | 22 ++++++++++++++-------- arch/arm/boot/dts/tegra30-colibri.dtsi | 22 ++++++++++++++-------- 4 files changed, 57 insertions(+), 32 deletions(-) diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi index 3dc99dd8dde1..8db476d8978d 100644 --- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -331,11 +331,18 @@ id = <0>; blocks = <0x5>; irq-trigger = <0x1>; + /* 3.25 MHz ADC clock speed */ + st,adc-freq = <1>; + /* 12-bit ADC */ + st,mod-12b = <1>; + /* internal ADC reference */ + st,ref-sel = <0>; + /* ADC converstion time: 80 clocks */ + st,sample-time = <4>; + /* forbid to use ADC channels 3-0 (touch) */ stmpe_touchscreen { compatible = "st,stmpe-ts"; - /* 3.25 MHz ADC clock speed */ - st,adc-freq = <1>; /* 8 sample average control */ st,ave-ctrl = <3>; /* 7 length fractional part in z */ @@ -345,17 +352,16 @@ * current limit value */ st,i-drive = <1>; - /* 12-bit ADC */ - st,mod-12b = <1>; - /* internal ADC reference */ - st,ref-sel = <0>; - /* ADC converstion time: 80 clocks */ - st,sample-time = <4>; /* 1 ms panel driver settling time */ st,settling = <3>; /* 5 ms touch detect interrupt delay */ st,touch-det-delay = <5>; }; + + stmpe_adc { + compatible = "st,stmpe-adc"; + st,norequest-mask = <0x0F>; + }; }; }; diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi index 87e15e7cb32b..2e303d79c7f8 100644 --- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi +++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi @@ -262,11 +262,18 @@ id = <0>; blocks = <0x5>; irq-trigger = <0x1>; + /* 3.25 MHz ADC clock speed */ + st,adc-freq = <1>; + /* 12-bit ADC */ + st,mod-12b = <1>; + /* internal ADC reference */ + st,ref-sel = <0>; + /* ADC converstion time: 80 clocks */ + st,sample-time = <4>; + /* forbid to use ADC channels 3-0 (touch) */ stmpe_touchscreen { compatible = "st,stmpe-ts"; - /* 3.25 MHz ADC clock speed */ - st,adc-freq = <1>; /* 8 sample average control */ st,ave-ctrl = <3>; /* 7 length fractional part in z */ @@ -276,17 +283,17 @@ * current limit value */ st,i-drive = <1>; - /* 12-bit ADC */ - st,mod-12b = <1>; - /* internal ADC reference */ - st,ref-sel = <0>; - /* ADC converstion time: 80 clocks */ - st,sample-time = <4>; /* 1 ms panel driver settling time */ st,settling = <3>; /* 5 ms touch detect interrupt delay */ st,touch-det-delay = <5>; }; + + stmpe_adc { + compatible = "st,stmpe-adc"; + /* 3.25 MHz ADC clock speed */ + st,norequest-mask = <0x0F>; + }; }; }; diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi index 7f112f192fe9..850b0d13549a 100644 --- a/arch/arm/boot/dts/tegra30-apalis.dtsi +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi @@ -976,11 +976,18 @@ id = <0>; blocks = <0x5>; irq-trigger = <0x1>; + /* 3.25 MHz ADC clock speed */ + st,adc-freq = <1>; + /* 12-bit ADC */ + st,mod-12b = <1>; + /* internal ADC reference */ + st,ref-sel = <0>; + /* ADC converstion time: 80 clocks */ + st,sample-time = <4>; + /* forbid to use ADC channels 3-0 (touch) */ stmpe_touchscreen { compatible = "st,stmpe-ts"; - /* 3.25 MHz ADC clock speed */ - st,adc-freq = <1>; /* 8 sample average control */ st,ave-ctrl = <3>; /* 7 length fractional part in z */ @@ -990,17 +997,16 @@ * current limit value */ st,i-drive = <1>; - /* 12-bit ADC */ - st,mod-12b = <1>; - /* internal ADC reference */ - st,ref-sel = <0>; - /* ADC converstion time: 80 clocks */ - st,sample-time = <4>; /* 1 ms panel driver settling time */ st,settling = <3>; /* 5 ms touch detect interrupt delay */ st,touch-det-delay = <5>; }; + + stmpe_adc { + compatible = "st,stmpe-adc"; + st,norequest-mask = <0x0F>; + }; }; /* diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi index 35af03ca9e90..1f9198bb24ff 100644 --- a/arch/arm/boot/dts/tegra30-colibri.dtsi +++ b/arch/arm/boot/dts/tegra30-colibri.dtsi @@ -845,11 +845,18 @@ id = <0>; blocks = <0x5>; irq-trigger = <0x1>; + /* 3.25 MHz ADC clock speed */ + st,adc-freq = <1>; + /* 12-bit ADC */ + st,mod-12b = <1>; + /* internal ADC reference */ + st,ref-sel = <0>; + /* ADC converstion time: 80 clocks */ + st,sample-time = <4>; + /* forbid to use ADC channels 3-0 (touch) */ stmpe_touchscreen { compatible = "st,stmpe-ts"; - /* 3.25 MHz ADC clock speed */ - st,adc-freq = <1>; /* 8 sample average control */ st,ave-ctrl = <3>; /* 7 length fractional part in z */ @@ -859,17 +866,16 @@ * current limit value */ st,i-drive = <1>; - /* 12-bit ADC */ - st,mod-12b = <1>; - /* internal ADC reference */ - st,ref-sel = <0>; - /* ADC converstion time: 80 clocks */ - st,sample-time = <4>; /* 1 ms panel driver settling time */ st,settling = <3>; /* 5 ms touch detect interrupt delay */ st,touch-det-delay = <5>; }; + + stmpe_adc { + compatible = "st,stmpe-adc"; + st,norequest-mask = <0x0F>; + }; }; /* -- 2.19.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees 2018-11-23 14:24 ` [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees Philippe Schenker @ 2018-11-24 11:20 ` Dmitry Osipenko 2018-11-27 14:21 ` Thierry Reding 1 sibling, 0 replies; 8+ messages in thread From: Dmitry Osipenko @ 2018-11-24 11:20 UTC (permalink / raw) To: Philippe Schenker, jic23, marcel.ziswiler, stefan Cc: Philippe Schenker, Fabio Estevam, devicetree, Thierry Reding, Jonathan Hunter, linux-kernel, Rob Herring, linux-arm-kernel, linux-tegra, Pengutronix Kernel Team, Mark Rutland, Sascha Hauer, Shawn Guo, NXP Linux Team On 23.11.2018 17:24, Philippe Schenker wrote: > From: Philippe Schenker <philippe.schenker@toradex.com> > > Activate the stmpe-adc driver as found on Apalis/Colibri iMX6/T30 modules > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Hello Philippe, Just a very minor comment.. device trees are not for drivers, but for HW description. It will be better to s/driver/DT node/ in both commit name and description. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees 2018-11-23 14:24 ` [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees Philippe Schenker 2018-11-24 11:20 ` Dmitry Osipenko @ 2018-11-27 14:21 ` Thierry Reding 1 sibling, 0 replies; 8+ messages in thread From: Thierry Reding @ 2018-11-27 14:21 UTC (permalink / raw) To: Philippe Schenker Cc: jic23, marcel.ziswiler, stefan, Philippe Schenker, Fabio Estevam, devicetree, Jonathan Hunter, linux-kernel, Rob Herring, linux-arm-kernel, linux-tegra, Pengutronix Kernel Team, Mark Rutland, Sascha Hauer, Shawn Guo, NXP Linux Team [-- Attachment #1: Type: text/plain, Size: 920 bytes --] On Fri, Nov 23, 2018 at 03:24:11PM +0100, Philippe Schenker wrote: > From: Philippe Schenker <philippe.schenker@toradex.com> > > Activate the stmpe-adc driver as found on Apalis/Colibri iMX6/T30 modules > > Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> > --- > > Changes in v3: > - None > > Changes in v2: > - Put common ADC settings in mfd > > arch/arm/boot/dts/imx6qdl-apalis.dtsi | 22 ++++++++++++++-------- > arch/arm/boot/dts/imx6qdl-colibri.dtsi | 23 +++++++++++++++-------- > arch/arm/boot/dts/tegra30-apalis.dtsi | 22 ++++++++++++++-------- > arch/arm/boot/dts/tegra30-colibri.dtsi | 22 ++++++++++++++-------- > 4 files changed, 57 insertions(+), 32 deletions(-) You might want to split this up into two patches, one for i.MX and the other for Tegra so that the respective maintainers can apply them separately. Also, where are patches 1-3? Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-12-08 10:55 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20181123142411.8921-1-dev@pschenker.ch> 2018-11-23 14:24 ` [PATCH v3 3/4] iio: adc: add STMPE ADC devicetree bindings Philippe Schenker 2018-11-25 10:04 ` Jonathan Cameron 2018-12-06 15:49 ` Philippe Schenker 2018-12-08 10:55 ` Jonathan Cameron 2018-11-28 9:02 ` Lee Jones 2018-11-23 14:24 ` [PATCH v3 4/4] ARM: dts: Add stmpe-adc driver to relevant devicetrees Philippe Schenker 2018-11-24 11:20 ` Dmitry Osipenko 2018-11-27 14:21 ` Thierry Reding
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).