]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: dts: imx6dl-alti6p: Fix the SPI chipselect polarity
authorFabio Estevam <festevam@gmail.com>
Fri, 16 Jul 2021 13:36:56 +0000 (10:36 -0300)
committerShawn Guo <shawnguo@kernel.org>
Wed, 22 Sep 2021 03:09:47 +0000 (11:09 +0800)
commit40419509a48cbf90fafdd6751c116f7726169982
tree95b243ffdc89125b9f84513491a46eddc2ba4347
parentf0da44e20474db879fb49ba54292440f8f91408d
ARM: dts: imx6dl-alti6p: Fix the SPI chipselect polarity

The conversion of the spi-imx driver to use GPIO descriptors
in commit 410d9b558f58 ("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: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm/boot/dts/imx6dl-alti6p.dts