diff mbox

[2/2] Documentation: dt: Document TSC2005 DT binding

Message ID 1386284979-9680-3-git-send-email-sre@debian.org (mailing list archive)
State New, archived
Headers show

Commit Message

Sebastian Reichel Dec. 5, 2013, 11:09 p.m. UTC
Add devicetree binding documentation for TSC2005 touchscreen.

Signed-off-by: Sebastian Reichel <sre@debian.org>
---
 .../bindings/input/touchscreen/tsc2005.txt         | 49 ++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt

Comments

Tony Lindgren Dec. 9, 2013, 5:46 p.m. UTC | #1
* Sebastian Reichel <sre@debian.org> [131205 15:11]:
> Add devicetree binding documentation for TSC2005 touchscreen.
> 
> Signed-off-by: Sebastian Reichel <sre@debian.org>
> ---
>  .../bindings/input/touchscreen/tsc2005.txt         | 49 ++++++++++++++++++++++
>  1 file changed, 49 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt b/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt
> new file mode 100644
> index 0000000..4e7df0b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt
> @@ -0,0 +1,49 @@
> +* TSC2005 Touchscreen
> +
> +Required properties:
> + - compatible		      : "ti,tsc2005"
> + - reg			      : SPI device address
> + - spi-max-frequency	      : Maximal SPI speed
> + - interrupts		      : IRQ specifier
> + - reset-gpio		      : GPIO specifier
> +
> +Optional properties:
> + - ti,fuzz-x		      : integer, X noise value of the touchscreen
> +				(defaults to 4)
> + - ti,fuzz-y		      : integer, Y noise value of the touchscreen
> +				(defaults to 8)
> + - ti,fuzz-pressure	      : integer, pressure noise value of the touchscreen
> +				(defaults to 2)
> + - ti,max-x		      : integer, maximum reported x value
> +				(defaults to 4096)
> + - ti,max-y		      : integer, maximum reported y value
> +				(defaults to 4096)
> + - ti,max-pressure	      : integer, maximum reported pressure
> +				(defaults to 4096)
> + - ti,x-plate-resistance      : integer, resistance of the touchscreen's X plates
> +				in ohm (defaults to 280)
> + - ti,esd-recovery-timeout-ms : integer, if the touchscreen does not respond after
> +				the configured time (in milli seconds), the driver
> +				will reset it. This is disabled by default.

Instead of adding these optional ti,* properties you can set them in the
driver directly in the of_match table based on the compatible flag. Then
you can pass compatible flag like ti,tsc2005-nokia-n900, or the name of
the LCD panel. Most likely these depend on the LCD panel selected.

Regards,

Tony


> +Example:
> +
> +&mcspi1 {
> +	tsc2005@0 {
> +		compatible = "ti,tsc2005";
> +		spi-max-frequency = <6000000>;
> +		reg = <0>;
> +		reset-gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
> +		interrupt-parent = <&gpio4>;
> +		interrupts = <4 IRQ_TYPE_NONE>; /* gpio line 100 */
> +
> +		ti,fuzz-x = <4>;
> +		ti,fuzz-y = <7>;
> +		ti,fuzz-pressure = <2>;
> +		ti,max-x = <4096>;
> +		ti,max-y = <4096>;
> +		ti,max-pressure = <2048>;
> +		ti,x-plate-resistance = <280>;
> +		ti,esd-recovery-timeout-ms = <8000>;
> +	};
> +}
> -- 
> 1.8.4.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Sebastian Reichel Dec. 9, 2013, 6:24 p.m. UTC | #2
On Mon, Dec 09, 2013 at 09:46:38AM -0800, Tony Lindgren wrote:
> > +Optional properties:
> > + - ti,fuzz-x		      : integer, X noise value of the touchscreen
> > +				(defaults to 4)
> > + - ti,fuzz-y		      : integer, Y noise value of the touchscreen
> > +				(defaults to 8)
> > + - ti,fuzz-pressure	      : integer, pressure noise value of the touchscreen
> > +				(defaults to 2)
> > + - ti,max-x		      : integer, maximum reported x value
> > +				(defaults to 4096)
> > + - ti,max-y		      : integer, maximum reported y value
> > +				(defaults to 4096)
> > + - ti,max-pressure	      : integer, maximum reported pressure
> > +				(defaults to 4096)
> > + - ti,x-plate-resistance      : integer, resistance of the touchscreen's X plates
> > +				in ohm (defaults to 280)
> > + - ti,esd-recovery-timeout-ms : integer, if the touchscreen does not respond after
> > +				the configured time (in milli seconds), the driver
> > +				will reset it. This is disabled by default.
> 
> Instead of adding these optional ti,* properties you can set them in the
> driver directly in the of_match table based on the compatible flag. Then
> you can pass compatible flag like ti,tsc2005-nokia-n900, or the name of
> the LCD panel. Most likely these depend on the LCD panel selected.

I could certainly do this, but it would move the board specific data
from the boardcode into the driver. That looks contra-productive to
me. Is there a good reason to do it this way?

-- Sebastian
Tony Lindgren Dec. 10, 2013, 12:06 a.m. UTC | #3
* Sebastian Reichel <sre@debian.org> [131209 10:25]:
> On Mon, Dec 09, 2013 at 09:46:38AM -0800, Tony Lindgren wrote:
> > > +Optional properties:
> > > + - ti,fuzz-x		      : integer, X noise value of the touchscreen
> > > +				(defaults to 4)
> > > + - ti,fuzz-y		      : integer, Y noise value of the touchscreen
> > > +				(defaults to 8)
> > > + - ti,fuzz-pressure	      : integer, pressure noise value of the touchscreen
> > > +				(defaults to 2)
> > > + - ti,max-x		      : integer, maximum reported x value
> > > +				(defaults to 4096)
> > > + - ti,max-y		      : integer, maximum reported y value
> > > +				(defaults to 4096)
> > > + - ti,max-pressure	      : integer, maximum reported pressure
> > > +				(defaults to 4096)
> > > + - ti,x-plate-resistance      : integer, resistance of the touchscreen's X plates
> > > +				in ohm (defaults to 280)
> > > + - ti,esd-recovery-timeout-ms : integer, if the touchscreen does not respond after
> > > +				the configured time (in milli seconds), the driver
> > > +				will reset it. This is disabled by default.
> > 
> > Instead of adding these optional ti,* properties you can set them in the
> > driver directly in the of_match table based on the compatible flag. Then
> > you can pass compatible flag like ti,tsc2005-nokia-n900, or the name of
> > the LCD panel. Most likely these depend on the LCD panel selected.
> 
> I could certainly do this, but it would move the board specific data
> from the boardcode into the driver. That looks contra-productive to
> me. Is there a good reason to do it this way?

You can leave out the custom properties that way for something that probably
should be grouped by the touchpanel type connected as the values are the
same.

So for example just a few compatible flags like ti,tsc2005-panel-abc and
ti,tsc2005-panel-xyz we could potentially cover all the configurations
we're aware of without any need for custom properties. And this is way
easier to support in the long run assuming we don't end up with tons of
compatible flags. Of course if we end up with a new compatible flag for
each configuration, then it makes sense to set up the custom properties,
but I doubt that's the case here.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt b/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt
new file mode 100644
index 0000000..4e7df0b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/tsc2005.txt
@@ -0,0 +1,49 @@ 
+* TSC2005 Touchscreen
+
+Required properties:
+ - compatible		      : "ti,tsc2005"
+ - reg			      : SPI device address
+ - spi-max-frequency	      : Maximal SPI speed
+ - interrupts		      : IRQ specifier
+ - reset-gpio		      : GPIO specifier
+
+Optional properties:
+ - ti,fuzz-x		      : integer, X noise value of the touchscreen
+				(defaults to 4)
+ - ti,fuzz-y		      : integer, Y noise value of the touchscreen
+				(defaults to 8)
+ - ti,fuzz-pressure	      : integer, pressure noise value of the touchscreen
+				(defaults to 2)
+ - ti,max-x		      : integer, maximum reported x value
+				(defaults to 4096)
+ - ti,max-y		      : integer, maximum reported y value
+				(defaults to 4096)
+ - ti,max-pressure	      : integer, maximum reported pressure
+				(defaults to 4096)
+ - ti,x-plate-resistance      : integer, resistance of the touchscreen's X plates
+				in ohm (defaults to 280)
+ - ti,esd-recovery-timeout-ms : integer, if the touchscreen does not respond after
+				the configured time (in milli seconds), the driver
+				will reset it. This is disabled by default.
+
+Example:
+
+&mcspi1 {
+	tsc2005@0 {
+		compatible = "ti,tsc2005";
+		spi-max-frequency = <6000000>;
+		reg = <0>;
+		reset-gpio = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
+		interrupt-parent = <&gpio4>;
+		interrupts = <4 IRQ_TYPE_NONE>; /* gpio line 100 */
+
+		ti,fuzz-x = <4>;
+		ti,fuzz-y = <7>;
+		ti,fuzz-pressure = <2>;
+		ti,max-x = <4096>;
+		ti,max-y = <4096>;
+		ti,max-pressure = <2048>;
+		ti,x-plate-resistance = <280>;
+		ti,esd-recovery-timeout-ms = <8000>;
+	};
+}