<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/mtd, branch v2025.01-rc1</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/mtd?h=v2025.01-rc1</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/mtd?h=v2025.01-rc1'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2024-10-24T12:40:50Z</updated>
<entry>
<title>mtd: spi-nor: Add mt35xu01gbba octal mode SPI NOR flash</title>
<updated>2024-10-24T12:40:50Z</updated>
<author>
<name>Han Xu</name>
<email>han.xu@nxp.com</email>
</author>
<published>2024-10-05T23:46:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a3384940edf3cf2d2e0e0b78af9541f8be3a15ec'/>
<id>urn:sha1:a3384940edf3cf2d2e0e0b78af9541f8be3a15ec</id>
<content type='text'>
Add SPI NOR flash id for mt35xu01gbba which supports 4 bytes address with
octal mode read.

Signed-off-by: Han Xu &lt;han.xu@nxp.com&gt;
Signed-off-by: Alice Guo &lt;alice.guo@nxp.com&gt;
Reviewed-by: Peng Fan &lt;peng.fan@nxp.com&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor-ids: Add Puya Semiconductor chips description</title>
<updated>2024-10-24T12:38:51Z</updated>
<author>
<name>Dmitry Dunaev</name>
<email>dunaev@tecon.ru</email>
</author>
<published>2024-02-26T10:25:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5c73c05f20bec5ec1ccfeef4195a0e2d49a4c5f6'/>
<id>urn:sha1:5c73c05f20bec5ec1ccfeef4195a0e2d49a4c5f6</id>
<content type='text'>
Added support for the Puya Semiconductor chips.

The datasheet can be found here:
https://www.puyasemi.com/h_xilie715.html

Signed-off-by: Dmitry Dunaev &lt;dunaev@tecon.ru&gt;
Reviewed-by: Jagan Teki &lt;jagan@amarulasolutions.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: Set ECC unit size to MTD writesize in Infineon SEMPER flashes</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=10e75dd0bce34134df15f2c2d9251a919f6bcdc7'/>
<id>urn:sha1:10e75dd0bce34134df15f2c2d9251a919f6bcdc7</id>
<content type='text'>
The Infineon SEMPER NOR flash family uses 2-bit ECC by default with each
ECC block being 16 bytes. Under this scheme multi-pass programming to an
ECC block is not allowed. Set the writesize to make sure multi-pass
programming is not attempted on the flash.

Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: Call spi_nor_post_sfdp_fixups() only after spi_nor_parse_sfdp()</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:35Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=20f1383bad59996aeb62e92e296f9ee445ff71b6'/>
<id>urn:sha1:20f1383bad59996aeb62e92e296f9ee445ff71b6</id>
<content type='text'>
This patch follows the upstream linux commit:
5273cc6df984("mtd: spi-nor: core: Call spi_nor_post_sfdp_fixups() only
when SFDP is defined")

spi_nor_post_sfdp_fixups() was called regardless of if
spi_nor_parse_sfdp() had been called or not. late_init() should be
instead used to initialize the parameters that are not defined in SFDP.

Ideally spi_nor_post_sfdp_fixups() is called only after successful parse
of SFDP. However, in case SFDP support is disabled by .config, that can
break current functionality. Therefore, we would call it after
spi_nor_parse_sfdp() regardless of its return value.

Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: Replace default_init() hook with late_init()</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0267cfa8570c6d10e99be24aaa4f82a0ca5eeb53'/>
<id>urn:sha1:0267cfa8570c6d10e99be24aaa4f82a0ca5eeb53</id>
<content type='text'>
default_init() is wrong, it contributes to the maze of initializing
flash parameters. We'd like to get rid of it because the flash
parameters that it initializes are not really used at SFDP parsing time,
thus they can be initialized later.

Ideally we want SFDP to initialize all the flash parameters. If (when)
SFDP tables are wrong, we fix them with the post_sfdp/bfpt hooks, to
emphasize that SFDP is indeed wrong. When there are parameters that are
not covered by SFDP, we initialize them in late_init() - these
parameters have nothing to do with SFDP and they are not needed earlier.
With this we'll have a clearer view of who initializes what.

There are six default_init() hooks implemented just for initializing
octal_dtr_enable() and/or setup() hooks that called later on.
Just moving those to late_init() does not change functionality.

Suggested-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: Check nor-&gt;info before setting macronix_octal_fixups</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:33Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=b8b610e7d4c5e086f7e97592878527adfa744075'/>
<id>urn:sha1:b8b610e7d4c5e086f7e97592878527adfa744075</id>
<content type='text'>
The macronix_octal_fixups should be set only when mfr and flags match.

Fixes: df3d5f9e41 ("mtd: spi-nor: add support for Macronix Octal flash")
Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
Cc: JaimeLiao &lt;jaimeliao.tw@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: Allow flashes to specify MTD writesize</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=88057dab2cde8710ccc95d12fb312184e0b023ca'/>
<id>urn:sha1:88057dab2cde8710ccc95d12fb312184e0b023ca</id>
<content type='text'>
Some flashes like the Infineon SEMPER NOR flash family use ECC. Under
this ECC scheme, multi-pass writes to an ECC block is not allowed.
In other words, once data is programmed to an ECC block, it can't be
programmed again without erasing it first.

Upper layers like file systems need to be given this information so they
do not cause error conditions on the flash by attempting multi-pass
programming. This can be done by setting 'writesize' in 'struct
mtd_info'.

Set the default to 1 but allow flashes to modify it in fixup hooks. If
more flashes show up with this constraint in the future it might be
worth it to add it to 'struct flash_info', but for now increasing its
size is not worth it.

This patch replicates the following upstream linux commit:
afd473e85827 ("mtd: spi-nor: core: Allow flashes to specify MTD writesize")

Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
</content>
</entry>
<entry>
<title>mtd: ubi: Do not zero out EC and VID on ECC-ed NOR flashes</title>
<updated>2024-10-15T14:57:49Z</updated>
<author>
<name>Takahiro Kuwano</name>
<email>Takahiro.Kuwano@infineon.com</email>
</author>
<published>2024-10-15T04:08:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6d7a8bf8c03343868d858b1cdb2ab737aabfca66'/>
<id>urn:sha1:6d7a8bf8c03343868d858b1cdb2ab737aabfca66</id>
<content type='text'>
For NOR flashes EC and VID are zeroed out before an erase is issued to
make sure UBI does not mistakenly treat the PEB as used and associate it
with an LEB.

But on some flashes, like the Infineon Semper NOR flash family,
multi-pass page programming is not allowed on the default ECC scheme.
This means zeroing out these magic numbers will result in the flash
throwing a page programming error.

Do not zero out EC and VID for such flashes. A writesize &gt; 1 is an
indication of an ECC-ed flash.

This patch replicates the following upstream linux commit:
f669e74be820 ("ubi: Do not zero out EC and VID on ECC-ed NOR flashes")

Acked-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Acked-by: Pratyush Yadav &lt;pratyush@kernel.org&gt;
Signed-off-by: Takahiro Kuwano &lt;Takahiro.Kuwano@infineon.com&gt;
Reviewed-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
</content>
</entry>
<entry>
<title>mtd: rawnand: brcmnand: Add BCMBCA RAW NAND driver</title>
<updated>2024-10-12T16:10:44Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2024-10-11T14:49:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a49519539abd5e47eb14d665385222b9ba6f87d4'/>
<id>urn:sha1:a49519539abd5e47eb14d665385222b9ba6f87d4</id>
<content type='text'>
The Broadcom BCA platforms are broadband access SoCs.
This is a port of the upstream Linux driver to U-Boot.
It was based on drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c
from Linux v6.11.

Reviewed-by: Michael Trimarchi &lt;michael@amarulasolutions.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>mtd: nand: raw: atmel: Use ONFI ECC params if available</title>
<updated>2024-10-12T16:10:21Z</updated>
<author>
<name>Zixun LI</name>
<email>admin@hifiphile.com</email>
</author>
<published>2024-07-21T21:45:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1db2aadd8415778f05616e5bc1f1a7500ef7a40a'/>
<id>urn:sha1:1db2aadd8415778f05616e5bc1f1a7500ef7a40a</id>
<content type='text'>
When ECC parameters are not specified in DT, first try ONFI ECC parameters
before fallback to maximum strength.

It's the Linux driver behavior since the driver rewriting in f88fc12.

From then 2 nand system refactors have been done in 6a1b66d6 and 53576c7b,
chip-&gt;ecc_strength_ds and chip-&gt;ecc_step_ds became
nanddev_get_ecc_requirements(). U-Boot didn't follow the refactor and
always use these 2 fields.

v2: Fix formatting, add upstream commit hash.

Signed-off-by: Zixun LI &lt;zli@ogga.fr&gt;
Reviewed-by: Michael Trimarchi &lt;michael@amarulasolutions.com&gt;
Acked-by: Balamanikandan Gunasundar
</content>
</entry>
</feed>
