From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lothar =?UTF-8?B?V2HDn21hbm4=?= Subject: Re: [PATCH v6 4/8] mfd: fsl imx25 Touchscreen ADC driver Date: Fri, 30 Jan 2015 07:43:24 +0100 Message-ID: <20150130074324.3e4d868f@ipc1.ka-ro> References: <1422540556-14828-1-git-send-email-mpa@pengutronix.de> <1422540556-14828-5-git-send-email-mpa@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1422540556-14828-5-git-send-email-mpa@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Markus Pargmann Cc: Mark Rutland , devicetree@vger.kernel.org, Lars-Peter Clausen , Samuel Ortiz , Eric =?UTF-8?B?QsOpbmFyZA==?= , Ian Campbell , linux-iio@vger.kernel.org, linux-input@vger.kernel.org, Dmitry Torokhov , Rob Herring , Denis Carikli , Kumar Gala , Pawel Moll , linux-arm-kernel@lists.infradead.org, Peter Meerwald , Hartmut Knaack , Lee Jones , Shawn Guo , Fabio Estevam , Sascha Hauer , Jonathan Cameron List-Id: devicetree@vger.kernel.org SGksCgpNYXJrdXMgUGFyZ21hbm4gd3JvdGU6Cj4gVGhpcyBpcyB0aGUgY29yZSBkcml2ZXIgZm9y IGlteDI1IHRvdWNoc2NyZWVuL2FkYyBkcml2ZXIuIFRoZSBtb2R1bGUKPiBoYXMgb25lIHNoYXJl ZCBBREMgYW5kIHR3byBkaWZmZXJlbnQgY29udmVyc2lvbiBxdWV1ZXMgd2hpY2ggdXNlIHRoZQo+ IEFEQy4gVGhlIHR3byBxdWV1ZXMgYXJlIGlkZW50aWNhbC4gQm90aCBjYW4gYmUgdXNlZCBmb3Ig Z2VuZXJhbCBwdXJwb3NlCj4gQURDIGJ1dCBvbmUgaXMgbWVhbnQgdG8gYmUgdXNlZCBmb3IgdG91 Y2hzY3JlZW5zLgo+IAo+IFRoaXMgZHJpdmVyIGlzIHRoZSBjb3JlIHdoaWNoIG1hbmFnZXMgdGhl IGNlbnRyYWwgY29tcG9uZW50cyBhbmQKPiByZWdpc3RlcnMgb2YgdGhlIFRTQy9BREMgdW5pdC4g SXQgbWFuYWdlcyB0aGUgSVJRcyBhbmQgZm9yd2FyZHMgdGhlbSB0bwo+IHRoZSBjb3JyZWN0IGNv bXBvbmVudHMuCj4gClsuLi5dCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2ZzbC1pbXgyNS10 c2FkYy5jIGIvZHJpdmVycy9tZmQvZnNsLWlteDI1LXRzYWRjLmMKPiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uOGU0MDEzZDU3NTAwCj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL2RyaXZlcnMvbWZkL2ZzbC1pbXgyNS10c2FkYy5jCj4gQEAgLTAsMCArMSwxNjcgQEAK Wy4uLl0KPiArI2RlZmluZSBNWDI1X1RHQ1JfUE9XRVJNT0RFX01BU0sJKDMgPDwgOCkKPiArI2Rl ZmluZSBNWDI1X1RHQ1JfUE9XRVJNT0RFX1NBVkUJQklUKDgpCj4gKyNkZWZpbmUgTVgyNV9UR0NS X1BPV0VSTU9ERV9PTgkJKDIgPDwgOCkKPgpUaGlzIGxvb2tzIGEgYml0IHdlaXJkIGFuZCBjb25j ZWFscyB0aGUgZmFjdCwgdGhhdApNWDI1X1RHQ1JfUE9XRVJNT0RFX1NBVkUgaXMgaW4gZmFjdCBv bmUgb2YgdGhlIHBvc3NpYmxlIHNldHRpbmdzCm9mIGEgdHdvIGJpdCBiaXRmaWVsZC4gRm9yIGNv bnNpc3RlbmN5IEkgd291bGQgd3JpdGU6CiNkZWZpbmUgTVgyNV9UR0NSX1BPV0VSTU9ERV9NQVNL CSgzIDw8IDgpCiNkZWZpbmUgTVgyNV9UR0NSX1BPV0VSTU9ERV9TQVZFCSgxIDw8IDgpCiNkZWZp bmUgTVgyNV9UR0NSX1BPV0VSTU9ERV9PTgkJKDIgPDwgOCkKClsuLi5dCj4gKyNkZWZpbmUgTVgy NV9BRENRX0NGR19ZUExMX0hJR0gJMAo+ICsjZGVmaW5lIE1YMjVfQURDUV9DRkdfWVBMTF9PRkYJ CUJJVCgxMikKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1lQTExfTE9XCQkoMyA8PCAxMikKPgpk dG8uCgo+ICsjZGVmaW5lIE1YMjVfQURDUV9DRkdfWE5VUl9ISUdICTAKPiArI2RlZmluZSBNWDI1 X0FEQ1FfQ0ZHX1hOVVJfT0ZGCQlCSVQoMTApCj4gKyNkZWZpbmUgTVgyNV9BRENRX0NGR19YTlVS X0xPVwkJKDMgPDwgMTApCj4KZHRvLgoKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1hQVUxfT0ZG CQlCSVQoOSkKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1hQVUxfSElHSAkwCj4KfCNkZWZpbmUg TVgyNV9BRENRX0NGR19YUFVMX09GRgkJKDEgPDwgOSkKfCNkZWZpbmUgTVgyNV9BRENRX0NGR19Y UFVMX0hJR0gJKDAgPDwgOSkKd291bGQgbWFrZSBpdCBtb3JlIGNsZWFyLCB0aGF0IHRoZXNlIHJl ZmVyIHRvIHRoZSB0d28gc3RhdGVzIG9mIHRoZSBzYW1lCmJpdC4KCj4gKyNkZWZpbmUgTVgyNV9B RENRX0NGR19SRUZQKHNlbCkJCShzZWwgPDwgNykKPgptaXNzaW5nICgpIGFyb3VuZCBtYWNybyBh cmd1bWVudAoKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1JFRlBfWVAJCTAKPiArI2RlZmluZSBN WDI1X0FEQ1FfQ0ZHX1JFRlBfWFAJCSgxIDw8IDcpCj4gKyNkZWZpbmUgTVgyNV9BRENRX0NGR19S RUZQX0VYVAkJKDIgPDwgNykKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1JFRlBfSU5UCQkoMyA8 PCA3KQo+ICsjZGVmaW5lIE1YMjVfQURDUV9DRkdfUkVGUF9NQVNLCQkoMyA8PCA3KQo+CnNlZSBt eSBwcmV2aW91cyBjb21tZW50LgoKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX0lOKHNlbCkJCShz ZWwgPDwgNCkKPgptaXNzaW5nICgpIGFyb3VuZCBtYWNybyBhcmd1bWVudAoKPiArI2RlZmluZSBN WDI1X0FEQ1FfQ0ZHX0lOX1hQCQkwCj4gKyNkZWZpbmUgTVgyNV9BRENRX0NGR19JTl9ZUAkJKDEg PDwgNCkKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX0lOX1hOCQkoMiA8PCA0KQo+ICsjZGVmaW5l IE1YMjVfQURDUV9DRkdfSU5fWU4JCSgzIDw8IDQpCj4Kc2VlIG15IHByZXZpb3VzIGNvbW1lbnQu Cgo+ICsjZGVmaW5lIE1YMjVfQURDUV9DRkdfSU5fV0lQRVIJCSg0IDw8IDQpCj4gKyNkZWZpbmUg TVgyNV9BRENRX0NGR19JTl9BVVgwCQkoNSA8PCA0KQo+ICsjZGVmaW5lIE1YMjVfQURDUV9DRkdf SU5fQVVYMQkJKDYgPDwgNCkKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX0lOX0FVWDIJCSg3IDw8 IDQpCj4gKyNkZWZpbmUgTVgyNV9BRENRX0NGR19SRUZOKHNlbCkJCShzZWwgPDwgMikKPgptaXNz aW5nICgpIGFyb3VuZCBtYWNybyBhcmd1bWVudAoKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1JF Rk5fWE4JCTAKPiArI2RlZmluZSBNWDI1X0FEQ1FfQ0ZHX1JFRk5fWU4JCSgxIDw8IDIpCj4gKyNk ZWZpbmUgTVgyNV9BRENRX0NGR19SRUZOX05HTkQJCSgyIDw8IDIpCj4gKyNkZWZpbmUgTVgyNV9B RENRX0NGR19SRUZOX05HTkQyCSgzIDw8IDIpCj4gKyNkZWZpbmUgTVgyNV9BRENRX0NGR19SRUZO X01BU0sJCSgzIDw8IDIpCj4Kc2VlIG15IHByZXZpb3VzIGNvbW1lbnQuCgoKTG90aGFyIFdhw59t YW5uCi0tIApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwoKS2EtUm8gZWxlY3Ryb25pY3MgR21iSCB8IFBhc2NhbHN0cmHDn2UgMjIgfCBE IC0gNTIwNzYgQWFjaGVuClBob25lOiArNDkgMjQwOCAxNDAyLTAgfCBGYXg6ICs0OSAyNDA4IDE0 MDItMTAKR2VzY2jDpGZ0c2bDvGhyZXI6IE1hdHRoaWFzIEthdXNzZW4KSGFuZGVsc3JlZ2lzdGVy ZWludHJhZzogQW10c2dlcmljaHQgQWFjaGVuLCBIUkIgNDk5NgoKd3d3Lmthcm8tZWxlY3Ryb25p Y3MuZGUgfCBpbmZvQGthcm8tZWxlY3Ryb25pY3MuZGUKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.karo-electronics.de ([81.173.242.67]:62438 "EHLO mail.karo-electronics.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752198AbbA3HBh convert rfc822-to-8bit (ORCPT ); Fri, 30 Jan 2015 02:01:37 -0500 Date: Fri, 30 Jan 2015 07:43:24 +0100 From: Lothar =?UTF-8?B?V2HDn21hbm4=?= To: Markus Pargmann Cc: Shawn Guo , Samuel Ortiz , Dmitry Torokhov , Jonathan Cameron , Fabio Estevam , Peter Meerwald , Hartmut Knaack , Mark Rutland , devicetree@vger.kernel.org, Lars-Peter Clausen , Eric =?UTF-8?B?QsOpbmFyZA==?= , Pawel Moll , Ian Campbell , linux-iio@vger.kernel.org, Kumar Gala , Denis Carikli , Rob Herring , Sascha Hauer , linux-input@vger.kernel.org, Lee Jones , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v6 4/8] mfd: fsl imx25 Touchscreen ADC driver Message-ID: <20150130074324.3e4d868f@ipc1.ka-ro> In-Reply-To: <1422540556-14828-5-git-send-email-mpa@pengutronix.de> References: <1422540556-14828-1-git-send-email-mpa@pengutronix.de> <1422540556-14828-5-git-send-email-mpa@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-iio-owner@vger.kernel.org List-Id: linux-iio@vger.kernel.org Hi, 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. > [...] > diff --git a/drivers/mfd/fsl-imx25-tsadc.c b/drivers/mfd/fsl-imx25-tsadc.c > new file mode 100644 > index 000000000000..8e4013d57500 > --- /dev/null > +++ b/drivers/mfd/fsl-imx25-tsadc.c > @@ -0,0 +1,167 @@ [...] > +#define MX25_TGCR_POWERMODE_MASK (3 << 8) > +#define MX25_TGCR_POWERMODE_SAVE BIT(8) > +#define MX25_TGCR_POWERMODE_ON (2 << 8) > This looks a bit weird and conceals the fact, that MX25_TGCR_POWERMODE_SAVE is in fact one of the possible settings of a two bit bitfield. For consistency I would write: #define MX25_TGCR_POWERMODE_MASK (3 << 8) #define MX25_TGCR_POWERMODE_SAVE (1 << 8) #define MX25_TGCR_POWERMODE_ON (2 << 8) [...] > +#define MX25_ADCQ_CFG_YPLL_HIGH 0 > +#define MX25_ADCQ_CFG_YPLL_OFF BIT(12) > +#define MX25_ADCQ_CFG_YPLL_LOW (3 << 12) > dto. > +#define MX25_ADCQ_CFG_XNUR_HIGH 0 > +#define MX25_ADCQ_CFG_XNUR_OFF BIT(10) > +#define MX25_ADCQ_CFG_XNUR_LOW (3 << 10) > dto. > +#define MX25_ADCQ_CFG_XPUL_OFF BIT(9) > +#define MX25_ADCQ_CFG_XPUL_HIGH 0 > |#define MX25_ADCQ_CFG_XPUL_OFF (1 << 9) |#define MX25_ADCQ_CFG_XPUL_HIGH (0 << 9) would make it more clear, that these refer to the two states of the same bit. > +#define MX25_ADCQ_CFG_REFP(sel) (sel << 7) > missing () around macro argument > +#define MX25_ADCQ_CFG_REFP_YP 0 > +#define MX25_ADCQ_CFG_REFP_XP (1 << 7) > +#define MX25_ADCQ_CFG_REFP_EXT (2 << 7) > +#define MX25_ADCQ_CFG_REFP_INT (3 << 7) > +#define MX25_ADCQ_CFG_REFP_MASK (3 << 7) > see my previous comment. > +#define MX25_ADCQ_CFG_IN(sel) (sel << 4) > missing () around macro argument > +#define MX25_ADCQ_CFG_IN_XP 0 > +#define MX25_ADCQ_CFG_IN_YP (1 << 4) > +#define MX25_ADCQ_CFG_IN_XN (2 << 4) > +#define MX25_ADCQ_CFG_IN_YN (3 << 4) > see my previous comment. > +#define MX25_ADCQ_CFG_IN_WIPER (4 << 4) > +#define MX25_ADCQ_CFG_IN_AUX0 (5 << 4) > +#define MX25_ADCQ_CFG_IN_AUX1 (6 << 4) > +#define MX25_ADCQ_CFG_IN_AUX2 (7 << 4) > +#define MX25_ADCQ_CFG_REFN(sel) (sel << 2) > missing () around macro argument > +#define MX25_ADCQ_CFG_REFN_XN 0 > +#define MX25_ADCQ_CFG_REFN_YN (1 << 2) > +#define MX25_ADCQ_CFG_REFN_NGND (2 << 2) > +#define MX25_ADCQ_CFG_REFN_NGND2 (3 << 2) > +#define MX25_ADCQ_CFG_REFN_MASK (3 << 2) > see my previous comment. Lothar Waßmann -- ___________________________________________________________ Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Geschäftsführer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | info@karo-electronics.de ___________________________________________________________ From mboxrd@z Thu Jan 1 00:00:00 1970 From: LW@KARO-electronics.de (Lothar =?UTF-8?B?V2HDn21hbm4=?=) Date: Fri, 30 Jan 2015 07:43:24 +0100 Subject: [PATCH v6 4/8] mfd: fsl imx25 Touchscreen ADC driver In-Reply-To: <1422540556-14828-5-git-send-email-mpa@pengutronix.de> References: <1422540556-14828-1-git-send-email-mpa@pengutronix.de> <1422540556-14828-5-git-send-email-mpa@pengutronix.de> Message-ID: <20150130074324.3e4d868f@ipc1.ka-ro> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, 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. > [...] > diff --git a/drivers/mfd/fsl-imx25-tsadc.c b/drivers/mfd/fsl-imx25-tsadc.c > new file mode 100644 > index 000000000000..8e4013d57500 > --- /dev/null > +++ b/drivers/mfd/fsl-imx25-tsadc.c > @@ -0,0 +1,167 @@ [...] > +#define MX25_TGCR_POWERMODE_MASK (3 << 8) > +#define MX25_TGCR_POWERMODE_SAVE BIT(8) > +#define MX25_TGCR_POWERMODE_ON (2 << 8) > This looks a bit weird and conceals the fact, that MX25_TGCR_POWERMODE_SAVE is in fact one of the possible settings of a two bit bitfield. For consistency I would write: #define MX25_TGCR_POWERMODE_MASK (3 << 8) #define MX25_TGCR_POWERMODE_SAVE (1 << 8) #define MX25_TGCR_POWERMODE_ON (2 << 8) [...] > +#define MX25_ADCQ_CFG_YPLL_HIGH 0 > +#define MX25_ADCQ_CFG_YPLL_OFF BIT(12) > +#define MX25_ADCQ_CFG_YPLL_LOW (3 << 12) > dto. > +#define MX25_ADCQ_CFG_XNUR_HIGH 0 > +#define MX25_ADCQ_CFG_XNUR_OFF BIT(10) > +#define MX25_ADCQ_CFG_XNUR_LOW (3 << 10) > dto. > +#define MX25_ADCQ_CFG_XPUL_OFF BIT(9) > +#define MX25_ADCQ_CFG_XPUL_HIGH 0 > |#define MX25_ADCQ_CFG_XPUL_OFF (1 << 9) |#define MX25_ADCQ_CFG_XPUL_HIGH (0 << 9) would make it more clear, that these refer to the two states of the same bit. > +#define MX25_ADCQ_CFG_REFP(sel) (sel << 7) > missing () around macro argument > +#define MX25_ADCQ_CFG_REFP_YP 0 > +#define MX25_ADCQ_CFG_REFP_XP (1 << 7) > +#define MX25_ADCQ_CFG_REFP_EXT (2 << 7) > +#define MX25_ADCQ_CFG_REFP_INT (3 << 7) > +#define MX25_ADCQ_CFG_REFP_MASK (3 << 7) > see my previous comment. > +#define MX25_ADCQ_CFG_IN(sel) (sel << 4) > missing () around macro argument > +#define MX25_ADCQ_CFG_IN_XP 0 > +#define MX25_ADCQ_CFG_IN_YP (1 << 4) > +#define MX25_ADCQ_CFG_IN_XN (2 << 4) > +#define MX25_ADCQ_CFG_IN_YN (3 << 4) > see my previous comment. > +#define MX25_ADCQ_CFG_IN_WIPER (4 << 4) > +#define MX25_ADCQ_CFG_IN_AUX0 (5 << 4) > +#define MX25_ADCQ_CFG_IN_AUX1 (6 << 4) > +#define MX25_ADCQ_CFG_IN_AUX2 (7 << 4) > +#define MX25_ADCQ_CFG_REFN(sel) (sel << 2) > missing () around macro argument > +#define MX25_ADCQ_CFG_REFN_XN 0 > +#define MX25_ADCQ_CFG_REFN_YN (1 << 2) > +#define MX25_ADCQ_CFG_REFN_NGND (2 << 2) > +#define MX25_ADCQ_CFG_REFN_NGND2 (3 << 2) > +#define MX25_ADCQ_CFG_REFN_MASK (3 << 2) > see my previous comment. Lothar Wa?mann -- ___________________________________________________________ Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Gesch?ftsf?hrer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | info at karo-electronics.de ___________________________________________________________