Skip to content
  • Michael Walle's avatar
    spi: nxp_fspi: new driver for the FlexSPI controller · 383fded7
    Michael Walle authored and Jagan Teki's avatar Jagan Teki committed
    
    
    This is a port of the kernel's spi-nxp-fspi driver. It uses the new
    spi-mem interface and does not expose the more generic spi-xfer
    interface. The source was taken from the v5.3-rc3 tag.
    
    The port was straightforward:
     - remove the interrupt handling and the completion by busy polling the
       controller
     - remove locks
     - move the setup of the memory windows into claim_bus()
     - move the setup of the speed into set_speed()
     - port the device tree bindings from the original fspi_probe() to
       ofdata_to_platdata()
    
    There were only some style change fixes, no change in any logic. For
    example, there are busy loops where the return code is not handled
    correctly, eg. only prints a warning with WARN_ON(). This port
    intentionally left most functions unchanged to ease future bugfixes.
    
    This was tested on a custom LS1028A board. Because the LS1028A doesn't
    have proper clock framework support, changing the clock speed was not
    tested. This also means that it is not possible to change the SPI
    speed on LS1028A for now (neither is it possible in the linux driver).
    
    Signed-off-by: default avatarMichael Walle <michael@walle.cc>
    Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
    Tested-by: default avatarKuldeep Singh <kuldeep.singh@nxp.com>
    383fded7