Author: GernotH_31 Version: **
How can I add S26HL/HS-T Semper™ flash support to Linux?
Cypress’ S26HL/HS-T Semper flash with HyperBus™ interface uses the same command set as classic parallel NOR flash. Therefore, the appropriate Linux MTD driver is the standard driver for AMD/Spansion/Cypress NOR flash devices available under drivers/mtd/chips/cfi_cmdset_0002.c (part of every Linux kernel source tree). Similar to the previous S26KL/KS-S generation, the new Semper devices require status register polling instead of checking legacy toggling status (see KBA218974).
However, the S26HL/HS-T parts also implement some new changes related to the device ID and Common Flash Interface (CFI) information. CFI data has been replaced by Serial Flash Discoverable Parameters (SFDP) data and the device IDs have been moved from address 0 to address 0x800 in the ID/CFI/SFDP overlay mode. This means Linux cannot use the standard CFI probing mechanism to detect S26HL/HS-T Semper devices. Instead, device parameters may either be hard-coded (for example, hard-coded into the JEDEC driver) or retrieved dynamically via the SFDP code.
A Linux patch that implements these changes is available. It is part of the Parallel and HyperBus Flash driver patch that can be downloaded from www.cypress.com.