On Sat, Jul 16, 2022 at 07:26:04PM +0100, Jonathan Cameron wrote: > On Fri, 15 Jul 2022 11:53:02 +0200 > Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > > Instead of listing directly properties typical for SPI peripherals, > > reference the spi-peripheral-props.yaml schema. This allows using all > > properties typical for SPI-connected devices, even these which device > > bindings author did not tried yet. > > > > Remove the spi-* properties which now come via spi-peripheral-props.yaml > > schema, except for the cases when device schema adds some constraints > > like maximum frequency. > > > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > > > --- > > > > This is an RFC with only some files changed, as I am still not sure of > > benefits for typical case - device node has just spi-max-frequency and > > nothing more. I still find useful to reference the schema, but maybe I > > am missing something? > > > > Before doing wide-tree cleanup like this, I would be happy to receive > > some feedback whether this makes sense. > > Hi Krzysztof, > > This has the side effect of allowing spi-cpol / spi-cpha for devices > where they weren't previously allowed by the binding. A typical device > only supports a subset of combinations of those. > > I'm not clear whether these should always be allowed (e.g. allow for inverters > etc in the path) or whether we should be enforcing the "correct" > settings for devices assuming they are directly connected. > > Currently we have a bunch of bindings that are documenting the allowed > flexibility - including cases where only particular combinations of these > settings are allowed. > > So we could either: > 1) Note that we've been doing it wrong and the binding should not enforce > these constraints so remove them. I'd lean towards this. > 2) Add explicit spi-cpol: false statements etc the drivers where they > are not allowed. 3) Drop spi-cpol / spi-cpha from spi-peripheral-props.yaml. It's purpose is to collect all possible SPI controller properties that are per child node. Whereas we've said spi-cpol / spi-cpha are device specific properties. Rob