On Thu, Feb 15, 2024 at 7:23 AM Rob Herring <robh@xxxxxxxxxx> wrote: > > On Tue, Feb 06, 2024 at 11:34:13AM -0600, David Lechner wrote: > > On Tue, Feb 6, 2024 at 11:26 AM David Lechner <dlechner@xxxxxxxxxxxx> wrote: > > > > > > > if: > > properties: > > adi,reference: > > const: external > > required: > - adi,reference > > > then: > > required: > > - ref-supply > > else: > > properties: > > ref-supply: false > > > > to be sufficient here. However, currently, if the adi,reference > > property is omitted from the dts/dtb, the condition here evaluates to > > true and unexpectedly (incorrectly?) the validator requires the > > ref-supply property. > > That's just how json-schema works. With the above, it should work for > you. > > However, redesigning the binding would make things simpler. Just make > 'ref-supply' being present mean external ref. No 'ref-supply' is then > internal. Then you just need a boolean for 'internal-buffer' mode and: > > dependentSchemas: > ref-supply: > not: > required: ['adi,internal-buffer-ref'] > Per Jonathan's suggestion, I plan to simplify the bindings like this but just use the presence/absence of refin-supply as this boolean value to simplify it even further.