Message ID | 1486444924-18444-1-git-send-email-hs@denx.de (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Samuel Ortiz |
Headers | show |
On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: > From: Guan Ben <ben.guan@cn.bosch.com> > > 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 <ben.guan@cn.bosch.com> > Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> > Signed-off-by: Heiko Schocher <hs@denx.de> > > --- > > .../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 (<= 2000000). > - 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
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 <ben.guan@cn.bosch.com> >> >> 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 <ben.guan@cn.bosch.com> >> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> >> Signed-off-by: Heiko Schocher <hs@denx.de> >> >> --- >> >> .../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 (<= 2000000). >> - 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
On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher <hs@denx.de> 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 <ben.guan@cn.bosch.com> >>> >>> 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 <ben.guan@cn.bosch.com> >>> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> >>> Signed-off-by: Heiko Schocher <hs@denx.de> >>> >>> --- >>> >>> .../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 (<= 2000000). >>> - 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 <robh@kernel.org> > > "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
Hello all, Am 13.02.2017 um 22:31 schrieb Rob Herring: > On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher <hs@denx.de> 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 <ben.guan@cn.bosch.com> >>>> >>>> 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 <ben.guan@cn.bosch.com> >>>> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> >>>> Signed-off-by: Heiko Schocher <hs@denx.de> >>>> >>>> --- >>>> >>>> .../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 (<= 2000000). >>>> - 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 <robh@kernel.org> gentle ping. Are there any more comments to this patch? Is it acceptable as it is? Thanks! bye, Heiko
On Sun, Feb 19, 2017 at 11:19 PM, Heiko Schocher <hs@denx.de> wrote: > Hello all, > > Am 13.02.2017 um 22:31 schrieb Rob Herring: >> >> On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher <hs@denx.de> 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 <ben.guan@cn.bosch.com> >>>>> >>>>> 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 <ben.guan@cn.bosch.com> >>>>> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> >>>>> Signed-off-by: Heiko Schocher <hs@denx.de> >>>>> >>>>> --- >>>>> >>>>> .../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 (<= 2000000). >>>>> - 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 <robh@kernel.org> > > > 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
Hello all, Am 21.02.2017 um 17:43 schrieb Rob Herring: > On Sun, Feb 19, 2017 at 11:19 PM, Heiko Schocher <hs@denx.de> wrote: >> Hello all, >> >> Am 13.02.2017 um 22:31 schrieb Rob Herring: >>> >>> On Mon, Feb 13, 2017 at 12:38 AM, Heiko Schocher <hs@denx.de> 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 <ben.guan@cn.bosch.com> >>>>>> >>>>>> 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 <ben.guan@cn.bosch.com> >>>>>> Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> >>>>>> Signed-off-by: Heiko Schocher <hs@denx.de> >>>>>> >>>>>> --- >>>>>> >>>>>> .../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 (<= 2000000). >>>>>> - 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 <robh@kernel.org> >> >> >> 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
Hi Heiko, On Tue, Feb 07, 2017 at 06:22:04AM +0100, Heiko Schocher wrote: > From: Guan Ben <ben.guan@cn.bosch.com> > > 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 <ben.guan@cn.bosch.com> > Signed-off-by: Mark Jonas <mark.jonas@de.bosch.com> > Signed-off-by: Heiko Schocher <hs@denx.de> > > --- > > .../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.
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 (<= 2000000). - 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"))