Re: [PATCH 2/2] DTS: ARM: gta04: introduce legacy spi-cs-high to make display work again

From: Rob Herring
Date: Wed Jul 24 2019 - 16:23:34 EST


On Mon, Jul 08, 2019 at 04:46:05PM +0200, H. Nikolaus Schaller wrote:
> commit 6953c57ab172 "gpio: of: Handle SPI chipselect legacy bindings"
>
> did introduce logic to centrally handle the legacy spi-cs-high property
> in combination with cs-gpios. This assumes that the polarity
> of the CS has to be inverted if spi-cs-high is missing, even
> and especially if non-legacy GPIO_ACTIVE_HIGH is specified.
>
> The DTS for the GTA04 was orginally introduced under the assumption
> that there is no need for spi-cs-high if the gpio is defined with
> proper polarity GPIO_ACTIVE_HIGH.

Given that spi-cs-high is called legacy, that would imply that DT's
should not have to use spi-cs-high.

> This was not a problem until gpiolib changed the interpretation of
> GPIO_ACTIVE_HIGH and missing spi-cs-high.

Then we should fix gpiolib...

> The effect is that the missing spi-cs-high is now interpreted as CS being
> low (despite GPIO_ACTIVE_HIGH) which turns off the SPI interface when the
> panel is to be programmed by the panel driver.
>
> Therefore, we have to add the redundant and legacy spi-cs-high property
> to properly pass through the legacy handler.
>
> Since this is nowhere documented in the bindings, we add some words of
> WARNING.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/spi/spi-bus.txt | 6 ++++++
> arch/arm/boot/dts/omap3-gta04.dtsi | 1 +
> 2 files changed, 7 insertions(+)