2022-09-29 01:27:08

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: exynos: fix polarity of "enable" line of NFC chip

According to s3fwrn5 driver code the "enable" GPIO line is driven "high"
when chip is not in use (mode is S3FWRN5_MODE_COLD), and is driven "low"
when chip is in use.

s3fwrn5_phy_power_ctrl():

...
gpio_set_value(phy->gpio_en, 1);
...
if (mode != S3FWRN5_MODE_COLD) {
msleep(S3FWRN5_EN_WAIT_TIME);
gpio_set_value(phy->gpio_en, 0);
msleep(S3FWRN5_EN_WAIT_TIME);
}

Therefore the line described by "en-gpios" property should be annotated
as "active low".

The wakeup gpio appears to have correct polarity (active high).

Signed-off-by: Dmitry Torokhov <[email protected]>
---
arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index 91c9bd1b47dd..bde6a6bb8dfc 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -795,7 +795,7 @@ s3fwrn5: nfc@27 {
reg = <0x27>;
interrupt-parent = <&gpa1>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;
- en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
+ en-gpios = <&gpf1 4 GPIO_ACTIVE_LOW>;
wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;
};
};
--
2.38.0.rc1.362.ged0d419d3c-goog


2022-09-29 01:34:58

by Dmitry Torokhov

[permalink] [raw]
Subject: [PATCH 3/3] dt-bindings: net: nfc: s3fwrn5: fix polarity of "enable" line of NFC chip

According to s3fwrn5 driver code the "enable" GPIO line is driven "high"
when chip is not in use (mode is S3FWRN5_MODE_COLD), and is driven "low"
when chip is in use.

s3fwrn5_phy_power_ctrl():

...
gpio_set_value(phy->gpio_en, 1);
...
if (mode != S3FWRN5_MODE_COLD) {
msleep(S3FWRN5_EN_WAIT_TIME);
gpio_set_value(phy->gpio_en, 0);
msleep(S3FWRN5_EN_WAIT_TIME);
}

Therefore the line described by "en-gpios" property should be annotated
as "active low".

The wakeup gpio appears to have correct polarity (active high).

Signed-off-by: Dmitry Torokhov <[email protected]>
---
.../devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml b/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
index 64995cbb0f97..78e3c13f1acb 100644
--- a/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
+++ b/Documentation/devicetree/bindings/net/nfc/samsung,s3fwrn5.yaml
@@ -81,7 +81,7 @@ examples:
interrupt-parent = <&gpa1>;
interrupts = <3 IRQ_TYPE_EDGE_RISING>;

- en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
+ en-gpios = <&gpf1 4 GPIO_ACTIVE_LOW>;
wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;

clocks = <&rpmcc 20>;
@@ -93,7 +93,7 @@ examples:
nfc {
compatible = "samsung,s3fwrn82";

- en-gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
+ en-gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
wake-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;

};
--
2.38.0.rc1.362.ged0d419d3c-goog

2022-09-30 13:04:02

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/3] arm64: dts: exynos: fix polarity of "enable" line of NFC chip

On Wed, 28 Sep 2022 18:15:55 -0700, Dmitry Torokhov wrote:
> According to s3fwrn5 driver code the "enable" GPIO line is driven "high"
> when chip is not in use (mode is S3FWRN5_MODE_COLD), and is driven "low"
> when chip is in use.
>
> s3fwrn5_phy_power_ctrl():
>
> ...
> gpio_set_value(phy->gpio_en, 1);
> ...
> if (mode != S3FWRN5_MODE_COLD) {
> msleep(S3FWRN5_EN_WAIT_TIME);
> gpio_set_value(phy->gpio_en, 0);
> msleep(S3FWRN5_EN_WAIT_TIME);
> }
>
> [...]

Applied, thanks!

[1/3] arm64: dts: exynos: fix polarity of "enable" line of NFC chip
https://git.kernel.org/krzk/linux/c/bd1a665a01b4d65fd8dc6fece4b376fa5c8c55bb

Best regards,
--
Krzysztof Kozlowski <[email protected]>

2022-10-18 03:23:47

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 1/3] arm64: dts: exynos: fix polarity of "enable" line of NFC chip

On Wed, 28 Sep 2022 18:15:55 -0700, Dmitry Torokhov wrote:
> According to s3fwrn5 driver code the "enable" GPIO line is driven "high"
> when chip is not in use (mode is S3FWRN5_MODE_COLD), and is driven "low"
> when chip is in use.
>
> s3fwrn5_phy_power_ctrl():
>
> ...
> gpio_set_value(phy->gpio_en, 1);
> ...
> if (mode != S3FWRN5_MODE_COLD) {
> msleep(S3FWRN5_EN_WAIT_TIME);
> gpio_set_value(phy->gpio_en, 0);
> msleep(S3FWRN5_EN_WAIT_TIME);
> }
>
> [...]

Applied, thanks!

[2/3] arm64: dts: qcom: msm8916-samsung-a2015: fix polarity of "enable" line of NFC chip
commit: 978bc4c578a6d7baffc5646b0f327da036b3051b

Best regards,
--
Bjorn Andersson <[email protected]>