On 02/09/2025 16:52, Mike Looijmans wrote: >> if: >> properties: >> compatible: >> contains: >> const: ti,sn65dp159 >> then: >> properties: >> ti,sink-mode: >> type: boolean >> description: >> Force chip to operate in "sink" mode. Allows to use >> a DP159 chip (defaults to source) for incoming signals. >> ti,dvi-mode: >> type: boolean >> description: Makes the DP159 chip operate in DVI mode. >> slew-rate: >> $ref: /schemas/types.yaml#/definitions/uint32 >> minimum: 0 >> maximum: 3 >> default: 3 >> description: Set slew rate, 0 is slowest, 3 is fastest. >> else: >> properties: >> ti,source-mode: >> type: boolean >> description: >> Force chip to operate in "source" mode. Allows to use >> a TMDS181 chip (which defaults to sink) as cable driver. >> > Hmm, apparently one cannot "add" properties in the "if:" block? The
One can, but should not. Define properties in top level and disallow them. See also example-schema. > opposite approach, disallowing properties, works, e.g.: > > if: > properties: > compatible: > contains: > const: ti,sn65dp159 > then: > properties: > ti,source-mode: false > else: > properties: > ti,sink-mode: false > ti,dvi-mode: false > slew-rate: false So any device can work in any mode? Then this should be just enum with different defaults. Best regards, Krzysztof