On Mon, Nov 11, 2024 at 10:25:12AM -0600, Rob Herring wrote: > > > > > >I don't know the yaml too well, but it is not obvious how adding a few > > >status = "disabled"; status = "okay"; fixes a "'anyOf' conditional failed". > > > > > >Maybe you can expand the explanation a bit? > > > > > > Andrew > > > > Hi angelo, > > > > I guess the dtbs_check only checks required properties from yaml if the node is enabled. > > Yes, that is exactly how it works. > > Rob Hello Rob, If we look at e.g. this binding: Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml We can see that it does not define iommu-map in the binding, likewise the binding does have: unevaluatedProperties: false If I apply my patch that adds iommu-map for e.g. the pcie2x1l0 node: (the patch does not add anything to the binding above): https://lore.kernel.org/linux-rockchip/20241107123732.1160063-2-cassel@xxxxxxxxxx/ If look at the pcie2x1l0 node, it is marked as status = "disabled" in arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi but is marked as status = "enabled" in arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts If I run CHECK_DTBS for this dts/dtb: $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CHECK_DTBS=y rockchip/rk3588-rock-5b.dtb DTC [C] arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dtb $ No warnings. What am I missing? Considering the warning in this series where the binding also had unevaluatedProperties: false I would have expected the same error for the pcie2x1l0 node. (And if I look at most PCI controler bindings, they actually do define iommu-map, so it seems a requirement for it to be defined if used.) Kind regards, Niklas