On Fri, Nov 04, 2022 at 01:15:57PM -0400, Krzysztof Kozlowski wrote: > Some boards use SJA1105 Ethernet Switch with SPI CPHA, while ones with > SJA1110 use SPI CPOL, so document this to fix dtbs_check warnings: > > arch/arm64/boot/dts/freescale/fsl-lx2160a-bluebox3.dtb: ethernet-switch@0: Unevaluated properties are not allowed ('spi-cpol' was unexpected) > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > --- > > Changes since v2: > 1. Add allOf:if:then, based on feedback from Vladimir. > > Changes since v1: > 1. Add also cpha > --- > .../bindings/net/dsa/nxp,sja1105.yaml | 27 ++++++++++++++++--- > 1 file changed, 23 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml > index 1e26d876d146..ac66af3fdd82 100644 > --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml > +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml > @@ -12,10 +12,6 @@ description: > cs_sck_delay of 500ns. Ensuring that this SPI timing requirement is observed > depends on the SPI bus master driver. > > -allOf: > - - $ref: "dsa.yaml#" > - - $ref: /schemas/spi/spi-peripheral-props.yaml# > - > maintainers: > - Vladimir Oltean <vladimir.oltean@xxxxxxx> > > @@ -36,6 +32,9 @@ properties: > reg: > maxItems: 1 > > + spi-cpha: true > + spi-cpol: true > + Why set to true only to set to false under allOf? Can't set to true in allOf? > # Optional container node for the 2 internal MDIO buses of the SJA1110 > # (one for the internal 100base-T1 PHYs and the other for the single > # 100base-TX PHY). The "reg" property does not have physical significance. > @@ -109,6 +108,26 @@ $defs: > 1860, 1880, 1900, 1920, 1940, 1960, 1980, 2000, 2020, 2040, 2060, 2080, > 2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260] > > +allOf: > + - $ref: dsa.yaml# > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + - if: > + properties: > + compatible: > + enum: > + - nxp,sja1105e > + - nxp,sja1105t > + - nxp,sja1105p > + - nxp,sja1105q > + - nxp,sja1105r > + - nxp,sja1105s > + then: > + properties: > + spi-cpol: false > + else: > + properties: > + spi-cpha: false > + The properties should probably also be 'required', since the hardware doesn't work if they aren't present (omitting them changes the SPI mode to 0).