On Sun, Jan 28, 2024 at 07:01:36PM +0100, Duje Mihanović wrote: > On Sunday, January 28, 2024 6:28:03 PM CET Conor Dooley wrote: > > On Sat, Jan 27, 2024 at 05:53:45PM +0100, Duje Mihanović wrote: > > > +allOf: > > > + - $ref: dma-controller.yaml# > > > + - if: > > > + properties: > > > + compatible: > > > + contains: > > > + enum: > > > + - marvell,adma-1.0 > > > + - marvell,pxa910-squ > > > + then: > > > + properties: > > > + asram: > > > + description: > > > + phandle to the SRAM pool > > > + minItems: 1 > > > + maxItems: 1 > > > + iram: > > > > > + maxItems: > > These properties are not mentioned in the text binding, nor commit > > message. Where did they come from? > > Both of them can be found in arch/arm/boot/dts/marvell/mmp2.dtsi. There is one > major difference between the two: iram is not mentioned at all by the mmp_tdma > driver (on the other hand, asram is not only used but also required for a > successful probe), but I left it here as it's still found in the MMP2 dtsi. On > second thought it should probably be dropped both here and in the dtsi. > > > That said, for properties that are only usable on some platforms, please > > define them at the top level and conditionally permit/constrain them. > > Could you please point me to how to do so if this if/then does not do it > properly? Negate the if and then: then: properties: asram: false There are lots of examples in the tree. > > > > +unevaluatedProperties: false > > > + > > > +examples: > > > + # Peripheral controller > > > + - | > > > + pdma0: dma-controller@d4000000 { > > > > The label is not needed here or below. > > In fact, I'd probably delete the second example as it shows nothing that > > the first one does not. > > I'd rather add the asram property in the second node (adding onto the above > comment, I now see that it shouldn't have even passed dt_binding_check because > of the missing asram, but it did). It passed because 'required' is what checks for property presence and nowhere is asram required. It is missing a type definition which should have warned, but may not since it is under an 'if'. Rob