[Letux-kernel] [PATCH] spi: dt-bindings: clarify CS behavior for spi-cs-high and gpio descriptors

Sven Van Asbroeck thesven73 at gmail.com
Wed Dec 9 22:28:12 CET 2020


On Wed, Dec 9, 2020 at 3:08 PM H. Nikolaus Schaller <hns at goldelico.com> wrote:
>
> But I have tested with
>
> > spi->mode |= SPI_MODE_3;
>
> which should keep the mode intact. Right? That did not work either.
>

- make sure ("spi: fix client driver breakages when using GPIO descriptors")
  is in your tree
- your panel's CS is active-low, so 'spi-cs-high' should be removed from its
  devicetree entry. In accordance with the rules as explained in commit
  message of 6953c57ab172. Also in accordance with the table you posted
  in this patch.

When these two changes in place, your panel should work. I have tested this
by mirroring your setup on my board:

spi5-gpio {
       compatible = "spi-gpio";
       #address-cells = <0x1>;
       #size-cells = <0x0>;
       pinctrl-names = "default";
       pinctrl-0 = <&...>;

       sck-gpios = <&gpio... GPIO_ACTIVE_HIGH>;
       miso-gpios = <&gpio... GPIO_ACTIVE_HIGH>;
       mosi-gpios = <&gpio... GPIO_ACTIVE_HIGH>;
       cs-gpios = <&gpio... GPIO_ACTIVE_HIGH>;
       num-chipselects = <1>;

       ethernet-switch at 0 { /* active low cs */
               compatible = "micrel,ksz8795";
               spi-max-frequency = <1000000>;
               reg = <0>;
       };
};

If this does not work for you, then what are we missing?


More information about the Letux-kernel mailing list