From patchwork Wed Jun 26 10:27:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 167796 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp760492ilk; Wed, 26 Jun 2019 03:28:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqx/br1GcslqwCHvNdftAlJWqAPXUWwRPKA9iEUwU+OW/h2WiMGwpB2T293yt9zilRhlZ665 X-Received: by 2002:a63:455c:: with SMTP id u28mr2323495pgk.416.1561544906525; Wed, 26 Jun 2019 03:28:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561544906; cv=none; d=google.com; s=arc-20160816; b=cQkILknQJx3nJ9svOYQyyFrbGD9rJQbQMNIpzLdPTxRXQKqDaEsX29Fog681xaCN4I g5wrCmYbLA2z6RiXsQtlj3dlzE1I+/3MZQLUFTLjY/8A7BQQcVXFV7r4xwt/T1gNJCQI 7vFcWIe4NMmEep3C96BWipWgZ/6BQJxkpJNxeUYvTCjev36wF3wUVQ30P4ov5KUIA2H4 bDZfwjQAEhPXq/UDV/Q8LbJZl4jom+jBlEtxaFtICQJv1vwbH8nDj0JeHYL0z5eRzvuY TIPza4jSpgflu2kTwUWPZye4v6nuIc6Muk+R4niTOmf2/yTwMtjqnzqvQ4SZu14B8Qum sqAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=YkWgLbuNvvSsHDT8z49IMbijdNbjadafDfpCu7BT3J4=; b=wu473RvFEzSkOEfg7AhZ4LzTSi6SJCviOGyG34z1GBk+LopDMv+LRFxRBXBkJZ7czx J0kNATDuCGXcgEHbtoPxZhcKa3velhmX4VgBQcH5KD1WpD8BAjXGzYizByvRM7rNhutD yaFUnGbYfsyQfxSIy649L3A5FyuTkUrg+onAamz1WplADDeAkvzQ5yFTfZPySslWz1We co7GaGcgClZK/7m4lxbljo8QWj04ysuuciTV+xluUGRYy7sRZfQnVwKCQYil/PXud5IS GsXBEIuIPq4Dga1hhz/B/Va/gct30SyiswJBDeQ35YStZF0TNmcbFU0lxHzZqSMtXlDq 06BQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IZlQtchA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f32si1757363pje.70.2019.06.26.03.28.26; Wed, 26 Jun 2019 03:28:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IZlQtchA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726830AbfFZK2Y (ORCPT + 30 others); Wed, 26 Jun 2019 06:28:24 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:53334 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726131AbfFZK2F (ORCPT ); Wed, 26 Jun 2019 06:28:05 -0400 Received: by mail-wm1-f67.google.com with SMTP id x15so1519129wmj.3 for ; Wed, 26 Jun 2019 03:28:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YkWgLbuNvvSsHDT8z49IMbijdNbjadafDfpCu7BT3J4=; b=IZlQtchA8tyGkV6MypPeDsYD7GgL+RAXRgSwohzYZ7aL3OFSpkLqHTESsBLlDFsdC+ PL78y4k0DEkuD5Y1Jp7EDdcLshCHlLOMDs+jJWmxe4E5wqfqsV3P0XS5bvG5fGimUBNt e5gm4KYH7twrUhQSRa6Xe/IfwZOJWcGlJ4oVE8iWTUdRELvnHQPLoAFYwnY0g2dZghB+ t/q7yjFbjwydx34vGUCfp5sdO9itDjxYmEU2//f9K2+JFVnjvblxa59G0pH2UErs9QMv E/9DIaAe6aANUmXlQ4s6SN5sTdQSMv4KOH6CzlK6zmNTUbpppUvkGPzdIAU7xKUvBXRE RcKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YkWgLbuNvvSsHDT8z49IMbijdNbjadafDfpCu7BT3J4=; b=gjFSgA24fycQgKJyQ1oPLFHxtrtkRuhAOvwakgXWuRDaK8I5qMQght0Be4TwS88xxP /8alRSXByAErDKeAvGOAV1ODu+87XCHrCYdsYFimuHKWcKapAT2wVtdtVfzw0ECWWzPh BQs7wvGwj0mHNElZq62qXZ6wL4p2z336O4d2DWeWi1ozAEJ6QhUypBBifYGoZxVapEKM +xvKhu5I7AzN0RhC1b8vVlUaIBWYIXSgTLAEhVbzObT1+HnUO5zb1z83BaBWU123vGEc SUynAFTZKglFPNmcq/S0WYZ2ybaj7h5V0LRHV/cCu1xGOj6ztOZTcYTOjbb2BYkHbxui 1kZw== X-Gm-Message-State: APjAAAVSWD5dsNJuqyrmCXp55h6jye8p5pPhfdhNdqxbDYRMPV8AahsD NAeaNtdDl1t2XVboAxsBR46Mcw== X-Received: by 2002:a1c:d10c:: with SMTP id i12mr2253393wmg.152.1561544882838; Wed, 26 Jun 2019 03:28:02 -0700 (PDT) Received: from srini-hackbox.lan (cpc89974-aztw32-2-0-cust43.18-1.cable.virginm.net. [86.30.250.44]) by smtp.gmail.com with ESMTPSA id z19sm2212042wmi.7.2019.06.26.03.28.01 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 26 Jun 2019 03:28:02 -0700 (PDT) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Bryan O'Donoghue , Leonard Crestez , Srinivas Kandagatla Subject: [PATCH 2/6] nvmem: imx-ocotp: Ensure WAIT bits are preserved when setting timing Date: Wed, 26 Jun 2019 11:27:29 +0100 Message-Id: <20190626102733.11708-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190626102733.11708-1-srinivas.kandagatla@linaro.org> References: <20190626102733.11708-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bryan O'Donoghue The i.MX6 and i.MX8 both have a bit-field spanning bits 27:22 called the WAIT field. The WAIT field according to the documentation for both parts "specifies time interval between auto read and write access in one time program. It is given in number of ipg_clk periods." This patch ensures that the relevant field is read and written back to the timing register. Fixes: 0642bac7da42 ("nvmem: imx-ocotp: add write support") Signed-off-by: Bryan O'Donoghue Reviewed-by: Leonard Crestez Signed-off-by: Srinivas Kandagatla --- drivers/nvmem/imx-ocotp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.21.0 diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c index 14c2bff2cd96..f4e117bbf2c3 100644 --- a/drivers/nvmem/imx-ocotp.c +++ b/drivers/nvmem/imx-ocotp.c @@ -183,7 +183,8 @@ static void imx_ocotp_set_imx6_timing(struct ocotp_priv *priv) strobe_prog = clk_rate / (1000000000 / 10000) + 2 * (DEF_RELAX + 1) - 1; strobe_read = clk_rate / (1000000000 / 40) + 2 * (DEF_RELAX + 1) - 1; - timing = strobe_prog & 0x00000FFF; + timing = readl(priv->base + IMX_OCOTP_ADDR_TIMING) & 0x0FC00000; + timing |= strobe_prog & 0x00000FFF; timing |= (relax << 12) & 0x0000F000; timing |= (strobe_read << 16) & 0x003F0000;