• Fabio Estevam's avatar
    arm64: dts: imx8m: Fix the SPI chipselect polarity · 843b993c
    Fabio Estevam authored
    The conversion of the spi-imx driver to use GPIO descriptors
    in commit 8cdcd8ae ("spi: imx/fsl-lpspi: Convert to GPIO descriptors")
    helped to detect the following SPI chipselect polarity mismatch on an
    imx6q-sabresd for example:
    
    [    4.854337] m25p80@0 enforce active low on chipselect handle
    
    Prior to the above commit, the chipselect polarity passed via cs-gpios
    property was ignored and considered active-low.
    
    The reason for such mismatch is clearly explained in the comments inside
    drivers/gpio/gpiolib-of.c:
    
     * SPI children have active low chip selects
     * by default. This can be specified negatively
     * by just omitting "spi-cs-high" in the
     * device node, or actively by tagging on
     * GPIO_ACTIVE_LOW as flag in the device
     * tree. If the line is simultaneously
     * tagged as active low in the device tree
     * and has the "spi-cs-high" set, we get a
     * conflict and the "spi-cs-high" flag will
     * take precedence.
    
    To properly represent the SPI chipselect polarity, change it to active-low
    when the "spi-cs-high" property is absent.
    Signed-off-by: default avatarFabio Estevam <festevam@gmail.com>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    843b993c
imx8mm-beacon-baseboard.dtsi 6.29 KB