• Talel Shenhar's avatar
    spi: dw: add compatible for Amazon's Alpine spi controller · d49a3036
    Talel Shenhar authored
    This compatible adds the ability for dw spi controller driver to work with
    the dw spi controller found on Alpine chips.
    
    The dw spi controller has an auto-deselect of Chip-Select, in case there is
    no data inside the Tx FIFO. While working on platforms with Alpine chips,
    auto-deselect mode causes an issue for some spi devices that can't handle
    the Chip-Select deselect in the middle of a transaction. It is a normal
    behavior for a Tx FIFO to be empty in the middle of a transaction, due to
    busy cpu. In the Alpine chip family an option to change the default
    behavior was added to the original dw spi controller to prevent this issue
    of de-asserting Chip-Select once TX FIFO is empty. The change was to allow
    SW manual control of the Chip-Select. With this change, as long as the
    Slave Enable Register is asserted, the Chip-Select will be asserted. As a
    result, it is necessary to deselect the Slave Select Register once the
    transaction is done. This feature is enabled via a new device compatible
    string called 'amazon,alpine-dw-apb-ssi'.  Once the driver identifies the
    new compatible string, it enables the hw fixup logic, by writing to a
    dedicated register found in the IP reserved area and will start manual
    deselecting the Slave Select Register when the transfer ends.
    Signed-off-by: default avatarTalel Shenhar <talel@amazon.com>
    Signed-off-by: default avatarDavid Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    d49a3036
snps,dw-apb-ssi.txt 1.04 KB