From patchwork Mon Apr 18 19:48:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoff Lansberry X-Patchwork-Id: 8874671 X-Patchwork-Delegate: sameo@linux.intel.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 84C7D9F36E for ; Mon, 18 Apr 2016 19:49:21 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9D946201BC for ; Mon, 18 Apr 2016 19:49:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B31C12015E for ; Mon, 18 Apr 2016 19:49:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752153AbcDRTtS (ORCPT ); Mon, 18 Apr 2016 15:49:18 -0400 Received: from mail-qg0-f50.google.com ([209.85.192.50]:34504 "EHLO mail-qg0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751886AbcDRTtR (ORCPT ); Mon, 18 Apr 2016 15:49:17 -0400 Received: by mail-qg0-f50.google.com with SMTP id c6so124735545qga.1 for ; Mon, 18 Apr 2016 12:49:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kuvee-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SQv2JRRO9V7Hspq9T328uF7zxg5JJEAcLTwBnUKQujc=; b=1XLDAJDCmZRGYbaPUUU1HHSl2wbgjZYtwic/uTALgL5Chu6D1EhSnlS1Wwn3ilbObr 4mzmQrEaE9TBRfzCDzshJYyKkYhE8f4BE8uBhuruvguH7EXpaGzVA/W+R9lX8AO5NNI9 1bTm8zoP35gezVuKK8CQQtYMgHHZr4pv11aBdivC5zg7CUQtNWpGWzk+IfMo/heDK5FN wlpllD1jHp74jMh8IyOEwVLUguOqODd0Cn3hy95pedY4/4fhR4OhWZmWrR5DhPHeAJNu iY6kB9dHE4mrFqay/2kJSKOc36GFAkufplN0mwmQaDsYSiibwqLqFS77z42g1QyBunTd 1DOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SQv2JRRO9V7Hspq9T328uF7zxg5JJEAcLTwBnUKQujc=; b=YPzHDi6BCPPXOB3HiwaYODaUBxUKGg3fQBQy9M6H7x79WRmGvWG7dLDFSdkCgE+b+n x1X8JToxjgU/rLVQ/Hhn1Wub7LWgTNyizJSx2pzIxXPeRjpwo9viuKl5aD5p+TzGb5a5 jq1/MEUsNlDKp/HqIhE7nIAIOP14e1EahA3F14kj2OL1Dq2gFAEEDqPxMxOMBPMBdOh+ /CdM9bhNMd1Opg24y8zATjiAUcleYGyKbTl6agkCR0NrEwiMXTC2u4YklVUQc1Bh14O+ CiHOwVRujyVMgrmVvwNb5y/QVy7QAfZCMEI7g8Jtv6yMf2Iy9S8UiRF3E60wDLsE5UTU I2Mg== X-Gm-Message-State: AOPr4FVh3FNugiC+oEs0UCaAp8y179S/P1mvpo+/WMpYnyfKU1n9EKGyh+mrpQ5gl24vEw== X-Received: by 10.140.107.11 with SMTP id g11mr36148761qgf.52.1461008956379; Mon, 18 Apr 2016 12:49:16 -0700 (PDT) Received: from localhost (c-76-28-119-232.hsd1.ma.comcast.net. [76.28.119.232]) by smtp.gmail.com with ESMTPSA id c18sm27171306qgd.49.2016.04.18.12.49.15 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Mon, 18 Apr 2016 12:49:15 -0700 (PDT) From: Geoff Lansberry To: linux-wireless@vger.kernel.org Cc: lauro.venancio@openbossa.org, aloisio.almeida@openbossa.org, sameo@linux.intel.com, mgreer@animalcreek.com, justin@kuvee.com, Geoff Lansberry Subject: [PATCH 4/4] NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage Date: Mon, 18 Apr 2016 15:48:41 -0400 Message-Id: <1461008921-15100-5-git-send-email-geoff@kuvee.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461008921-15100-1-git-send-email-geoff@kuvee.com> References: <1461008921-15100-1-git-send-email-geoff@kuvee.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Geoff Lansberry --- Documentation/devicetree/bindings/net/nfc/trf7970a.txt | 8 ++++++++ drivers/nfc/trf7970a.c | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt index bf25f39..e605ebd 100644 --- a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt @@ -19,9 +19,13 @@ Optional SoC Specific Properties: "IRQ Status Read" erratum. - en2-rf-quirk: Specify that the trf7970a being used has the "EN2 RF" erratum. +<<<<<<< HEAD - 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 +>>>>>>> e7ea4dd... NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage - crystal_27mhz: Set to specify that the input frequency to the trf7970a is 27.12MHz Example (for ARM-based BeagleBone with TRF7970A on SPI1): @@ -45,7 +49,11 @@ Example (for ARM-based BeagleBone with TRF7970A on SPI1): autosuspend-delay = <30000>; irq-status-read-quirk; en2-rf-quirk; +<<<<<<< HEAD t5t-rmb-extra-byte-quirk; +======= + vdd_io_1v8; +>>>>>>> e7ea4dd... NFC: trf7970a: Add device tree option of 1.8 Volt IO voltage crystal_27mhz; status = "okay"; }; diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index 74210f9..be56897 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; @@ -1064,6 +1065,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; @@ -1768,7 +1774,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; @@ -2075,6 +2081,9 @@ 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; + if (of_property_read_bool(np, "crystal_27MHz")) trf->modulator_sys_clk_ctrl = TRF7970A_MODULATOR_27MHZ;