From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Pargmann Subject: Re: [PATCH 1/3] mfd: fsl imx25 Touchscreen ADC driver Date: Fri, 21 Feb 2014 11:18:39 +0100 Message-ID: <20140221101839.GD24758@pengutronix.de> References: <1392913312-9030-1-git-send-email-mpa@pengutronix.de> <1392913312-9030-2-git-send-email-mpa@pengutronix.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="RIYY1s2vRbPFwWeW" Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-iio-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Fabio Estevam Cc: "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Dmitry Torokhov , Samuel Ortiz , Lee Jones , Jonathan Cameron , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , Sascha Hauer List-Id: devicetree@vger.kernel.org --RIYY1s2vRbPFwWeW Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Fabio, On Thu, Feb 20, 2014 at 02:17:33PM -0300, Fabio Estevam wrote: > Hi Markus, >=20 > On Thu, Feb 20, 2014 at 1:21 PM, Markus Pargmann wro= te: > > This is the core driver for imx25 touchscreen/adc driver. The module > > has one shared ADC and two different conversion queues which use the > > ADC. The two queues are identical. Both can be used for general purpose > > ADC but one is meant to be used for touchscreens. > > > > This driver is the core which manages the central components and > > registers of the TSC/ADC unit. It manages the IRQs and forwards them to > > the correct components. > > > > Signed-off-by: Markus Pargmann >=20 > That's great :-) Nice work! >=20 > > --- > > .../devicetree/bindings/mfd/fsl-imx25-tsadc.txt | 46 ++++ > > drivers/mfd/Kconfig | 9 + > > drivers/mfd/Makefile | 2 + > > drivers/mfd/fsl-imx25-tsadc.c | 234 +++++++++++++= ++++++++ > > include/linux/mfd/imx25-tsadc.h | 138 ++++++++++++ > > 5 files changed, 429 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mfd/fsl-imx25-tsa= dc.txt > > create mode 100644 drivers/mfd/fsl-imx25-tsadc.c > > create mode 100644 include/linux/mfd/imx25-tsadc.h > > > > diff --git a/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt = b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > new file mode 100644 > > index 0000000..a857af0e > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > @@ -0,0 +1,46 @@ > > +Freescale mx25 ADC/TSC multifunction device > > + > > +This device combines two general purpose conversion queues one used fo= r general > > +ADC and the other used for touchscreens. > > + > > +Required properties: > > + - compatible: Should be "fsl,imx25-tsadc". > > + - reg: Memory range of the device. > > + - interrupts: Interrupt for this device as described in > > + interrupts/interrupts.txt > > + - clocks: An 'ipg' clock defined as described in clocks/clock.txt > > + - interrupt-controller: This device is an interrupt controller. It co= ntrols > > + the interrupts of both conversion queues. > > + - #interrupt-cells: Should be '<1>'. > > + - #address-cells: Should be '<1>'. > > + - #size-cells: Should be '<1>'. > > + - ranges > > + > > +This device includes two conversion queues which can be added as subno= des. > > +The first queue is for the touchscreen, the second for general purpose= ADC. > > + > > +Example: > > + tscadc: tscadc@50030000 { > > + compatible =3D "fsl,imx25-tsadc"; > > + reg =3D <0x50030000 0xc>; > > + interrupts =3D <46>; > > + clocks =3D <&clks 119>; > > + clock-names =3D "ipg"; > > + interrupt-controller; > > + #interrupt-cells =3D <1>; > > + #address-cells =3D <1>; > > + #size-cells =3D <1>; > > + ranges; > > + > > + tsc: tcq@50030400 { > > + compatible =3D "fsl,imx25-tcq"; > > + reg =3D <0x50030400 0x60>; > > + ... > > + }; > > + > > + adc: gcq@50030800 { > > + compatible =3D "fsl,imx25-gcq"; > > + reg =3D <0x50030800 0x60>; > > + ... > > + }; > > + }; >=20 > The meaning of 'tcq' and 'gcq' acronyms are not obvious. Could they be > written more explicitily? >=20 > Also, what does the '...' mean? I forgot to answer this one. The bindings for tcq and gcq are described in the other files, so I didn't want to show any details that are not relevant for this driver. Regards, Markus --=20 Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | --RIYY1s2vRbPFwWeW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIbBAEBAgAGBQJTByf/AAoJEEpcgKtcEGQQiXUP93rS5tDu5ityARC/KWbvzdMM F1kYSB5OC6Xq1mzNvZp50/1XdvBwTlgbI99L97IND2FkSffQ6af/vvGNPrfXqlz8 eA8meJNcVTUcG0NKFyZaTRTKs8hNHgU0L6VsGUaIbwf2FJWfuFmQApkZcj7twIO/ feIlH6Qhws3PG4GjcXo7dIUr4fMsU/6URYrJ8HFpDgCmFvR81dP9sI9GDziD2n9X lDJoI456mIfGcYqp2njge3MfP2LqnPj404KuEcRjkcI+TdNc6ytmeahyCnIt7tdL zdx3FoFhM8TnEvrlni6oWpcorjDpldQCw3rpZ1qMOsbvuiFcfxTxas3BWFqoT0Eo wvI/747v51PH8N+n0OT7/tTbXi+r1oprYDNhls5g1eHdxEAPD4z+1+Lr82lC5t9a oZTeTsr+78GWyEnb/8/GVAdMfHzngu7TD8mcI4CecrV6Btpf9vEvouExkxmaeSgP jU2WpjLcimz978A3YirMOCX9XqQ3HK6eg+luFvjbNV9Nd2XQ+xrR6zCbwmeYKaoR PrOtjo1eoeGFWv5hMUfiAfzgoTxI6vbqSIEXEECMcYCndU+SMHJb0IRUp6Vq6Ptq 2d0xXPF4T5jc11poNIT/BEvJHcQSrFMMUzq19Rp1PKEgPmnjquvQH2jWsTls8zif YKbgnclHf4aC4LEuLwo= =y+Ov -----END PGP SIGNATURE----- --RIYY1s2vRbPFwWeW-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 21 Feb 2014 11:18:39 +0100 From: Markus Pargmann To: Fabio Estevam Cc: "devicetree@vger.kernel.org" , linux-input@vger.kernel.org, linux-iio@vger.kernel.org, Dmitry Torokhov , Samuel Ortiz , Lee Jones , Jonathan Cameron , "linux-arm-kernel@lists.infradead.org" , Sascha Hauer Subject: Re: [PATCH 1/3] mfd: fsl imx25 Touchscreen ADC driver Message-ID: <20140221101839.GD24758@pengutronix.de> References: <1392913312-9030-1-git-send-email-mpa@pengutronix.de> <1392913312-9030-2-git-send-email-mpa@pengutronix.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="RIYY1s2vRbPFwWeW" In-Reply-To: List-ID: --RIYY1s2vRbPFwWeW Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Fabio, On Thu, Feb 20, 2014 at 02:17:33PM -0300, Fabio Estevam wrote: > Hi Markus, >=20 > On Thu, Feb 20, 2014 at 1:21 PM, Markus Pargmann wro= te: > > This is the core driver for imx25 touchscreen/adc driver. The module > > has one shared ADC and two different conversion queues which use the > > ADC. The two queues are identical. Both can be used for general purpose > > ADC but one is meant to be used for touchscreens. > > > > This driver is the core which manages the central components and > > registers of the TSC/ADC unit. It manages the IRQs and forwards them to > > the correct components. > > > > Signed-off-by: Markus Pargmann >=20 > That's great :-) Nice work! >=20 > > --- > > .../devicetree/bindings/mfd/fsl-imx25-tsadc.txt | 46 ++++ > > drivers/mfd/Kconfig | 9 + > > drivers/mfd/Makefile | 2 + > > drivers/mfd/fsl-imx25-tsadc.c | 234 +++++++++++++= ++++++++ > > include/linux/mfd/imx25-tsadc.h | 138 ++++++++++++ > > 5 files changed, 429 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mfd/fsl-imx25-tsa= dc.txt > > create mode 100644 drivers/mfd/fsl-imx25-tsadc.c > > create mode 100644 include/linux/mfd/imx25-tsadc.h > > > > diff --git a/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt = b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > new file mode 100644 > > index 0000000..a857af0e > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > @@ -0,0 +1,46 @@ > > +Freescale mx25 ADC/TSC multifunction device > > + > > +This device combines two general purpose conversion queues one used fo= r general > > +ADC and the other used for touchscreens. > > + > > +Required properties: > > + - compatible: Should be "fsl,imx25-tsadc". > > + - reg: Memory range of the device. > > + - interrupts: Interrupt for this device as described in > > + interrupts/interrupts.txt > > + - clocks: An 'ipg' clock defined as described in clocks/clock.txt > > + - interrupt-controller: This device is an interrupt controller. It co= ntrols > > + the interrupts of both conversion queues. > > + - #interrupt-cells: Should be '<1>'. > > + - #address-cells: Should be '<1>'. > > + - #size-cells: Should be '<1>'. > > + - ranges > > + > > +This device includes two conversion queues which can be added as subno= des. > > +The first queue is for the touchscreen, the second for general purpose= ADC. > > + > > +Example: > > + tscadc: tscadc@50030000 { > > + compatible =3D "fsl,imx25-tsadc"; > > + reg =3D <0x50030000 0xc>; > > + interrupts =3D <46>; > > + clocks =3D <&clks 119>; > > + clock-names =3D "ipg"; > > + interrupt-controller; > > + #interrupt-cells =3D <1>; > > + #address-cells =3D <1>; > > + #size-cells =3D <1>; > > + ranges; > > + > > + tsc: tcq@50030400 { > > + compatible =3D "fsl,imx25-tcq"; > > + reg =3D <0x50030400 0x60>; > > + ... > > + }; > > + > > + adc: gcq@50030800 { > > + compatible =3D "fsl,imx25-gcq"; > > + reg =3D <0x50030800 0x60>; > > + ... > > + }; > > + }; >=20 > The meaning of 'tcq' and 'gcq' acronyms are not obvious. Could they be > written more explicitily? >=20 > Also, what does the '...' mean? I forgot to answer this one. The bindings for tcq and gcq are described in the other files, so I didn't want to show any details that are not relevant for this driver. Regards, Markus --=20 Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | --RIYY1s2vRbPFwWeW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIbBAEBAgAGBQJTByf/AAoJEEpcgKtcEGQQiXUP93rS5tDu5ityARC/KWbvzdMM F1kYSB5OC6Xq1mzNvZp50/1XdvBwTlgbI99L97IND2FkSffQ6af/vvGNPrfXqlz8 eA8meJNcVTUcG0NKFyZaTRTKs8hNHgU0L6VsGUaIbwf2FJWfuFmQApkZcj7twIO/ feIlH6Qhws3PG4GjcXo7dIUr4fMsU/6URYrJ8HFpDgCmFvR81dP9sI9GDziD2n9X lDJoI456mIfGcYqp2njge3MfP2LqnPj404KuEcRjkcI+TdNc6ytmeahyCnIt7tdL zdx3FoFhM8TnEvrlni6oWpcorjDpldQCw3rpZ1qMOsbvuiFcfxTxas3BWFqoT0Eo wvI/747v51PH8N+n0OT7/tTbXi+r1oprYDNhls5g1eHdxEAPD4z+1+Lr82lC5t9a oZTeTsr+78GWyEnb/8/GVAdMfHzngu7TD8mcI4CecrV6Btpf9vEvouExkxmaeSgP jU2WpjLcimz978A3YirMOCX9XqQ3HK6eg+luFvjbNV9Nd2XQ+xrR6zCbwmeYKaoR PrOtjo1eoeGFWv5hMUfiAfzgoTxI6vbqSIEXEECMcYCndU+SMHJb0IRUp6Vq6Ptq 2d0xXPF4T5jc11poNIT/BEvJHcQSrFMMUzq19Rp1PKEgPmnjquvQH2jWsTls8zif YKbgnclHf4aC4LEuLwo= =y+Ov -----END PGP SIGNATURE----- --RIYY1s2vRbPFwWeW-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: mpa@pengutronix.de (Markus Pargmann) Date: Fri, 21 Feb 2014 11:18:39 +0100 Subject: [PATCH 1/3] mfd: fsl imx25 Touchscreen ADC driver In-Reply-To: References: <1392913312-9030-1-git-send-email-mpa@pengutronix.de> <1392913312-9030-2-git-send-email-mpa@pengutronix.de> Message-ID: <20140221101839.GD24758@pengutronix.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Fabio, On Thu, Feb 20, 2014 at 02:17:33PM -0300, Fabio Estevam wrote: > Hi Markus, > > On Thu, Feb 20, 2014 at 1:21 PM, Markus Pargmann wrote: > > This is the core driver for imx25 touchscreen/adc driver. The module > > has one shared ADC and two different conversion queues which use the > > ADC. The two queues are identical. Both can be used for general purpose > > ADC but one is meant to be used for touchscreens. > > > > This driver is the core which manages the central components and > > registers of the TSC/ADC unit. It manages the IRQs and forwards them to > > the correct components. > > > > Signed-off-by: Markus Pargmann > > That's great :-) Nice work! > > > --- > > .../devicetree/bindings/mfd/fsl-imx25-tsadc.txt | 46 ++++ > > drivers/mfd/Kconfig | 9 + > > drivers/mfd/Makefile | 2 + > > drivers/mfd/fsl-imx25-tsadc.c | 234 +++++++++++++++++++++ > > include/linux/mfd/imx25-tsadc.h | 138 ++++++++++++ > > 5 files changed, 429 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > create mode 100644 drivers/mfd/fsl-imx25-tsadc.c > > create mode 100644 include/linux/mfd/imx25-tsadc.h > > > > diff --git a/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > new file mode 100644 > > index 0000000..a857af0e > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/mfd/fsl-imx25-tsadc.txt > > @@ -0,0 +1,46 @@ > > +Freescale mx25 ADC/TSC multifunction device > > + > > +This device combines two general purpose conversion queues one used for general > > +ADC and the other used for touchscreens. > > + > > +Required properties: > > + - compatible: Should be "fsl,imx25-tsadc". > > + - reg: Memory range of the device. > > + - interrupts: Interrupt for this device as described in > > + interrupts/interrupts.txt > > + - clocks: An 'ipg' clock defined as described in clocks/clock.txt > > + - interrupt-controller: This device is an interrupt controller. It controls > > + the interrupts of both conversion queues. > > + - #interrupt-cells: Should be '<1>'. > > + - #address-cells: Should be '<1>'. > > + - #size-cells: Should be '<1>'. > > + - ranges > > + > > +This device includes two conversion queues which can be added as subnodes. > > +The first queue is for the touchscreen, the second for general purpose ADC. > > + > > +Example: > > + tscadc: tscadc at 50030000 { > > + compatible = "fsl,imx25-tsadc"; > > + reg = <0x50030000 0xc>; > > + interrupts = <46>; > > + clocks = <&clks 119>; > > + clock-names = "ipg"; > > + interrupt-controller; > > + #interrupt-cells = <1>; > > + #address-cells = <1>; > > + #size-cells = <1>; > > + ranges; > > + > > + tsc: tcq at 50030400 { > > + compatible = "fsl,imx25-tcq"; > > + reg = <0x50030400 0x60>; > > + ... > > + }; > > + > > + adc: gcq at 50030800 { > > + compatible = "fsl,imx25-gcq"; > > + reg = <0x50030800 0x60>; > > + ... > > + }; > > + }; > > The meaning of 'tcq' and 'gcq' acronyms are not obvious. Could they be > written more explicitily? > > Also, what does the '...' mean? I forgot to answer this one. The bindings for tcq and gcq are described in the other files, so I didn't want to show any details that are not relevant for this driver. Regards, Markus -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: