1*c66ec88fSEmmanuel Vadot* SPI NOR flash: ST M25Pxx (and similar) serial flash chips 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- #address-cells, #size-cells : Must be present if the device has sub-nodes 5*c66ec88fSEmmanuel Vadot representing partitions. 6*c66ec88fSEmmanuel Vadot- compatible : May include a device-specific string consisting of the 7*c66ec88fSEmmanuel Vadot manufacturer and name of the chip. A list of supported chip 8*c66ec88fSEmmanuel Vadot names follows. 9*c66ec88fSEmmanuel Vadot Must also include "jedec,spi-nor" for any SPI NOR flash that can 10*c66ec88fSEmmanuel Vadot be identified by the JEDEC READ ID opcode (0x9F). 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel Vadot Supported chip names: 13*c66ec88fSEmmanuel Vadot at25df321a 14*c66ec88fSEmmanuel Vadot at25df641 15*c66ec88fSEmmanuel Vadot at26df081a 16*c66ec88fSEmmanuel Vadot mr25h128 17*c66ec88fSEmmanuel Vadot mr25h256 18*c66ec88fSEmmanuel Vadot mr25h10 19*c66ec88fSEmmanuel Vadot mr25h40 20*c66ec88fSEmmanuel Vadot mx25l4005a 21*c66ec88fSEmmanuel Vadot mx25l1606e 22*c66ec88fSEmmanuel Vadot mx25l6405d 23*c66ec88fSEmmanuel Vadot mx25l12805d 24*c66ec88fSEmmanuel Vadot mx25l25635e 25*c66ec88fSEmmanuel Vadot n25q064 26*c66ec88fSEmmanuel Vadot n25q128a11 27*c66ec88fSEmmanuel Vadot n25q128a13 28*c66ec88fSEmmanuel Vadot n25q512a 29*c66ec88fSEmmanuel Vadot s25fl256s1 30*c66ec88fSEmmanuel Vadot s25fl512s 31*c66ec88fSEmmanuel Vadot s25sl12801 32*c66ec88fSEmmanuel Vadot s25fl008k 33*c66ec88fSEmmanuel Vadot s25fl064k 34*c66ec88fSEmmanuel Vadot sst25vf040b 35*c66ec88fSEmmanuel Vadot m25p40 36*c66ec88fSEmmanuel Vadot m25p80 37*c66ec88fSEmmanuel Vadot m25p16 38*c66ec88fSEmmanuel Vadot m25p32 39*c66ec88fSEmmanuel Vadot m25p64 40*c66ec88fSEmmanuel Vadot m25p128 41*c66ec88fSEmmanuel Vadot w25x80 42*c66ec88fSEmmanuel Vadot w25x32 43*c66ec88fSEmmanuel Vadot w25q32 44*c66ec88fSEmmanuel Vadot w25q64 45*c66ec88fSEmmanuel Vadot w25q32dw 46*c66ec88fSEmmanuel Vadot w25q80bl 47*c66ec88fSEmmanuel Vadot w25q128 48*c66ec88fSEmmanuel Vadot w25q256 49*c66ec88fSEmmanuel Vadot 50*c66ec88fSEmmanuel Vadot The following chip names have been used historically to 51*c66ec88fSEmmanuel Vadot designate quirky versions of flash chips that do not support the 52*c66ec88fSEmmanuel Vadot JEDEC READ ID opcode (0x9F): 53*c66ec88fSEmmanuel Vadot m25p05-nonjedec 54*c66ec88fSEmmanuel Vadot m25p10-nonjedec 55*c66ec88fSEmmanuel Vadot m25p20-nonjedec 56*c66ec88fSEmmanuel Vadot m25p40-nonjedec 57*c66ec88fSEmmanuel Vadot m25p80-nonjedec 58*c66ec88fSEmmanuel Vadot m25p16-nonjedec 59*c66ec88fSEmmanuel Vadot m25p32-nonjedec 60*c66ec88fSEmmanuel Vadot m25p64-nonjedec 61*c66ec88fSEmmanuel Vadot m25p128-nonjedec 62*c66ec88fSEmmanuel Vadot 63*c66ec88fSEmmanuel Vadot- reg : Chip-Select number 64*c66ec88fSEmmanuel Vadot- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at 65*c66ec88fSEmmanuel Vadot 66*c66ec88fSEmmanuel VadotOptional properties: 67*c66ec88fSEmmanuel Vadot- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead 68*c66ec88fSEmmanuel Vadot of the usual "read" opcode. This opcode is not supported by 69*c66ec88fSEmmanuel Vadot all chips and support for it can not be detected at runtime. 70*c66ec88fSEmmanuel Vadot Refer to your chips' datasheet to check if this is supported 71*c66ec88fSEmmanuel Vadot by your chip. 72*c66ec88fSEmmanuel Vadot- broken-flash-reset : Some flash devices utilize stateful addressing modes 73*c66ec88fSEmmanuel Vadot (e.g., for 32-bit addressing) which need to be managed 74*c66ec88fSEmmanuel Vadot carefully by a system. Because these sorts of flash don't 75*c66ec88fSEmmanuel Vadot have a standardized software reset command, and because some 76*c66ec88fSEmmanuel Vadot systems don't toggle the flash RESET# pin upon system reset 77*c66ec88fSEmmanuel Vadot (if the pin even exists at all), there are systems which 78*c66ec88fSEmmanuel Vadot cannot reboot properly if the flash is left in the "wrong" 79*c66ec88fSEmmanuel Vadot state. This boolean flag can be used on such systems, to 80*c66ec88fSEmmanuel Vadot denote the absence of a reliable reset mechanism. 81*c66ec88fSEmmanuel Vadot 82*c66ec88fSEmmanuel VadotExample: 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel Vadot flash: m25p80@0 { 85*c66ec88fSEmmanuel Vadot #address-cells = <1>; 86*c66ec88fSEmmanuel Vadot #size-cells = <1>; 87*c66ec88fSEmmanuel Vadot compatible = "spansion,m25p80", "jedec,spi-nor"; 88*c66ec88fSEmmanuel Vadot reg = <0>; 89*c66ec88fSEmmanuel Vadot spi-max-frequency = <40000000>; 90*c66ec88fSEmmanuel Vadot m25p,fast-read; 91*c66ec88fSEmmanuel Vadot }; 92