Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: imx7d-sdb: Fix the SPI chipselect polarity

The following warning is seen when the SPI GPIO driver probes:

gpio-expander@0 enforce active low on chipselect handle

The reason for this warning 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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Fabio Estevam and committed by
Shawn Guo
6c418328 e40d0706

+1 -1
+1 -1
arch/arm/boot/dts/imx7d-sdb.dts
··· 45 45 pinctrl-0 = <&pinctrl_spi4>; 46 46 gpio-sck = <&gpio1 13 GPIO_ACTIVE_HIGH>; 47 47 gpio-mosi = <&gpio1 9 GPIO_ACTIVE_HIGH>; 48 - cs-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 48 + cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 49 49 num-chipselects = <1>; 50 50 #address-cells = <1>; 51 51 #size-cells = <0>;