• Vignesh Raghavendra's avatar
    mtd: cfi_cmdset_0002: Add support for polling status register · 4844ef80
    Vignesh Raghavendra authored
    HyperFlash devices are compliant with CFI AMD/Fujitsu Extended Command
    Set (0x0002) for flash operations, therefore
    drivers/mtd/chips/cfi_cmdset_0002.c can be used as is. But these devices
    do not support DQ polling method of determining chip ready/good status.
    These flashes provide Status Register whose bits can be polled to know
    status of flash operation.
    
    Cypress HyperFlash datasheet here[1], talks about CFI Amd/Fujitsu
    Extended Query version 1.5. Bit 0 of "Software Features supported" field
    of CFI Primary Vendor-Specific Extended Query table indicates
    presence/absence of status register and Bit 1 indicates whether or not
    DQ polling is supported. Using these bits, its possible to determine
    whether flash supports DQ polling or need to use Status Register.
    
    Add support for polling Status Register to know device ready/status of
    erase/write operations when DQ polling is not supported.
    Print error messages on erase/program failure by looking at related
    Status Register bits.
    
    [1] https://www.cypress.com/file/213346/downloadSigned-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
    Reviewed-by: default avatarTokunori Ikegami <ikegami.t@gmail.com>
    Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    4844ef80
cfi_cmdset_0002.c 82.2 KB