On Thu, Dec 16, 2021 at 05:52:12AM +0300, Dmitry Osipenko wrote: > 12.12.2021 01:49, David Heidelberg пишет: > > +unevaluatedProperties: false > > + > > +examples: > > + - | > > + sound { > > + compatible = "nvidia,tegra-audio-rt5677-ryu", > > + "nvidia,tegra-audio-rt5677"; > > + nvidia,model = "NVIDIA Tegra Ryu"; > > + > > + nvidia,audio-routing = > > + "Headphone", "LOUT2", > > + "Headphone", "LOUT1", > > + "Headset Mic", "MICBIAS1", > > + "IN1P", "Headset Mic", > > + "IN1N", "Headset Mic", > > + "DMIC L1", "Internal Mic 1", > > + "DMIC R1", "Internal Mic 1", > > + "DMIC L2", "Internal Mic 2", > > + "DMIC R2", "Internal Mic 2", > > + "Speaker", "PDM1L", > > + "Speaker", "PDM1R"; > > + > > + nvidia,i2s-controller = <&tegra_i2s1>; > > + nvidia,audio-codec = <&rt5677>; > > + > > + nvidia,hp-det-gpios = <&gpio 143 0>; > > + nvidia,mic-present-gpios = <&gpio 132 1>; > > + nvidia,hp-en-gpios = <&rt5677 1 0>; > > + nvidia,dmic-clk-en-gpios = <&rt5677 2 1>; > > I spotted that nvidia,dmic-clk-en-gpios is undocumented, but DTs and > binding are passing the validation. We will make another patch to fix it. > > Rob, could you please tell whether this is because unevaluatedProperties > doesn't work yet or we're missing something? If you update dt-schema.git to the latest "main" branch you should have most of what's needed to make unevaluatedProperties work. However, there seems to be an issue with some $referenced schemas setting additionalProperties to true and then that gets propogated to the schema that included it. Rob came up with the patch below to fix that: --- >8 --- diff --git a/dtschema/lib.py b/dtschema/lib.py index 3cc5e428b0eb..a0f22aab935a 100644 --- a/dtschema/lib.py +++ b/dtschema/lib.py @@ -367,6 +367,9 @@ def fixup_sub_schema(schema, is_prop): if not isinstance(schema, dict): return + if 'additionalProperties' in schema and schema['additionalProperties'] == True: + schema.pop('additionalProperties', None) + schema.pop('description', None) fixup_interrupts(schema) if is_prop: --- >8 --- I'm currently running the tools based on that and it's indeed been flagging some properties as unevaluated that weren't there before. Thierry