From: Aleksei Mamlin <mamlinav@gmail.com>
To: Antonio Ospite <ao2@ao2.it>
Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org,
Bastien Nocera <hadess@hadess.net>,
Hans de Goede <hdegoede@redhat.com>
Subject: Re: [PATCH v3] input: goodix: Add device tree support
Date: Fri, 6 Mar 2015 17:18:20 +0300 [thread overview]
Message-ID: <20150306171820.5b97c0fdcd12281a6018f08f@gmail.com> (raw)
In-Reply-To: <20150306145359.8d14c4e244acdf645c0c159b@ao2.it>
On Fri, 6 Mar 2015 14:53:59 +0100
Antonio Ospite <ao2@ao2.it> wrote:
> On Thu, 5 Mar 2015 20:32:41 +0300
> Aleksei Mamlin <mamlinav@gmail.com> wrote:
>
> > This patch adds device tree support and binding information for Goodix
> > GT9xx series touchscreen controller.
> > It also adds support for 5-finger chips, like GT911 and GT912, which
> > can be found on ARM tablets, like Wexler TAB7200 and MSI Primo73.
> >
> > Changes since v2:
> > * Split to two patches:
> > The first one for use max number of touches from device config.
> > The second one adds device tree support.
> >
> > Changes since v1:
> > * Merge patches into single patch.
> > * Use max touch number from config instead of hardcoding.
> > * Update description in Kconfig.
> >
>
> Hi Aleksei,
>
> patch history usually goes after the '---' marker, as an annotation, not
> in the the commit message itself.
>
Hi Antonio,
thanks for explanation, I'm still newbie in kernel development.
> > Datasheets can be found here:
> > https://drive.google.com/folderview?id=0BxCVOQS3ZymGfmJyY2RKbE5XbVlKNlktVTlwV0lxNEdxd2dzeWZER094cmJPVnMxN1F0Yzg&usp=sharing
> >
> > Signed-off-by: Aleksei Mamlin <mamlinav@gmail.com>
> > ---
> > .../bindings/input/touchscreen/goodix.txt | 29 ++++++++++++++++++++++
> > .../devicetree/bindings/vendor-prefixes.txt | 1 +
> > drivers/input/touchscreen/Kconfig | 5 ++--
> > drivers/input/touchscreen/goodix.c | 21 +++++++++++++++-
> > 4 files changed, 53 insertions(+), 3 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/goodix.txt
> >
> > diff --git a/Documentation/devicetree/bindings/input/touchscreen/goodix.txt b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
> > new file mode 100644
> > index 0000000..8ba98ee
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/input/touchscreen/goodix.txt
> > @@ -0,0 +1,29 @@
> > +Device tree bindings for Goodix GT9xx series touchscreen controller
> > +
> > +Required properties:
> > +
> > + - compatible : Should be "goodix,gt911"
> > + or "goodix,gt9110"
> > + or "goodix,gt912"
> > + or "goodix,gt927"
> > + or "goodix,gt9271"
> > + or "goodix,gt928"
> > + or "goodix,gt967"
> > + - reg : I2C address of the chip. Should be 0x5d or 0x14
> > + - interrupt-parent : Interrupt controller to which the chip is connected
> > + - interrupts : Interrupt to which the chip is connected
>
> These touch-screens supports two lines, an interrupt line and a reset
> line; and they may be both bound to gpio pins, not necessarily to
> system interrupts. The fields you specified above should be enough to
> cover at least the case of a gpio driven interrupt line, I just wanted
> to highlight the situation.
>
> A gpio-reset property can be added in future when the driver will
> actually make use of it.
>
> JFTR, in the Android drivers the reset operation is sometimes called a
> "guitar reset", the two lines are set and unset following the sequence
> shown in the datasheet in order to change the device status
> (interrupted, operational), on x86 this function can be transparently
> performed by ACPI, on my device it is in fact done when calling the
> PS0 method.
>
> What is the situation on your ARM devices? Are you going to make use of
> the reset line explicitly at some point? I am just curious.
>
On my ARM tablet stock Android driver uses both interrupt and reset pins,
so I have plans to add support of reset, sleep and wake up.
But I have no experience yet, this may take a time.
> > +
> > +Example:
> > +
> > + i2c@00000000 {
> > + /* ... */
> > +
> > + gt928@5d {
> > + compatible = "goodix,gt928";
> > + reg = <0x5d>;
> > + interrupt-parent = <&gpio>;
> > + interrupts = <0 0>;
> > + };
> > +
> > + /* ... */
> > + };
> > diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > index 389ca13..ab6852d 100644
> > --- a/Documentation/devicetree/bindings/vendor-prefixes.txt
> > +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
> > @@ -76,6 +76,7 @@ geniatech Geniatech, Inc.
> > giantplus Giantplus Technology Co., Ltd.
> > globalscale Globalscale Technologies, Inc.
> > gmt Global Mixed-mode Technology, Inc.
> > +goodix Shenzhen Huiding Technology Co., Ltd.
> > google Google, Inc.
> > gumstix Gumstix, Inc.
> > gw Gateworks Corporation
> > diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
> > index 5891752..2adf724 100644
> > --- a/drivers/input/touchscreen/Kconfig
> > +++ b/drivers/input/touchscreen/Kconfig
> > @@ -297,11 +297,12 @@ config TOUCHSCREEN_FUJITSU
> >
> > config TOUCHSCREEN_GOODIX
> > tristate "Goodix I2C touchscreen"
> > - depends on I2C && ACPI
> > + depends on I2C
> > help
> > Say Y here if you have the Goodix touchscreen (such as one
> > installed in Onda v975w tablets) connected to your
> > - system.
> > + system. It also supports 5-finger chip models, which can be
> > + found on ARM tablets, like Wexler TAB7200 and MSI Primo73.
> >
> > If unsure, say N.
> >
> > diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
> > index a3e2057..efba6a3 100644
> > --- a/drivers/input/touchscreen/goodix.c
> > +++ b/drivers/input/touchscreen/goodix.c
> > @@ -23,6 +23,8 @@
> > #include <linux/irq.h>
> > #include <linux/interrupt.h>
> > #include <linux/slab.h>
> > +#include <linux/acpi.h>
> > +#include <linux/of.h>
> > #include <asm/unaligned.h>
> >
> > struct goodix_ts_data {
> > @@ -375,11 +377,27 @@ static const struct i2c_device_id goodix_ts_id[] = {
> > { }
> > };
> >
> > +#ifdef CONFIG_ACPI
> > static const struct acpi_device_id goodix_acpi_match[] = {
> > { "GDIX1001", 0 },
> > { }
> > };
> > MODULE_DEVICE_TABLE(acpi, goodix_acpi_match);
> > +#endif
> > +
> > +#ifdef CONFIG_OF
> > +static const struct of_device_id goodix_of_match[] = {
> > + { .compatible = "goodix,gt911" },
> > + { .compatible = "goodix,gt9110" },
> > + { .compatible = "goodix,gt912" },
> > + { .compatible = "goodix,gt927" },
> > + { .compatible = "goodix,gt9271" },
> > + { .compatible = "goodix,gt928" },
> > + { .compatible = "goodix,gt967" },
> > + { }
> > +};
> > +MODULE_DEVICE_TABLE(of, goodix_of_match);
> > +#endif
> >
> > static struct i2c_driver goodix_ts_driver = {
> > .probe = goodix_ts_probe,
> > @@ -387,7 +405,8 @@ static struct i2c_driver goodix_ts_driver = {
> > .driver = {
> > .name = "Goodix-TS",
> > .owner = THIS_MODULE,
> > - .acpi_match_table = goodix_acpi_match,
> > + .acpi_match_table = ACPI_PTR(goodix_acpi_match),
> > + .of_match_table = of_match_ptr(goodix_of_match),
> > },
> > };
> > module_i2c_driver(goodix_ts_driver);
> > --
> > 2.0.5
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-input" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
> --
> Antonio Ospite
> http://ao2.it
>
> A: Because it messes up the order in which people normally read text.
> See http://en.wikipedia.org/wiki/Posting_style
> Q: Why is top-posting such a bad thing?
--
Thanks and regards,
Aleksei Mamlin
prev parent reply other threads:[~2015-03-06 14:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-04 8:32 [PATCH 0/2] Add device tree support for Goodix GT9xx series touchscreen controller Aleksei Mamlin
2015-03-04 8:33 ` [PATCH 1/2] input: goodix: Add device tree support Aleksei Mamlin
2015-03-04 9:21 ` Bastien Nocera
2015-03-04 17:12 ` Antonio Ospite
2015-03-04 8:34 ` [PATCH 2/2] input: goodix: Add device tree support for 5-finger chips Aleksei Mamlin
[not found] ` <1425458053-4559-1-git-send-email-mamlinav-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-04 9:19 ` Bastien Nocera
[not found] ` <1425460748.9384.2.camel-0MeiytkfxGOsTnJN9+BGXg@public.gmane.org>
2015-03-04 17:53 ` Aleksei Mamlin
2015-03-04 10:30 ` Antonio Ospite
2015-03-04 10:55 ` Aleksei Mamlin
2015-03-05 16:18 ` [PATCH v2] input: goodix: Add device tree support Aleksei Mamlin
2015-03-05 16:32 ` Bastien Nocera
2015-03-05 16:36 ` Benjamin Tissoires
2015-03-05 17:32 ` [PATCH] input: goodix: Use max touch number from device config Aleksei Mamlin
2015-03-06 12:19 ` Bastien Nocera
2015-03-06 13:42 ` Antonio Ospite
2015-03-07 0:41 ` Dmitry Torokhov
2015-03-05 17:32 ` [PATCH v3] input: goodix: Add device tree support Aleksei Mamlin
2015-03-06 12:23 ` Bastien Nocera
2015-03-07 0:47 ` Dmitry Torokhov
2015-03-06 13:53 ` Antonio Ospite
2015-03-06 14:18 ` Aleksei Mamlin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150306171820.5b97c0fdcd12281a6018f08f@gmail.com \
--to=mamlinav@gmail.com \
--cc=ao2@ao2.it \
--cc=devicetree@vger.kernel.org \
--cc=hadess@hadess.net \
--cc=hdegoede@redhat.com \
--cc=linux-input@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).