All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manivannan Sadhasivam <mani@kernel.org>
To: Ansuel Smith <ansuelsmth@gmail.com>
Cc: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 0/2] Add support for unprotected spare data page
Date: Fri, 3 Jun 2022 20:48:06 +0530	[thread overview]
Message-ID: <20220603151806.GB26696@thinkpad> (raw)
In-Reply-To: <20220519190112.6344-1-ansuelsmth@gmail.com>

On Thu, May 19, 2022 at 09:01:10PM +0200, Ansuel Smith wrote:
> Some background about this.
> On original qsdk ipq8064 based firmware there was a big separation from
> boot partition and user partition. With boot partition we refer to
> partition used to init the router (bootloader, spm firmware and other
> internal stuff) With user partition we refer to linux partition and data
> partition not used to init the router.
> When someone had to write to these boot partition a special mode was
> needed, to switch the nand driver to this special configuration.
> 
> Upstream version of the nandc driver totally dropped this and the result
> is that if someone try to read data from these partition a CRC warning
> is printed and if someone try to write that (if for example someone
> wants to replace the bootloader) result is a broken system as the data
> is badly written.
> 

Can you please point me to the downstream/vendor driver that has this
implementation?

Thanks,
Mani

> This series comes to fix this.
> 
> A user can declare offset and size of these special partition using the
> qcom,boot-pages binding.
> 
> An initial implementation of this assumed that the boot-pages started
> from the start of the nand but we discover that some device have backup
> of these special partition and we can have situation where we have this
> partition scheme
> - APPSBL (require special mode)
> - APPSBLENV (doesn't require special mode)
> - ART
> - APPSBLBK (back of APPSBL require special mode)
> - APPSBLENVBK (back of APPSBLENV doesn't require special mode)
> With this configuration we need to declare sparse boot page and we can't
> assume boot-pages always starts from the start of the nand.
> 
> A user can use this form to declare sparse boot pages
> qcom,boot-pages = <0x0 0x0c80000 0x0c80000 0x0500000>;
> 
> The driver internally will parse this array, convert it to nand pages
> and check internally on every read/write if this special configuration
> should used for that page or the normal one.
> 
> The reason for all of this is that qcom FOR SOME REASON, disable ECC for
> spare data only for these boot partition and we need to reflect this
> special configuration to mute these warning and to permit actually
> writing to these pages.
> 
> v4:
> - Fix wrong compatible set for boot-pages (ipq8074 instead of ipq806x)
> v3:
> - Fix typo in Docmunetation commit desription
> - Add items description for uint32-matrix
> v2:
> - Add fixes from Krzysztof in Documentation
> 
> Ansuel Smith (2):
>   mtd: nand: raw: qcom_nandc: add support for unprotected spare data
>     pages
>   dt-bindings: mtd: qcom_nandc: document qcom,boot-pages binding
> 
>  .../devicetree/bindings/mtd/qcom,nandc.yaml   |  26 +++
>  drivers/mtd/nand/raw/qcom_nandc.c             | 148 +++++++++++++++++-
>  2 files changed, 169 insertions(+), 5 deletions(-)
> 
> -- 
> 2.34.1
> 

-- 
மணிவண்ணன் சதாசிவம்

WARNING: multiple messages have this Message-ID (diff)
From: Manivannan Sadhasivam <mani@kernel.org>
To: Ansuel Smith <ansuelsmth@gmail.com>
Cc: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Richard Weinberger <richard@nod.at>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 0/2] Add support for unprotected spare data page
Date: Fri, 3 Jun 2022 20:48:06 +0530	[thread overview]
Message-ID: <20220603151806.GB26696@thinkpad> (raw)
In-Reply-To: <20220519190112.6344-1-ansuelsmth@gmail.com>

On Thu, May 19, 2022 at 09:01:10PM +0200, Ansuel Smith wrote:
> Some background about this.
> On original qsdk ipq8064 based firmware there was a big separation from
> boot partition and user partition. With boot partition we refer to
> partition used to init the router (bootloader, spm firmware and other
> internal stuff) With user partition we refer to linux partition and data
> partition not used to init the router.
> When someone had to write to these boot partition a special mode was
> needed, to switch the nand driver to this special configuration.
> 
> Upstream version of the nandc driver totally dropped this and the result
> is that if someone try to read data from these partition a CRC warning
> is printed and if someone try to write that (if for example someone
> wants to replace the bootloader) result is a broken system as the data
> is badly written.
> 

Can you please point me to the downstream/vendor driver that has this
implementation?

Thanks,
Mani

> This series comes to fix this.
> 
> A user can declare offset and size of these special partition using the
> qcom,boot-pages binding.
> 
> An initial implementation of this assumed that the boot-pages started
> from the start of the nand but we discover that some device have backup
> of these special partition and we can have situation where we have this
> partition scheme
> - APPSBL (require special mode)
> - APPSBLENV (doesn't require special mode)
> - ART
> - APPSBLBK (back of APPSBL require special mode)
> - APPSBLENVBK (back of APPSBLENV doesn't require special mode)
> With this configuration we need to declare sparse boot page and we can't
> assume boot-pages always starts from the start of the nand.
> 
> A user can use this form to declare sparse boot pages
> qcom,boot-pages = <0x0 0x0c80000 0x0c80000 0x0500000>;
> 
> The driver internally will parse this array, convert it to nand pages
> and check internally on every read/write if this special configuration
> should used for that page or the normal one.
> 
> The reason for all of this is that qcom FOR SOME REASON, disable ECC for
> spare data only for these boot partition and we need to reflect this
> special configuration to mute these warning and to permit actually
> writing to these pages.
> 
> v4:
> - Fix wrong compatible set for boot-pages (ipq8074 instead of ipq806x)
> v3:
> - Fix typo in Docmunetation commit desription
> - Add items description for uint32-matrix
> v2:
> - Add fixes from Krzysztof in Documentation
> 
> Ansuel Smith (2):
>   mtd: nand: raw: qcom_nandc: add support for unprotected spare data
>     pages
>   dt-bindings: mtd: qcom_nandc: document qcom,boot-pages binding
> 
>  .../devicetree/bindings/mtd/qcom,nandc.yaml   |  26 +++
>  drivers/mtd/nand/raw/qcom_nandc.c             | 148 +++++++++++++++++-
>  2 files changed, 169 insertions(+), 5 deletions(-)
> 
> -- 
> 2.34.1
> 

-- 
மணிவண்ணன் சதாசிவம்

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

  parent reply	other threads:[~2022-06-03 15:18 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 19:01 [PATCH v4 0/2] Add support for unprotected spare data page Ansuel Smith
2022-05-19 19:01 ` Ansuel Smith
2022-05-19 19:01 ` [PATCH v4 1/2] mtd: nand: raw: qcom_nandc: add support for unprotected spare data pages Ansuel Smith
2022-05-19 19:01   ` Ansuel Smith
2022-06-07 17:53   ` Manivannan Sadhasivam
2022-06-07 17:53     ` Manivannan Sadhasivam
2022-05-19 19:01 ` [PATCH v4 2/2] dt-bindings: mtd: qcom_nandc: document qcom,boot-pages binding Ansuel Smith
2022-05-19 19:01   ` [PATCH v4 2/2] dt-bindings: mtd: qcom_nandc: document qcom, boot-pages binding Ansuel Smith
2022-06-01 21:18   ` [PATCH v4 2/2] dt-bindings: mtd: qcom_nandc: document qcom,boot-pages binding Rob Herring
2022-06-01 21:18     ` Rob Herring
2022-06-07  9:15   ` Manivannan Sadhasivam
2022-06-07  9:15     ` Manivannan Sadhasivam
2022-06-07  7:05     ` Ansuel Smith
2022-06-07  7:05       ` Ansuel Smith
2022-06-07 14:12       ` Manivannan Sadhasivam
2022-06-07 14:12         ` Manivannan Sadhasivam
2022-06-03 13:49 ` [PATCH v4 0/2] Add support for unprotected spare data page Miquel Raynal
2022-06-03 13:49   ` Miquel Raynal
2022-06-03 14:34   ` Manivannan Sadhasivam
2022-06-03 14:34     ` Manivannan Sadhasivam
2022-06-03 15:18 ` Manivannan Sadhasivam [this message]
2022-06-03 15:18   ` Manivannan Sadhasivam
2022-06-03 15:23   ` Ansuel Smith
2022-06-03 15:23     ` Ansuel Smith
2022-06-03 15:25   ` Ansuel Smith
2022-06-03 15:25     ` Ansuel Smith
2022-06-07  8:57     ` Manivannan Sadhasivam
2022-06-07  8:57       ` Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220603151806.GB26696@thinkpad \
    --to=mani@kernel.org \
    --cc=agross@kernel.org \
    --cc=ansuelsmth@gmail.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=richard@nod.at \
    --cc=robh+dt@kernel.org \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.