spi: dt-bindings: clarify CS behavior for spi-cs-high and gpio descriptors
Behavior of CS signal in combination of spi-cs-high and gpio descriptors is not clearly defined and documented. So clarify the documentation Cc: linus.walleij@linaro.org Cc: linux-gpio@vger.kernel.org Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/3bed61807fff6268789e7d411412fbc5cd6ffe2a.1607507863.git.hns@goldelico.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
49ab19a4a5
commit
2fee958319
@ -42,6 +42,33 @@ properties:
|
||||
cs2 : &gpio1 1 0
|
||||
cs3 : &gpio1 2 0
|
||||
|
||||
The second flag of a gpio descriptor can be GPIO_ACTIVE_HIGH (0)
|
||||
or GPIO_ACTIVE_LOW(1). Legacy device trees often use 0.
|
||||
|
||||
There is a special rule set for combining the second flag of an
|
||||
cs-gpio with the optional spi-cs-high flag for SPI slaves.
|
||||
|
||||
Each table entry defines how the CS pin is to be physically
|
||||
driven (not considering potential gpio inversions by pinmux):
|
||||
|
||||
device node | cs-gpio | CS pin state active | Note
|
||||
================+===============+=====================+=====
|
||||
spi-cs-high | - | H |
|
||||
- | - | L |
|
||||
spi-cs-high | ACTIVE_HIGH | H |
|
||||
- | ACTIVE_HIGH | L | 1
|
||||
spi-cs-high | ACTIVE_LOW | H | 2
|
||||
- | ACTIVE_LOW | L |
|
||||
|
||||
Notes:
|
||||
1) Should print a warning about polarity inversion.
|
||||
Here it would be wise to avoid and define the gpio as
|
||||
ACTIVE_LOW.
|
||||
2) Should print a warning about polarity inversion
|
||||
because ACTIVE_LOW is overridden by spi-cs-high.
|
||||
Should be generally avoided and be replaced by
|
||||
spi-cs-high + ACTIVE_HIGH.
|
||||
|
||||
num-cs:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
|
Loading…
Reference in New Issue
Block a user