Provided by: freebsd-manpages_12.2-2_all bug

NAME

     mx25l — driver for SpiFlash(tm) compatible non-volatile storage devices

SYNOPSIS

     To compile this driver into the kernel, place the following line in your kernel
     configuration file:

           device mx25l

     Alternatively, to load the driver as a module at boot time, place the following line in
     loader.conf(5):

           mx25l_load="YES"

DESCRIPTION

     The mx25l driver provides support for the family of non-volatile storage devices known
     collectively as SpiFlash(tm).  SpiFlash chips typically have part numbers beginning with
     EN25, IS25, MX25, S25, SST25, or W25.

     The mx25l driver uses opcode 0x9f to read the manufacturer and device ID data to determine
     whether the device is supported.  The device ID is looked up using a table of data within
     the driver which describes the attributes of each supported device, such as block size,
     sector size, and device capacity.  When a supported device is found, the mx25l driver
     creates a disk device and makes it accessible at /dev/flash/mx25l?.  The new disk device is
     then tasted by the available geom(4) modules as with any disk device.

HARDWARE

     The mx25l driver provides support for the following devices:

        AT25DF641
        EN25F32
        EN25P32
        EN25P64
        EN25Q32
        EN25Q64
        GD25Q64
        M25P32
        M25P64
        MX25L1606E
        MX25LL128
        MX25LL256
        MX25LL32
        MX25LL64
        S25FL032
        S25FL064
        S25FL128
        S25FL256S
        SST25VF010A
        SST25VF032B
        W25Q128
        W25Q256
        W25Q32
        W25Q64
        W25Q64BV
        W25X32
        W25X64

FDT CONFIGURATION

     On an fdt(4) based system, the mx25l device is defined as a slave device subnode of the SPI
     bus controller node.  All properties documented in the spibus.txt bindings document can be
     used with the mx25l device.  The most commonly-used ones are documented below.

     The following properties are required in the mx25l device subnode:

     compatible
             Must be the string "jedec,spi-nor".

     reg     Chip select address of device.

     spi-max-frequency
             The maximum bus frequency to use when communicating with this slave device.  Actual
             bus speed may be lower, depending on the capabilities of the SPI bus controller
             hardware.

     The following properties are optional for the mx25l device subnode:

     spi-cpha
             Empty property indicating the slave device requires shifted clock phase (CPHA) mode.

     spi-cpol
             Empty property indicating the slave device requires inverse clock polarity (CPOL)
             mode.

     spi-cs-high
             Empty property indicating the slave device requires chip select active high.

HINTS CONFIGURATION

     On a device.hints(5) based system, such as MIPS, these values are configurable for mx25l:

     hint.mx25l.%d.at
             The spibus the mx25l instance is attached to.

     hint.mx25l.%d.clock
             The maximum bus frequency to use when communicating with this device.  Actual bus
             speed may be lower, depending on the capabilities of the SPI bus controller
             hardware.

     hint.mx25l.%d.cs
             The chip-select number to assert when performing I/O for this device.  Set the high
             bit (1 << 31) to invert the logic level of the chip select line.

     hint.mx25l.%d.mode
             The SPI mode (0-3) to use when communicating with this device.

FILES

     /dev/flash/mx25l?  Provides read/write access to the storage device.

     /dev/flash/spi?    An alias for the /dev/mx25l? device, for backwards compatibility with
                        older versions of the driver.

SEE ALSO

     fdt(4), geom(4)

HISTORY

     The mx25l driver first appeared in FreeBSD 8.0.