18c2ecf20Sopenharmony_ci* SPI NOR flash: ST M25Pxx (and similar) serial flash chips 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- #address-cells, #size-cells : Must be present if the device has sub-nodes 58c2ecf20Sopenharmony_ci representing partitions. 68c2ecf20Sopenharmony_ci- compatible : May include a device-specific string consisting of the 78c2ecf20Sopenharmony_ci manufacturer and name of the chip. A list of supported chip 88c2ecf20Sopenharmony_ci names follows. 98c2ecf20Sopenharmony_ci Must also include "jedec,spi-nor" for any SPI NOR flash that can 108c2ecf20Sopenharmony_ci be identified by the JEDEC READ ID opcode (0x9F). 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci Supported chip names: 138c2ecf20Sopenharmony_ci at25df321a 148c2ecf20Sopenharmony_ci at25df641 158c2ecf20Sopenharmony_ci at26df081a 168c2ecf20Sopenharmony_ci mr25h128 178c2ecf20Sopenharmony_ci mr25h256 188c2ecf20Sopenharmony_ci mr25h10 198c2ecf20Sopenharmony_ci mr25h40 208c2ecf20Sopenharmony_ci mx25l4005a 218c2ecf20Sopenharmony_ci mx25l1606e 228c2ecf20Sopenharmony_ci mx25l6405d 238c2ecf20Sopenharmony_ci mx25l12805d 248c2ecf20Sopenharmony_ci mx25l25635e 258c2ecf20Sopenharmony_ci n25q064 268c2ecf20Sopenharmony_ci n25q128a11 278c2ecf20Sopenharmony_ci n25q128a13 288c2ecf20Sopenharmony_ci n25q512a 298c2ecf20Sopenharmony_ci s25fl256s1 308c2ecf20Sopenharmony_ci s25fl512s 318c2ecf20Sopenharmony_ci s25sl12801 328c2ecf20Sopenharmony_ci s25fl008k 338c2ecf20Sopenharmony_ci s25fl064k 348c2ecf20Sopenharmony_ci sst25vf040b 358c2ecf20Sopenharmony_ci m25p40 368c2ecf20Sopenharmony_ci m25p80 378c2ecf20Sopenharmony_ci m25p16 388c2ecf20Sopenharmony_ci m25p32 398c2ecf20Sopenharmony_ci m25p64 408c2ecf20Sopenharmony_ci m25p128 418c2ecf20Sopenharmony_ci w25x80 428c2ecf20Sopenharmony_ci w25x32 438c2ecf20Sopenharmony_ci w25q32 448c2ecf20Sopenharmony_ci w25q64 458c2ecf20Sopenharmony_ci w25q32dw 468c2ecf20Sopenharmony_ci w25q80bl 478c2ecf20Sopenharmony_ci w25q128 488c2ecf20Sopenharmony_ci w25q256 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci The following chip names have been used historically to 518c2ecf20Sopenharmony_ci designate quirky versions of flash chips that do not support the 528c2ecf20Sopenharmony_ci JEDEC READ ID opcode (0x9F): 538c2ecf20Sopenharmony_ci m25p05-nonjedec 548c2ecf20Sopenharmony_ci m25p10-nonjedec 558c2ecf20Sopenharmony_ci m25p20-nonjedec 568c2ecf20Sopenharmony_ci m25p40-nonjedec 578c2ecf20Sopenharmony_ci m25p80-nonjedec 588c2ecf20Sopenharmony_ci m25p16-nonjedec 598c2ecf20Sopenharmony_ci m25p32-nonjedec 608c2ecf20Sopenharmony_ci m25p64-nonjedec 618c2ecf20Sopenharmony_ci m25p128-nonjedec 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci- reg : Chip-Select number 648c2ecf20Sopenharmony_ci- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciOptional properties: 678c2ecf20Sopenharmony_ci- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead 688c2ecf20Sopenharmony_ci of the usual "read" opcode. This opcode is not supported by 698c2ecf20Sopenharmony_ci all chips and support for it can not be detected at runtime. 708c2ecf20Sopenharmony_ci Refer to your chips' datasheet to check if this is supported 718c2ecf20Sopenharmony_ci by your chip. 728c2ecf20Sopenharmony_ci- broken-flash-reset : Some flash devices utilize stateful addressing modes 738c2ecf20Sopenharmony_ci (e.g., for 32-bit addressing) which need to be managed 748c2ecf20Sopenharmony_ci carefully by a system. Because these sorts of flash don't 758c2ecf20Sopenharmony_ci have a standardized software reset command, and because some 768c2ecf20Sopenharmony_ci systems don't toggle the flash RESET# pin upon system reset 778c2ecf20Sopenharmony_ci (if the pin even exists at all), there are systems which 788c2ecf20Sopenharmony_ci cannot reboot properly if the flash is left in the "wrong" 798c2ecf20Sopenharmony_ci state. This boolean flag can be used on such systems, to 808c2ecf20Sopenharmony_ci denote the absence of a reliable reset mechanism. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciExample: 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci flash: m25p80@0 { 858c2ecf20Sopenharmony_ci #address-cells = <1>; 868c2ecf20Sopenharmony_ci #size-cells = <1>; 878c2ecf20Sopenharmony_ci compatible = "spansion,m25p80", "jedec,spi-nor"; 888c2ecf20Sopenharmony_ci reg = <0>; 898c2ecf20Sopenharmony_ci spi-max-frequency = <40000000>; 908c2ecf20Sopenharmony_ci m25p,fast-read; 918c2ecf20Sopenharmony_ci }; 92