Hi Jacopo, On Fri, Dec 17, 2021 at 11:47:10AM +0100, Jacopo Mondi wrote: > On Fri, Dec 17, 2021 at 12:09:44AM +0200, Laurent Pinchart wrote: > > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > Power supplies for the ports can be controlled per port depending on the > > hardware design. Support per-port supplies in the DT bindings, mutually > > exclusive with the global supply. > > > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > --- > > .../bindings/media/i2c/maxim,max9286.yaml | 25 ++++++++++++++++++- > > 1 file changed, 24 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml > > index 02f656e78700..33aa307e8ee5 100644 > > --- a/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml > > +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml > > @@ -39,7 +39,7 @@ properties: > > maxItems: 1 > > > > poc-supply: > > - description: Regulator providing Power over Coax to the cameras > > + description: Regulator providing Power over Coax to all the ports > > > > Can anything but a camera be connected to a port ? > > > enable-gpios: > > description: GPIO connected to the \#PWDN pin with inverted polarity > > @@ -160,6 +160,10 @@ properties: > > > > additionalProperties: false > > > > +patternProperties: > > + "^port[0-3]-poc-supply$": > > + description: Regulator providing Power over Coax for a particular port > > + > > required: > > - compatible > > - reg > > @@ -167,6 +171,25 @@ required: > > - i2c-mux > > - gpio-controller > > > > +allOf: > > + - if: > > + required: > > + - poc-supply > > + then: > > + allOf: > > + - not: > > + required: > > + - port0-poc-supply > > + - not: > > + required: > > + - port1-poc-supply > > + - not: > > + required: > > + - port2-poc-supply > > + - not: > > + required: > > + - port3-poc-supply > > Isn't this simply expressed as > > if: > required: > - poc-supply > then: > properties: > port0-poc-supply: false > port1-poc-supply: false > port2-poc-supply: false > port3-poc-supply: false I would have sworn I had tried that and that it didn't work... I now have allOf: - if: required: - poc-supply then: patternProperties: '^port[0-3]-poc-supply$': false additionalProperties: false and it seems to do the job. I'll use that in a v2. > I tried tweaking the DTS file example with the above applied as > > poc-supply = <&camera_poc_12v>; > port0-poc-supply = <&camera0_poc>; > > And validation fails as expected > .../maxim,max9286.example.dt.yaml: gmsl-deserializer@2c: port0-poc-supply: False schema does not allow [[4294967295]] > > Also, could you make sure this does not conflict with the introduction > of gpio-poc in "dt-bindings: media: max9286: Define 'maxim,gpio-poc'". > > > + > > additionalProperties: false > > > > examples: -- Regards, Laurent Pinchart