Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
Hi Heiko, On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: > From: Guan Ben > > Make the EN2 pin optional. This is useful for boards, > which have this pin fix wired, for example to ground. > > Signed-off-by: Guan Ben > Signed-off-by: Mark Jonas > Signed-off-by: Heiko Schocher > > --- > > .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- > drivers/nfc/trf7970a.c | 26 > -- > 2 files changed, 16 insertions(+), 14 deletions(-) Applied to nfc-next, thanks. Cheers, Samuel.
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
Hello all, Am 21.02.2017 um 17:43 schrieb Rob Herring: On Sun, Feb 19, 2017 at 11:19 PM, Heiko Schocher wrote: Hello all, Am 13.02.2017 um 22:31 schrieb Rob Herring: On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher wrote: Hello Rob, Am 10.02.2017 um 16:51 schrieb Rob Herring: On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: From: Guan Ben Make the EN2 pin optional. This is useful for boards, which have this pin fix wired, for example to ground. Signed-off-by: Guan Ben Signed-off-by: Mark Jonas Signed-off-by: Heiko Schocher --- .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- drivers/nfc/trf7970a.c | 26 -- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt index 32b35a0..5889a3d 100644 --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt @@ -5,8 +5,8 @@ Required properties: - spi-max-frequency: Maximum SPI frequency (<= 200). - interrupt-parent: phandle of parent interrupt handler. - interrupts: A single interrupt specifier. -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the - TRF7970A. +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the + TRF7970A. EN2 is optional. Could EN ever be optional/fixed? If so, perhaps deprecate this property and do 2 properties, one for each pin. The hardware I have has the EN2 pin fix connected to ground. Looking into http://www.ti.com/lit/ds/slos743k/slos743k.pdf page 19 table 6-3 and 6-4 the EN2 pin is a don;t core if EN = 1. If EN = 0 EN2 pin selects between Power Down and Sleep Mode ... I see no reason why this is not possible/allowed ... Hmm.. I do not like the idea of deprecating the "ti,enable-gpios" property into 2 seperate properties ... but if this would be a reason for not accepting this patch, I can do this ... How should I name the 2 new properties? I guess if this ever happens, then we just add "ti,enable2-gpios" and ti,enable-gpios continues to point to EN. We don't need to deprecate anything (or maybe just deprecate having both GPIOs on single property). In that case, Acked-by: Rob Herring gentle ping. Are there any more comments to this patch? Is it acceptable as it is? I acked it, so yes, it is fine. Gentle ping. Any more issues or can this patch go into mainline? bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
On Sun, Feb 19, 2017 at 11:19 PM, Heiko Schocher wrote: > Hello all, > > Am 13.02.2017 um 22:31 schrieb Rob Herring: >> >> On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher wrote: >>> >>> Hello Rob, >>> >>> >>> Am 10.02.2017 um 16:51 schrieb Rob Herring: On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: > > > From: Guan Ben > > Make the EN2 pin optional. This is useful for boards, > which have this pin fix wired, for example to ground. > > Signed-off-by: Guan Ben > Signed-off-by: Mark Jonas > Signed-off-by: Heiko Schocher > > --- > >.../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- >drivers/nfc/trf7970a.c | 26 > -- >2 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > index 32b35a0..5889a3d 100644 > --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > @@ -5,8 +5,8 @@ Required properties: >- spi-max-frequency: Maximum SPI frequency (<= 200). >- interrupt-parent: phandle of parent interrupt handler. >- interrupts: A single interrupt specifier. > -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on > the > - TRF7970A. > +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' > pins > on the > + TRF7970A. EN2 is optional. Could EN ever be optional/fixed? If so, perhaps deprecate this property and do 2 properties, one for each pin. >>> >>> >>> >>> The hardware I have has the EN2 pin fix connected to ground. Looking >>> into http://www.ti.com/lit/ds/slos743k/slos743k.pdf page 19 table 6-3 >>> and 6-4 the EN2 pin is a don;t core if EN = 1. If EN = 0 EN2 pin >>> selects between Power Down and Sleep Mode ... I see no reason why >>> this is not possible/allowed ... >>> >>> Hmm.. I do not like the idea of deprecating the "ti,enable-gpios" >>> property into 2 seperate properties ... but if this would be a reason >>> for not accepting this patch, I can do this ... How should I name >>> the 2 new properties? >> >> >> I guess if this ever happens, then we just add "ti,enable2-gpios" and >> ti,enable-gpios continues to point to EN. We don't need to deprecate >> anything (or maybe just deprecate having both GPIOs on single >> property). >> >> In that case, >> >> Acked-by: Rob Herring > > > gentle ping. > > Are there any more comments to this patch? Is it acceptable as it > is? I acked it, so yes, it is fine. Rob
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
Hello all, Am 13.02.2017 um 22:31 schrieb Rob Herring: On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher wrote: Hello Rob, Am 10.02.2017 um 16:51 schrieb Rob Herring: On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: From: Guan Ben Make the EN2 pin optional. This is useful for boards, which have this pin fix wired, for example to ground. Signed-off-by: Guan Ben Signed-off-by: Mark Jonas Signed-off-by: Heiko Schocher --- .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- drivers/nfc/trf7970a.c | 26 -- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt index 32b35a0..5889a3d 100644 --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt @@ -5,8 +5,8 @@ Required properties: - spi-max-frequency: Maximum SPI frequency (<= 200). - interrupt-parent: phandle of parent interrupt handler. - interrupts: A single interrupt specifier. -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the - TRF7970A. +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the + TRF7970A. EN2 is optional. Could EN ever be optional/fixed? If so, perhaps deprecate this property and do 2 properties, one for each pin. The hardware I have has the EN2 pin fix connected to ground. Looking into http://www.ti.com/lit/ds/slos743k/slos743k.pdf page 19 table 6-3 and 6-4 the EN2 pin is a don;t core if EN = 1. If EN = 0 EN2 pin selects between Power Down and Sleep Mode ... I see no reason why this is not possible/allowed ... Hmm.. I do not like the idea of deprecating the "ti,enable-gpios" property into 2 seperate properties ... but if this would be a reason for not accepting this patch, I can do this ... How should I name the 2 new properties? I guess if this ever happens, then we just add "ti,enable2-gpios" and ti,enable-gpios continues to point to EN. We don't need to deprecate anything (or maybe just deprecate having both GPIOs on single property). In that case, Acked-by: Rob Herring gentle ping. Are there any more comments to this patch? Is it acceptable as it is? Thanks! bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher wrote: > Hello Rob, > > > Am 10.02.2017 um 16:51 schrieb Rob Herring: >> >> On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: >>> >>> From: Guan Ben >>> >>> Make the EN2 pin optional. This is useful for boards, >>> which have this pin fix wired, for example to ground. >>> >>> Signed-off-by: Guan Ben >>> Signed-off-by: Mark Jonas >>> Signed-off-by: Heiko Schocher >>> >>> --- >>> >>> .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- >>> drivers/nfc/trf7970a.c | 26 >>> -- >>> 2 files changed, 16 insertions(+), 14 deletions(-) >>> >>> diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt >>> b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt >>> index 32b35a0..5889a3d 100644 >>> --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt >>> +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt >>> @@ -5,8 +5,8 @@ Required properties: >>> - spi-max-frequency: Maximum SPI frequency (<= 200). >>> - interrupt-parent: phandle of parent interrupt handler. >>> - interrupts: A single interrupt specifier. >>> -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the >>> - TRF7970A. >>> +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins >>> on the >>> + TRF7970A. EN2 is optional. >> >> >> Could EN ever be optional/fixed? If so, perhaps deprecate this property >> and do 2 properties, one for each pin. > > > The hardware I have has the EN2 pin fix connected to ground. Looking > into http://www.ti.com/lit/ds/slos743k/slos743k.pdf page 19 table 6-3 > and 6-4 the EN2 pin is a don;t core if EN = 1. If EN = 0 EN2 pin > selects between Power Down and Sleep Mode ... I see no reason why > this is not possible/allowed ... > > Hmm.. I do not like the idea of deprecating the "ti,enable-gpios" > property into 2 seperate properties ... but if this would be a reason > for not accepting this patch, I can do this ... How should I name > the 2 new properties? I guess if this ever happens, then we just add "ti,enable2-gpios" and ti,enable-gpios continues to point to EN. We don't need to deprecate anything (or maybe just deprecate having both GPIOs on single property). In that case, Acked-by: Rob Herring > > "ti,pin-enable" and "ti,pin-enable2" ? > > bye, > Heiko > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
Hello Rob, Am 10.02.2017 um 16:51 schrieb Rob Herring: On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: From: Guan Ben Make the EN2 pin optional. This is useful for boards, which have this pin fix wired, for example to ground. Signed-off-by: Guan Ben Signed-off-by: Mark Jonas Signed-off-by: Heiko Schocher --- .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- drivers/nfc/trf7970a.c | 26 -- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt index 32b35a0..5889a3d 100644 --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt @@ -5,8 +5,8 @@ Required properties: - spi-max-frequency: Maximum SPI frequency (<= 200). - interrupt-parent: phandle of parent interrupt handler. - interrupts: A single interrupt specifier. -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the - TRF7970A. +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the + TRF7970A. EN2 is optional. Could EN ever be optional/fixed? If so, perhaps deprecate this property and do 2 properties, one for each pin. The hardware I have has the EN2 pin fix connected to ground. Looking into http://www.ti.com/lit/ds/slos743k/slos743k.pdf page 19 table 6-3 and 6-4 the EN2 pin is a don;t core if EN = 1. If EN = 0 EN2 pin selects between Power Down and Sleep Mode ... I see no reason why this is not possible/allowed ... Hmm.. I do not like the idea of deprecating the "ti,enable-gpios" property into 2 seperate properties ... but if this would be a reason for not accepting this patch, I can do this ... How should I name the 2 new properties? "ti,pin-enable" and "ti,pin-enable2" ? bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Re: [PATCH] Make EN2 pin optional in the TRF7970A driver
On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: > From: Guan Ben > > Make the EN2 pin optional. This is useful for boards, > which have this pin fix wired, for example to ground. > > Signed-off-by: Guan Ben > Signed-off-by: Mark Jonas > Signed-off-by: Heiko Schocher > > --- > > .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- > drivers/nfc/trf7970a.c | 26 > -- > 2 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > index 32b35a0..5889a3d 100644 > --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt > @@ -5,8 +5,8 @@ Required properties: > - spi-max-frequency: Maximum SPI frequency (<= 200). > - interrupt-parent: phandle of parent interrupt handler. > - interrupts: A single interrupt specifier. > -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the > - TRF7970A. > +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on > the > + TRF7970A. EN2 is optional. Could EN ever be optional/fixed? If so, perhaps deprecate this property and do 2 properties, one for each pin. Rob
[PATCH] Make EN2 pin optional in the TRF7970A driver
From: Guan Ben Make the EN2 pin optional. This is useful for boards, which have this pin fix wired, for example to ground. Signed-off-by: Guan Ben Signed-off-by: Mark Jonas Signed-off-by: Heiko Schocher --- .../devicetree/bindings/net/nfc/trf7970a.txt | 4 ++-- drivers/nfc/trf7970a.c | 26 -- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt index 32b35a0..5889a3d 100644 --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt @@ -5,8 +5,8 @@ Required properties: - spi-max-frequency: Maximum SPI frequency (<= 200). - interrupt-parent: phandle of parent interrupt handler. - interrupts: A single interrupt specifier. -- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the - TRF7970A. +- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the + TRF7970A. EN2 is optional. - vin-supply: Regulator for supply voltage to VIN pin Optional SoC Specific Properties: diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index 26c9dbb..75079fb 100644 --- a/drivers/nfc/trf7970a.c +++ b/drivers/nfc/trf7970a.c @@ -1885,8 +1885,10 @@ static int trf7970a_power_up(struct trf7970a *trf) usleep_range(5000, 6000); if (!(trf->quirks & TRF7970A_QUIRK_EN2_MUST_STAY_LOW)) { - gpio_set_value(trf->en2_gpio, 1); - usleep_range(1000, 2000); + if (gpio_is_valid(trf->en2_gpio)) { + gpio_set_value(trf->en2_gpio, 1); + usleep_range(1000, 2000); + } } gpio_set_value(trf->en_gpio, 1); @@ -1914,7 +1916,8 @@ static int trf7970a_power_down(struct trf7970a *trf) } gpio_set_value(trf->en_gpio, 0); - gpio_set_value(trf->en2_gpio, 0); + if (gpio_is_valid(trf->en2_gpio)) + gpio_set_value(trf->en2_gpio, 0); ret = regulator_disable(trf->regulator); if (ret) @@ -2032,15 +2035,14 @@ static int trf7970a_probe(struct spi_device *spi) trf->en2_gpio = of_get_named_gpio(np, "ti,enable-gpios", 1); if (!gpio_is_valid(trf->en2_gpio)) { - dev_err(trf->dev, "No EN2 GPIO property\n"); - return trf->en2_gpio; - } - - ret = devm_gpio_request_one(trf->dev, trf->en2_gpio, - GPIOF_DIR_OUT | GPIOF_INIT_LOW, "trf7970a EN2"); - if (ret) { - dev_err(trf->dev, "Can't request EN2 GPIO: %d\n", ret); - return ret; + dev_info(trf->dev, "No EN2 GPIO property\n"); + } else { + ret = devm_gpio_request_one(trf->dev, trf->en2_gpio, + GPIOF_DIR_OUT | GPIOF_INIT_LOW, "trf7970a EN2"); + if (ret) { + dev_err(trf->dev, "Can't request EN2 GPIO: %d\n", ret); + return ret; + } } if (of_property_read_bool(np, "en2-rf-quirk")) -- 2.7.4