• Rasmus Villemoes's avatar
    spi: spi-fsl-spi: support use of the SPISEL_BOOT signal on MPC8309 · 69b921ac
    Rasmus Villemoes authored
    The MPC8309 has a dedicated signal, SPISEL_BOOT, usually used as chip
    select for the flash device from which the bootloader is loaded. It is
    not an ordinary gpio, but is simply controlled via the SPI_CS register
    in the system configuration.
    
    To allow accessing such a spi slave, we need to teach
    fsl_spi_cs_control() how to control the SPISEL_BOOT signal. To
    distinguish the gpio-controlled slaves, continue to have those use
    chip_select values of 0..ngpios-1, and use chip_select == ngpios for
    the boot flash.
    
    I'm not too happy with all the ifdeffery, but it seems to be necessary
    for guarding the sysdev/fsl_soc.h and use of
    get_immrbase() (spi-fsl-lib.c already contains similar ifdeffery).
    
    Googling suggests that the MPC8306 is similar, with the SPI_CS
    register at the same offset.
    Signed-off-by: default avatarRasmus Villemoes <rasmus.villemoes@prevas.dk>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    69b921ac
spi-fsl-spi.c 23.3 KB