Message ID | 20230511231317.158214-2-bstruempfel@ultratronik.de |
---|---|
State | New |
Headers | show |
Series | [v2,1/4] spi: dt-bindings: Introduce spi-mosi-idle-low flag | expand |
On Fri, May 12, 2023 at 01:13:14AM +0200, Boerge Struempfel wrote: > Some spi controller switch the mosi line to high, whenever they are > idle. This may not be desired in all use cases. For example neopixel > leds can get confused and flicker due to misinterpreting the idle state. > Therefore, we introduce a new spi-mode bit, with which the idle behaviour > can be overwritten on a per device basis. > > Signed-off-by: Boerge Struempfel <bstruempfel@ultratronik.de> > --- > .../devicetree/bindings/spi/spi-peripheral-props.yaml | 6 ++++++ If this is always required for a given device (which I'd expect to be the case) why configure it through DT? I know we've got some legacy stuff like that but not all legacy DT choices were good and no need to continue the pattern.
On Wed, May 17, 2023 at 10:26:07AM +0200, Börge Strümpfel wrote: > However I am not so sure about setting it unconditionally, since this > is dependent on the spi-controller. Not all spi-controller show this > behavior, that they use a high mosi line in idle mode and have the > ability to change this. As far as I know, another common behavior > is that the mosi just keeps the last state which it transmitted. In this > case, devices like Neopixel would still work without this mode bit. The behaviour the device needs is that the device have a low MOSI, how that is achieved is immaterial.
diff --git a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml index 782a014b63a76..46d5acc1fc232 100644 --- a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml +++ b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml @@ -34,6 +34,12 @@ properties: description: The device requires the chip select active high. + spi-mosi-idle-low: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires the mosi line to be low when idle and the + chip select is asserted. + spi-lsb-first: $ref: /schemas/types.yaml#/definitions/flag description:
Some spi controller switch the mosi line to high, whenever they are idle. This may not be desired in all use cases. For example neopixel leds can get confused and flicker due to misinterpreting the idle state. Therefore, we introduce a new spi-mode bit, with which the idle behaviour can be overwritten on a per device basis. Signed-off-by: Boerge Struempfel <bstruempfel@ultratronik.de> --- .../devicetree/bindings/spi/spi-peripheral-props.yaml | 6 ++++++ 1 file changed, 6 insertions(+)