From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751755AbdJEKcQ (ORCPT ); Thu, 5 Oct 2017 06:32:16 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:51577 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751689AbdJEKcP (ORCPT ); Thu, 5 Oct 2017 06:32:15 -0400 Message-ID: <1507199531.8473.9.camel@pengutronix.de> Subject: Re: [RESEND][PATCH 3/7] nvmem: imx-ocotp: Add support for banked OTP addressing From: Philipp Zabel To: "Bryan O'Donoghue" , richard.leitner@skidata.com, srinivas.kandagatla@linaro.org, axel.lin@ingics.com, ping.bai@nxp.com, d.schultz@phytec.de, peng.fan@nxp.com, van.freenix@gmail.com Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Date: Thu, 05 Oct 2017 12:32:11 +0200 In-Reply-To: <1507155921-824-4-git-send-email-pure.logic@nexus-software.ie> References: <1507155921-824-1-git-send-email-pure.logic@nexus-software.ie> <1507155921-824-4-git-send-email-pure.logic@nexus-software.ie> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:3ad5:47ff:feaf:1a17 X-SA-Exim-Mail-From: p.zabel@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2017-10-04 at 23:25 +0100, Bryan O'Donoghue wrote: > The i.MX7S/D takes the bank address in the CTRLn.ADDR field and the > data > value in one of the DATAx {0, 1, 2, 3} register fields. The current > write > routine is based on writing the CTRLn.ADDR field and writing a single > DATA > register only. > > Fixes: 0642bac7da42 ("nvmem: imx-ocotp: add write support") > > Signed-off-by: Bryan O'Donoghue > --- >  drivers/nvmem/imx-ocotp.c | 71 > +++++++++++++++++++++++++++++++++++++++++------ >  1 file changed, 62 insertions(+), 9 deletions(-) > > diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c > index fed76a4..8034937 100644 > --- a/drivers/nvmem/imx-ocotp.c > +++ b/drivers/nvmem/imx-ocotp.c > @@ -40,7 +40,10 @@ >  #define IMX_OCOTP_ADDR_CTRL_SET 0x0004 >  #define IMX_OCOTP_ADDR_CTRL_CLR 0x0008 >  #define IMX_OCOTP_ADDR_TIMING 0x0010 > -#define IMX_OCOTP_ADDR_DATA 0x0020 > +#define IMX_OCOTP_ADDR_DATA0 0x0020 > +#define IMX_OCOTP_ADDR_DATA1 0x0030 > +#define IMX_OCOTP_ADDR_DATA2 0x0040 > +#define IMX_OCOTP_ADDR_DATA3 0x0050 >   >  #define IMX_OCOTP_BM_CTRL_ADDR 0x0000007F >  #define IMX_OCOTP_BM_CTRL_BUSY 0x00000100 > @@ -55,6 +58,8 @@ static DEFINE_MUTEX(ocotp_mutex); >   >  struct octp_params { >   unsigned int nregs; > + bool banked; > + unsigned int regs_per_bank; >  }; Instead of the separate banked parameter you could just use (regs_per_bank != 0). regards Philipp