Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1543101
| From | Geoff Lansberry <geoff@kuvee.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage |
| Date | 2016-12-15 23:40 +0100 |
| Message-ID | <sOMQW-38F-21@gated-at.bofh.it> (permalink) |
| References | <sOMQW-38F-23@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Geoff Lansberry <geoff@kuvee.com>
---
Documentation/devicetree/bindings/net/nfc/trf7970a.txt | 2 ++
drivers/nfc/trf7970a.c | 13 ++++++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt
index 9dda879..208f045 100644
--- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt
+++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt
@@ -21,6 +21,7 @@ Optional SoC Specific Properties:
- t5t-rmb-extra-byte-quirk: Specify that the trf7970a has the erratum
where an extra byte is returned by Read Multiple Block commands issued
to Type 5 tags.
+- vdd_io_1v8: Set to specify that the trf7970a io voltage should be set to 1.8V
- crystal_27mhz: Set to specify that the input frequency to the trf7970a is 27.12MHz
@@ -45,6 +46,7 @@ Example (for ARM-based BeagleBone with TRF7970A on SPI1):
irq-status-read-quirk;
en2-rf-quirk;
t5t-rmb-extra-byte-quirk;
+ vdd_io_1v8;
crystal_27mhz;
status = "okay";
};
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c
index 2d2a077..b4c37ab 100644
--- a/drivers/nfc/trf7970a.c
+++ b/drivers/nfc/trf7970a.c
@@ -441,6 +441,7 @@ struct trf7970a {
u8 iso_ctrl_tech;
u8 modulator_sys_clk_ctrl;
u8 special_fcn_reg1;
+ u8 io_ctrl;
unsigned int guard_time;
int technology;
int framing;
@@ -1048,6 +1049,11 @@ static int trf7970a_init(struct trf7970a *trf)
if (ret)
goto err_out;
+ ret = trf7970a_write(trf, TRF7970A_REG_IO_CTRL,
+ trf->io_ctrl|TRF7970A_REG_IO_CTRL_VRS(0x1));
+ if (ret)
+ goto err_out;
+
ret = trf7970a_write(trf, TRF7970A_NFC_TARGET_LEVEL, 0);
if (ret)
goto err_out;
@@ -1764,7 +1770,7 @@ static int _trf7970a_tg_listen(struct nfc_digital_dev *ddev, u16 timeout,
goto out_err;
ret = trf7970a_write(trf, TRF7970A_REG_IO_CTRL,
- TRF7970A_REG_IO_CTRL_VRS(0x1));
+ trf->io_ctrl|TRF7970A_REG_IO_CTRL_VRS(0x1));
if (ret)
goto out_err;
@@ -2058,6 +2064,11 @@ static int trf7970a_probe(struct spi_device *spi)
return ret;
}
+ if (of_property_read_bool(np, "vdd_io_1v8")) {
+ trf->io_ctrl = TRF7970A_REG_IO_CTRL_IO_LOW;
+ dev_dbg(trf->dev, "trf7970a config vdd_io_1v8\n");
+ }
+
if (of_property_read_bool(np, "crystal_27mhz")) {
trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_27MHZ;
dev_dbg(trf->dev, "trf7970a configure crystal_27mhz\n");
--
Signed-off-by: Geoff Lansberry <geoff@kuvee.com>
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Geoff Lansberry <geoff@kuvee.com> - 2016-12-15 23:40 +0100
Re: [PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Mark Greer <mgreer@animalcreek.com> - 2016-12-16 02:20 +0100
Re: [PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Rob Herring <robh@kernel.org> - 2016-12-19 23:40 +0100
Re: [PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Geoff Lansberry <geoff@kuvee.com> - 2016-12-20 17:20 +0100
Re: [PATCH 2/3] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Mark Greer <mgreer@animalcreek.com> - 2016-12-21 03:10 +0100
csiph-web