<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/linux/mtd/spi-nor.h, branch linux-6.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2023-01-18T10:58:24Z</updated>
<entry>
<title>mtd: cfi: allow building spi-intel standalone</title>
<updated>2023-01-18T10:58:24Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2022-12-20T14:13:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fc78cb85abd0c5dbe5c057057d5dca94a1dfa808'/>
<id>urn:sha1:fc78cb85abd0c5dbe5c057057d5dca94a1dfa808</id>
<content type='text'>
[ Upstream commit d19ab1f785d0b6b9f709799f0938658903821ba1 ]

When MTD or MTD_CFI_GEOMETRY is disabled, the spi-intel driver
fails to build, as it includes the shared CFI header:

include/linux/mtd/cfi.h:62:2: error: #warning No CONFIG_MTD_CFI_Ix selected. No NOR chip support can work. [-Werror=cpp]
   62 | #warning No CONFIG_MTD_CFI_Ix selected. No NOR chip support can work.

linux/mtd/spi-nor.h does not actually need to include cfi.h, so
remove the inclusion here to fix the warning. This uncovers a
missing #include in spi-nor/core.c so add that there to
prevent a different build issue.

Fixes: e23e5a05d1fd ("mtd: spi-nor: intel-spi: Convert to SPI MEM")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Reviewed-by: Tokunori Ikegami &lt;ikegami.t@gmail.com&gt;
Acked-by: Pratyush Yadav &lt;pratyush@kernel.org&gt;
Reviewed-by: Tudor Ambarus &lt;tudor.ambarus@linaro.org&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://lore.kernel.org/linux-mtd/20221220141352.1486360-1-arnd@kernel.org
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: s/addr_width/addr_nbytes</title>
<updated>2022-07-28T02:11:56Z</updated>
<author>
<name>Tudor Ambarus</name>
<email>tudor.ambarus@microchip.com</email>
</author>
<published>2022-07-25T09:24:59Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c452d49849d48bd37ae97fc2bc92c6435707c35f'/>
<id>urn:sha1:c452d49849d48bd37ae97fc2bc92c6435707c35f</id>
<content type='text'>
Address width was an unfortunate name, as it means the number of IO lines
used for the address, whereas in the code it is used as the number of
address bytes. s/addr_width/addr_nbytes throughout the entire SPI NOR
framework.

Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Reviewed-by: Michael Walle &lt;michael@walle.cc&gt;
Acked-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220725092505.446315-2-tudor.ambarus@microchip.com
</content>
</entry>
<entry>
<title>mtd: spi-nor: expose internal parameters via debugfs</title>
<updated>2022-05-09T11:25:22Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-04-29T10:20:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0257be79fc4a16a3252ce80aa13b3640f728c425'/>
<id>urn:sha1:0257be79fc4a16a3252ce80aa13b3640f728c425</id>
<content type='text'>
There is no way to gather all information to verify support for a new
flash chip. Also if you want to convert an existing flash chip to the
new SFDP parsing, there is not enough information to determine if the
flash will work like before. To ease this development, expose internal
parameters via the debugfs.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220429102018.2361038-2-michael@walle.cc
</content>
</entry>
<entry>
<title>mtd: spi-nor: move spi_nor_write_ear() to winbond module</title>
<updated>2022-05-02T09:12:00Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-04-29T10:01:53Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=94f697c5384bd7f9632acca483ba1ef9dd99ea97'/>
<id>urn:sha1:94f697c5384bd7f9632acca483ba1ef9dd99ea97</id>
<content type='text'>
The "Extended Address Register" is winbond specific. If the flash is
larger than 16MiB and is used in 3 byte address mode, it is used to set
the remaining address bits. Move the write_ear() function, the opcode
macros and the spimem op template into the winbond module and rename
them accordingly.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220429100153.2338501-1-michael@walle.cc
</content>
</entry>
<entry>
<title>mtd: spi-nor: move all spansion specifics into spansion.c</title>
<updated>2022-02-25T16:12:49Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-23T13:43:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=837d5181beef068c16bb8424c2c1571a7d5d7966'/>
<id>urn:sha1:837d5181beef068c16bb8424c2c1571a7d5d7966</id>
<content type='text'>
The clear status register flags is only available on spansion flashes.
Move all the functions around that into the spanion module.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Tested-by: Pratyush Yadav &lt;p.yadav@ti.com&gt; # on mt35xu512aba, s28hs512t
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220223134358.1914798-29-michael@walle.cc
</content>
</entry>
<entry>
<title>mtd: spi-nor: move all micron-st specifics into micron-st.c</title>
<updated>2022-02-25T16:12:19Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-23T13:43:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c770abe52d81089a8b8ecd1fe42722e29bbab5f5'/>
<id>urn:sha1:c770abe52d81089a8b8ecd1fe42722e29bbab5f5</id>
<content type='text'>
The flag status register is only available on micron flashes. Move all
the functions around that into the micron module.

This is almost a mechanical move except for the spi_nor_fsr_ready()
which now also checks the normal status register. Previously, this was
done in spi_nor_ready().

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Tested-by: Pratyush Yadav &lt;p.yadav@ti.com&gt; # on mt35xu512aba, s28hs512t
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220223134358.1914798-25-michael@walle.cc
</content>
</entry>
<entry>
<title>mtd: spi-nor: move all xilinx specifics into xilinx.c</title>
<updated>2022-02-25T16:12:01Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2022-02-23T13:43:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8b4195cd6dc3f1f0ab457d23d21e9f72fde0760a'/>
<id>urn:sha1:8b4195cd6dc3f1f0ab457d23d21e9f72fde0760a</id>
<content type='text'>
Mechanically move all the xilinx functions to its own module.

Then register the new flash specific ready() function.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Link: https://lore.kernel.org/r/20220223134358.1914798-22-michael@walle.cc
</content>
</entry>
<entry>
<title>mtd: spi-nor: Get rid of nor-&gt;page_size</title>
<updated>2021-11-17T12:41:26Z</updated>
<author>
<name>Tudor Ambarus</name>
<email>tudor.ambarus@microchip.com</email>
</author>
<published>2021-10-29T17:26:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5854d4a6cc356ba3e16d8593ac1c089a32d1759c'/>
<id>urn:sha1:5854d4a6cc356ba3e16d8593ac1c089a32d1759c</id>
<content type='text'>
nor-&gt;page_size duplicated what nor-&gt;params-&gt;page_size indicates
for no good reason. page_size is a flash parameter of fixed value
and it is better suited to be found in nor-&gt;params-&gt;page_size.

Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
Reviewed-by: Michael Walle &lt;michael@walle.cc&gt;
Link: https://lore.kernel.org/r/20211029172633.886453-5-tudor.ambarus@microchip.com
</content>
</entry>
<entry>
<title>mtd: spi-nor: sfdp: save a copy of the SFDP data</title>
<updated>2021-06-15T17:48:31Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2021-05-03T15:56:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=65b6d89d45a77256b743f421d109d469baefa688'/>
<id>urn:sha1:65b6d89d45a77256b743f421d109d469baefa688</id>
<content type='text'>
Due to possible mode switching to 8D-8D-8D, it might not be possible to
read the SFDP after the initial probe. To be able to dump the SFDP via
sysfs afterwards, make a complete copy of it.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Vignesh Raghavendra &lt;vigneshr@ti.com&gt;
Tested-by: Heiko Thiery &lt;heiko.thiery@gmail.com&gt;
Reviewed-by: Pratyush Yadav &lt;p.yadav@ti.com&gt;
</content>
</entry>
<entry>
<title>mtd: spi-nor: implement OTP support for Winbond and similar flashes</title>
<updated>2021-04-02T06:32:27Z</updated>
<author>
<name>Michael Walle</name>
<email>michael@walle.cc</email>
</author>
<published>2021-03-21T23:51:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=cad3193fe9d1f0af4d05ed86693f99984409b188'/>
<id>urn:sha1:cad3193fe9d1f0af4d05ed86693f99984409b188</id>
<content type='text'>
Use the new OTP ops to implement OTP access on Winbond flashes. Most
Winbond flashes provides up to four different OTP regions ("Security
Registers").

Winbond devices use a special opcode to read and write to the OTP
regions, just like the RDSFDP opcode. In fact, it seems that the
(undocumented) first OTP area of the newer flashes is the actual SFDP
table.

On a side note, Winbond devices also allow erasing the OTP regions as
long as the area isn't locked down.

Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Signed-off-by: Tudor Ambarus &lt;tudor.ambarus@microchip.com&gt;
Link: https://lore.kernel.org/r/20210321235140.8308-3-michael@walle.cc
</content>
</entry>
</feed>
