Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

* SPI NOR flash: ST M25Pxx (and similar) serial flash chips

Required properties:
- #address-cells, #size-cells : Must be present if the device has sub-nodes
  representing partitions.
- compatible : May include a device-specific string consisting of the
               manufacturer and name of the chip. A list of supported chip
               names follows.
               Must also include "jedec,spi-nor" for any SPI NOR flash that can
               be identified by the JEDEC READ ID opcode (0x9F).

               Supported chip names:
                 at25df321a
                 at25df641
                 at26df081a
                 mr25h128
                 mr25h256
                 mr25h10
                 mr25h40
                 mx25l4005a
                 mx25l1606e
                 mx25l6405d
                 mx25l12805d
                 mx25l25635e
                 n25q064
                 n25q128a11
                 n25q128a13
                 n25q512a
                 s25fl256s1
                 s25fl512s
                 s25sl12801
                 s25fl008k
                 s25fl064k
                 sst25vf040b
                 m25p40
                 m25p80
                 m25p16
                 m25p32
                 m25p64
                 m25p128
                 w25x80
                 w25x32
                 w25q32
                 w25q64
                 w25q32dw
                 w25q80bl
                 w25q128
                 w25q256

               The following chip names have been used historically to
               designate quirky versions of flash chips that do not support the
               JEDEC READ ID opcode (0x9F):
                 m25p05-nonjedec
                 m25p10-nonjedec
                 m25p20-nonjedec
                 m25p40-nonjedec
                 m25p80-nonjedec
                 m25p16-nonjedec
                 m25p32-nonjedec
                 m25p64-nonjedec
                 m25p128-nonjedec

- reg : Chip-Select number
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at

Optional properties:
- m25p,fast-read : Use the "fast read" opcode to read data from the chip instead
                   of the usual "read" opcode. This opcode is not supported by
                   all chips and support for it can not be detected at runtime.
                   Refer to your chips' datasheet to check if this is supported
                   by your chip.
- broken-flash-reset : Some flash devices utilize stateful addressing modes
		   (e.g., for 32-bit addressing) which need to be managed
		   carefully by a system. Because these sorts of flash don't
		   have a standardized software reset command, and because some
		   systems don't toggle the flash RESET# pin upon system reset
		   (if the pin even exists at all), there are systems which
		   cannot reboot properly if the flash is left in the "wrong"
		   state. This boolean flag can be used on such systems, to
		   denote the absence of a reliable reset mechanism.

Example:

	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spansion,m25p80", "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <40000000>;
		m25p,fast-read;
	};