summaryrefslogtreecommitdiff
path: root/drivers/mtd
AgeCommit message (Collapse)Author
2025-04-16spinand: call SPI setup_for_spinand if supportedChristian Marangi
Call SPI setup_for_spinand() if supported and defined to configure the SPI slave for the attached NAND. This is needed to configure the SPI with the NAND page size and spare size for correct configuration of the device. Call it as soon as the NAND is detected to correctly handle SPI controller with select_op_variant detection. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-04-08Merge patch series "Annotate switch/case fallthrough cases"Tom Rini
Andre Przywara <andre.przywara@arm.com> says: C's implicit fallthrough behaviour in switch/case statements can lead to subtle bugs. Quite some while ago many compilers introduced warnings in those cases, requiring intentional fallthrough's to be annotated. So far we were not enabling that compiler option, so many ambiguities and some bugs in the code went unnoticed. This series adds the required annotations in code paths that the first stage of the U-Boot CI covers. There is a large number of cases left in the libbz2 code. The usage of switch/case is borderline insane there, labels are hidden in macros, and there are no breaks, but just goto's. Upstream still uses very similar code, without any annotations. I still am not 100% sure those are meant to fall through or not, and plan to do further investigations, but didn't want to hold the rest of the patches back. You can see for yourself by applying patch 18/18 and building for sandbox64, for instance. Because of this we cannot quite enable the warning in the Makefile yet, but those fixes are worth regardless, and be it to increase readability. Please note that those patches do not fix anything, really, they just add those fallthrough annotations, so the series is not really critical. Link: https://lore.kernel.org/r/20250327153313.2105227-1-andre.przywara@arm.com
2025-04-08mtd: rawnand: nand_base: annotate switch/case fallthroughAndre Przywara
The raw NAND flash code uses an implicit switch/case fallthrough to share code when dealing with different ECC modes, and also when handling some read command. Add our "fallthrough;" statement-like macro before the respective labels in the NAND code, to avoid a warning when GCC's -Wimplicit-fallthrough warning option is enabled. This copies the fallthrough annotations that the original kernel code gained, before this function got refactored there. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Michael Trimrachi <michael@amarulasolutions.com>
2025-04-08mtd: spi-nor-tiny: annotate switch/case fallthroughAndre Przywara
The SPI NOR code uses an implicit switch/case fallthrough when checking different vendors to determine how to deal with extended addressig modes. Add our "fallthrough;" statement-like macro before some label in the 4-byte addressing mode code, to avoid a warning when GCC's -Wimplicit-fallthrough warning option is enabled. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-04-08mtd: ubi: annotate fallthroughAndre Przywara
The UBI code uses an implicit switch/case fallthrough when handling two related cases of bad header errors. Also there is a switch/case for unit prefix handling (G/M/K), which accumulates multiplications. Add our "fallthrough;" statement-like macro before the respective labels in both cases, to avoid a warning when GCC's -Wimplicit-fallthrough warning option is enabled. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2025-04-08Merge tag 'ubifixes-for-2025.07-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi ubi fixes for v2025.07-rc1 - ubi: fix bug creating partitions for non-existent volumes from Oskar Nilsson
2025-04-08ubi: fix bug creating partitions for non-existent volumesOskar Nilsson
The part_get_info_ubi() function was incorrectly returning 0 (success) when a UBI volume was not found for a given partition index. This caused the part_create_block_devices() function in blk-uclass.c to continue creating devices for non-existent partitions up to MAX_SEARCH_PARTITIONS Fix the issue by returning -1 when a volume is not found, signaling to the part_create_block_devices() function that no more valid volumes exist. Before patch, 128 blk_partition are created: Class   Index  Probed  Driver        Name ------------------------------------------------- root        0  [ + ]  root_driver    root_driver thermal     0  [   ]  imx_thermal    |-- imx_thermal simple_bus  0  [ + ]  simple_bus     |-- soc mtd         0  [ + ]  mxs-nand-dt    |   |-- nand-controller@1806000 blk         0  [   ]  ubi_blk        |   |   `-- nand-controller@1806000.blk partition   0  [   ]  blk_partition  |   |       |-- nand-controller@1806000.blk:1 ... partition 127  [   ]  blk_partition  |   |       `-- nand-controller@1806000.blk:128 After patch, the expected blk_partition are created: Class   Index  Probed  Driver        Name ------------------------------------------------- root        0  [ + ]  root_driver    root_driver thermal     0  [   ]  imx_thermal    |-- imx_thermal simple_bus  0  [ + ]  simple_bus     |-- soc mtd         0  [ + ]  mxs-nand-dt    |   |-- nand-controller@1806000 blk         0  [   ]  ubi_blk        |   |   `-- nand-controller@1806000.blk partition   0  [   ]  blk_partition  |   |       |-- nand-controller@1806000.blk:1 partition   1  [   ]  blk_partition  |   |       |-- nand-controller@1806000.blk:2 partition   2  [   ]  blk_partition  |   |       |-- nand-controller@1806000.blk:3 partition   3  [   ]  blk_partition  |   |       `-- nand-controller@1806000.blk:4 simple_bus  1  [ + ]  simple_bus     |   |-- bus@2000000 Signed-off-by: Oskar Nilsson <onilsson@rums.se> Cc: Kyungmin Park <kmpark@infradead.org> Cc: Heiko Schocher <hs@denx.de> Cc: Alexey Romanov <avromanov@salutedevices.com> Changed in v2: - Change return from -1 to -ENOENT Reviewed-by: Heiko Schocher <hs@denx.de>
2025-03-17Merge branch 'nand-next' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-nand-flash into next CI: https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/pipelines/25178 This merge request add support for cadence raw nand driver for agilex board and add a fix to meson driver.
2025-03-16mtd: rawnand: meson: always use OOB bytes during writeArseniy Krasnov
If 'oob_required' is not set by the caller (for example 'oobbuf' is NULL), then driver doesn't copy OOB data from 'oob_poi' to special controller structures, so zeroes will be written as OOB. But, generic raw NAND logic in 'nand_base.c' already handles case when OOB is not required to write by filling 'oob_poi' with 0xFF's. So let's remove 'oob_required' check to always read 'oob_poi' data for OOB. Kernel driver (drivers/mtd/nand/raw/meson_nand.c) works in the same way, so need to keep same behaviour here. Fixes: c2e8c4d09a7a ("mtd: rawnand: Meson NAND controller support") Signed-off-by: Arseniy Krasnov <avkrasnov@salutedevices.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2025-03-15drivers: mtd: nand: Kconfig: Add SYS_NAND_PAGE_SIZE dependencyDinesh Maniyam
Add SYS_NAND_PAGE_SIZE dependency for cadence NAND. This config is needed as the SPL driver will use this parameter to read uboot-proper image in NAND during booting. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: Enabled Kconfig and Makefile for Cadence-SPLDinesh Maniyam
Enable the Kconfig and Makefile for the Cadence-Nand SPL support in agilex5 family device. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: spl: Add support for nand SPL load imageDinesh Maniyam
Add support for spl nand to load binary image from NAND to RAM. Leverage the existing nand_spl_load_image from nand_spl_loaders.c Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: base: Add support for Hardware ECC for check bad blockDinesh Maniyam
Leverage linux code to support hardware ECC interface to verify nand bad block. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: nand: Enabled Kconfig and Makefile for cdns-nandDinesh Maniyam
Enable the Kconfig and Makefile for the Cadence NAND driver for the agilex5 family device. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Use bounce bufferDinesh Maniyam
Enable nand to use bounce buffer. In bounce buffer, read/write buf will use cadence->buf which has been allocated using malloc. This will align the memory and avoid memory to be allocated in different addresses. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Poll for desc complete statusDinesh Maniyam
Poll for thread complete status to ensure the descriptor processing is complete. If complete then can ensure controller already update the descriptor status. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Flush & invalidate dma descriptorDinesh Maniyam
Ensure ddr memory is updated with the data from dcache. This would help to ensure cdma always reading the latest dma descriptor from ddr memory. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Support cmd SET_FEATURES & GET_FEATURESDinesh Maniyam
Support NAND_CMD_SET_FEATURES & NAND_CMD_GET_FEATURES. These commands is one of the basic commands of NAND. The parameters get from these commands will be used to set timing mode of NAND data interface. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Add support for NAND_CMD_RESETDinesh Maniyam
Support nand reset command for Cadence Nand Driver. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Add support for NAND_CMD_PARAMDinesh Maniyam
Add support for reading param page of NAND device. These paramaters are unique and used for identification purpose. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Add support for readid commandDinesh Maniyam
Add support for readid command in Cadence NAND driver. The id is unique and used for flash identification. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: cadence: Add support for read status commandDinesh Maniyam
Add support for read status command in Cadence NAND driver. This status bit is important to check whether the flash is write-protected. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-03-15drivers: mtd: nand: Add driver for Cadence NandDinesh Maniyam
Enable driver for Cadence NAND for the family device agilex5. This driver is leveraged from the path /drivers/mtd/nand/raw/cadence-nand-controller.c from the stable version 6.11.2. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@intel.com>
2025-02-28mtd: mtdpart: Support MTD_SIZE_REMAINING with unallocated memory areaAlexander Stein
If there is an unallocated memory area before the last, filling parting the size calculation for MTD_SIZE_REMAINING does not take this hole into account. Fix this by calculating the remaining size just based on total size and partition offset. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
2025-02-12mtd: nand: raw: atmel: Fix pulse read timing for certain NAND flashesAlexander Dahl
From reading the S34ML02G1 and the SAM9X60 datasheets again, it seems like we have to wait tREA after rising RE# before sampling the data. Thus pulse time must be at least tREA. Without this fix we got PMECC errors when reading, after switching to ONFI timing mode 3 on SAM9X60 SoC with S34ML02G1 raw NAND flash chip. The approach to set timings used before worked on sam9g20 and sama5d2 with the same flash (S34ML02G1), probably because those have a slower mck clock rate and thus the resolution of the timings setup is not as tight as with sam9x60. The approach to fix the issue was carried over from at91bootstrap, and has been successfully tested in at91bootstrap, U-Boot and Linux. Link: https://github.com/linux4sam/at91bootstrap/issues/174 Cc: Li Bin <bin.li@microchip.com> Signed-off-by: Alexander Dahl <ada@thorsis.com>
2025-01-24treewide: Replace Maximumm with Maximum in Kconfig symbol descriptionMarek Vasut
Replace Maximumm with Maximum in Kconfig symbol description, fix a typo. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Michal Simek <michal.simek@amd.com>
2025-01-20mtd: Correct dependency of BLKTom Rini
In the case of MTD_BLOCK and UBI_BLOCK they should be select'ing BLK as they provide block device functionality and not depending on some other block device already being enabled too (as is the typical case). Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-12-31Merge tag 'v2025.01-rc6' into nextTom Rini
Prepare v2025.01-rc6
2024-12-30mtd: spi-nor: Fix the spi_nor_read() when config SPI_STACKED_PARALLEL is enabledVenkatesh Yadav Abbarapu
Update the spi_nor_read() function based on the config SPI_FLASH_BAR and update the length and bank calculation by spliting the memory of 16MB size banks only when the address width is 3byte. Fix the read issue for 4byte address width by passing the entire length to the read function. Fixes: 5d40b3d384 ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
2024-12-25Merge tag 'v2025.01-rc5' into nextTom Rini
Prepare v2025.01-rc5
2024-12-17nand: Add a watch commandMichael Trimarchi
This is a debug command to monitor the retention state of the data on the array. The command needs a duplication of the mtd_read_oob() function to actually return the maximum number of bitflips encountered while reading the page. We could write a specific implementation for the Sunxi driver but this is probably enough. nand watch <off> <size> - check an area for bitflips nand watch.part <part> - check a partition for bitflips nand watch.chip - check the whole device for bitflips The output may be a bit verbose and could look like: => nand watch.chip device 0 whole chip size adjusted to 0xff60000 (5 bad blocks) NAND watch for bitflips in area 0x0-0xff60000: Page 0 (0x00000000) -> error -74 Page 1 (0x00000800) -> error -74 Page 2 (0x00001000) -> error -74 Page 3 (0x00001800) -> error -74 Page 4 (0x00002000) -> error -74 Page 5 (0x00002800) -> error -74 Page 6 (0x00003000) -> error -74 Page 7 (0x00003800) -> error -74 Page 8 (0x00004000) -> error -74 Page 9 (0x00004800) -> error -74 Page 10 (0x00005000) -> error -74 Page 11 (0x00005800) -> error -74 Page 12 (0x00006000) -> error -74 Page 13 (0x00006800) -> error -74 Page 14 (0x00007000) -> error -74 Page 15 (0x00007800) -> error -74 Page 16 (0x00008000) -> error -74 Page 17 (0x00008800) -> error -74 Page 18 (0x00009000) -> error -74 Page 19 (0x00009800) -> error -74 Page 20 (0x0000a000) -> error -74 Page 21 (0x0000a800) -> error -74 Page 22 (0x0000b000) -> error -74 Page 23 (0x0000b800) -> error -74 Page 1110 (0x0022b000) -> up to 1 bf/chunk Page 1122 (0x00231000) -> up to 1 bf/chunk Page 1132 (0x00236000) -> up to 1 bf/chunk Page 1362 (0x002a9000) -> up to 1 bf/chunk Page 4990 (0x009bf000) -> up to 1 bf/chunk Page 5728 (0x00b30000) -> up to 1 bf/chunk Page 7116 (0x00de6000) -> up to 1 bf/chunk Page 7160 (0x00dfc000) -> up to 1 bf/chunk Page 7494 (0x00ea3000) -> up to 1 bf/chunk Page 10842 (0x0152d000) -> up to 1 bf/chunk Page 11614 (0x016af000) -> up to 1 bf/chunk Page 11970 (0x01761000) -> up to 1 bf/chunk Page 12536 (0x0187c000) -> up to 1 bf/chunk Page 12687 (0x018c7800) -> up to 1 bf/chunk Page 14298 (0x01bed000) -> up to 1 bf/chunk Page 18268 (0x023ae000) -> up to 1 bf/chunk Page 18760 (0x024a4000) -> up to 1 bf/chunk Page 21440 (0x029e0000) -> up to 1 bf/chunk Page 22336 (0x02ba0000) -> up to 1 bf/chunk Page 22592 (0x02c20000) -> up to 1 bf/chunk Page 23872 (0x02ea0000) -> up to 1 bf/chunk Page 27584 (0x035e0000) -> up to 1 bf/chunk Page 35008 (0x04460000) -> up to 1 bf/chunk Page 37184 (0x048a0000) -> up to 1 bf/chunk Page 41728 (0x05180000) -> up to 1 bf/chunk Page 42176 (0x05260000) -> up to 1 bf/chunk Page 43200 (0x05460000) -> up to 1 bf/chunk Page 43328 (0x054a0000) -> up to 1 bf/chunk Page 45376 (0x058a0000) -> up to 1 bf/chunk Page 47040 (0x05be0000) -> up to 1 bf/chunk Page 47552 (0x05ce0000) -> up to 1 bf/chunk Page 49344 (0x06060000) -> up to 1 bf/chunk Page 49856 (0x06160000) -> up to 1 bf/chunk Page 62784 (0x07aa0000) -> up to 1 bf/chunk Page 65153 (0x07f40800) -> up to 1 bf/chunk Page 65228 (0x07f66000) -> up to 1 bf/chunk Page 65382 (0x07fb3000) -> up to 1 bf/chunk Page 98624 (0x0c0a0000) -> up to 1 bf/chunk Page 101952 (0x0c720000) -> up to 1 bf/chunk Page 107584 (0x0d220000) -> up to 1 bf/chunk Page 118208 (0x0e6e0000) -> up to 1 bf/chunk Page 126656 (0x0f760000) -> up to 1 bf/chunk Page 127680 (0x0f960000) -> up to 1 bf/chunk Page 129920 (0x0fdc0000) -> up to 1 bf/chunk Maximum number of bitflips: 1 Pages with bitflips: 44/130752 It is also possible to reduce the output with the .quiet suffix in order to just show the summary. => nand watch.chip device 0 whole chip size adjusted to 0xff60000 (5 bad blocks) NAND watch for bitflips in area 0x0-0xff60000: Maximum number of bitflips: 1 Pages with bitflips: 44/130752 Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2024-12-17mtd: nand: raw: atmel: remove unnecessary return valueMarcus Folkesson
The condition 'ret' is always true as it is never set to other than -EIO. Remove 'ret' and the condition for copy. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Reviewed-by: Michael Trimarchi <micheal@amarulasolutions.com>
2024-12-14Merge patch series "Hyperflash Boot fixes for J7200/J721E"Tom Rini
Anurag Dutta <a-dutta@ti.com> says: Hi All, In u-boot, hbmc is broken and has been removed from j7200 configs. This series re-enables the hbmc driver and introduces a series of hyperflash boot fixes. At present, in u-boot, the parent device (fss) gets registered as a syscon device. This is done because the MMIO mux driver in u-boot did not support the mux functionality when the parent device is not a syscon. In this series, we make relevant changes in the hbmc driver as well as dts' so that we can use the reg-mux driver for selecting the appropriate state of the mux. Test logs: 1) j721e-idk-gw hyperflash boot test: https://gist.github.com/anuragdutta731/50aae6fec707a3ffad6d985de6757fe4 2) j7200-evm hyperflash boot test: https://gist.github.com/anuragdutta731/c3a4d60f8bfd9c425d6c44b36eb7322b Link: https://lore.kernel.org/r/20241129113136.383277-1-a-dutta@ti.com
2024-12-14mtd: Kconfig: Change HBMC driver's dependency to MULTIPLEXER and MUX_MMIOAnurag Dutta
The HBMC_AM654 driver was dependent on SYSCON because syscon APIs were being used to select the multiplexer state. Change the dependency to MULTIPLEXER and MUX_MMIO because mux APIs are now being used to select mux state. Signed-off-by: Anurag Dutta <a-dutta@ti.com>
2024-12-14mtd: HBMC-AM654: Changed syscon API to mux APIsAnurag Dutta
The syscon APIs were used for selecting the state of the mux device because the mmio-mux driver in u-boot did not support the mux functionality when the parent device is not a syscon. Change to mux APIs which utilizes the reg-mux driver to select the state of the multiplexer. Signed-off-by: Anurag Dutta <a-dutta@ti.com>
2024-12-11mtd: renesas: Fix R-Car spellingMarek Vasut
The correct spelling is R-Car, including the dash, update the usage. Kconfig strings and comment changes only, no functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-12-09Merge tag 'v2025.01-rc4' into nextTom Rini
Prepare v2025.01-rc4
2024-11-29mtd: nand: raw: atmel: Remove redundant PMECC probeAlexander Dahl
Always probing pmecc in the generic nand controller probe function and bailing out if pmecc is missing, prevents the driver to be usable for SoCs which do not have a pmecc hardware ecc engine like older sam9 SoCs, for example at91sam9g20. Tested on sam9x60 that the call, which the comment was moved to, is sufficient to probe the pmecc. Signed-off-by: Alexander Dahl <ada@thorsis.com>
2024-11-29drivers/mtd/ubispl/ubispl.c: Fix error messageBenedikt Spranger
The bad CRC error message has transposed characters, which render the output useless: "bad CRC at record 213: #08x, not #08x" instead of "bad CRC at record 213: #00000000, not #4be31f4d" Fix the error message. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Reviewed-by: John Ogness <john.ogness@linutronix.de>
2024-11-26mtd: rawnand: brcmnand: update log level messagesdavid regan
Update log level messages so that more critical messages can be logged to console and help the troubleshooting with field devices. This is a port of the upstream Linux patch to U-Boot. https://lore.kernel.org/linux-mtd/20240223034758.13753-4-william.zhang@broadcom.com/ Signed-off-by: david regan <dregan@broadcom.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Anand Gore <anand.gore@broadcom.com>
2024-11-26mtd: rawnand: brcmnand: Default bcmbca parameter_page_big_endian to zerodavid regan
Set parameter_page_big_endian to zero for bcmbca Signed-off-by: david regan <dregan@broadcom.com> Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Anand Gore <anand.gore@broadcom.com>
2024-11-26mtd: nand: brcmnand: remove device specific nand driver filesdavid regan
These device specific nand driver files can be removed because they are now replaced by a common driver bcmbca_nand.c Signed-off-by: david regan <dregan@broadcom.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: William Zhang <william.zhang@broadcom.com> Reviewed-by: Anand Gore <anand.gore@broadcom.com>
2024-10-31mtd: spi-nor: Guard SPI_STACKED_PARALLEL with DM_SPI checkTom Rini
While we want to compile the SPI_STACKED_PARALLEL code everywhere we can, it must first be guarded with an #if for DM_SPI as not all cases where we have this code built, such as in SPL, will have the relevant DM_SPI option enabled. Fixes: 43423cdc5dc1 ("mtd: spi-nor: Always build SPI_STACKED_PARALLEL code") Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-10-31mtd: spi-nor: Always build SPI_STACKED_PARALLEL codeMarek Vasut
Prevent the code gated by SPI_STACKED_PARALLEL from bitrot by using if (CONFIG_IS_ENABLED(SPI_STACKED_PARALLEL)) around it. That way, it is always at least compiled. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Rename SPI_ADVANCE to SPI_STACKED_PARALLELMarek Vasut
The SPI_ADVANCE description does not explain what the switch does. It does not have anything to do with any advanced functionality, it only gates off support for stacked and parallel SPI NORs. Rename the Kconfig symbol, update description, and move it right next to Xilinx hardware as it seems to be specific to this hardware. Make sure the symbol is also protected by if DM_SPI in Kconfig. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Rewrite rem_bank_len calculationMarek Vasut
Rewrite the code to make it clear exactly where the SNOR_F_HAS_PARALLEL flag leads to *2 and /2 operation compared to regular code path. No functional change. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Fix multiple coding style issuesMarek Vasut
The offset variable is set, but never used afterward. Fix indent. Fix predecrement without justification. Remove use of parenthesis where unnecessary. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Remove recently added SST special caseMarek Vasut
Remove undocumented SST special case. This was added in commit 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") without any explanation in the commit message. Remove it. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Remove recently added write_disable() callMarek Vasut
Remove undocumented write_disable() call. This was added in commit 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") without any explanation in the commit message. Remove it. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-10-31mtd: spi-nor: Remove recently added set_4byte() callMarek Vasut
Remove undocumented set_4byte() call. This was added in commit 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") without any explanation in the commit message. Remove it. Fixes: 5d40b3d384dc ("mtd: spi-nor: Add parallel and stacked memories support") Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>