On Mon, Feb 08, 2021 at 05:08:06PM +0300, Serge Semin wrote: > Baikal-T1 SoC is equipped with two DW GMAC v3.73a-based 1GBE ethernet > interfaces synthesized with: RGMII PHY interface, AXI-DMA and APB3 CSR, > 16KB Tx/Rx FIFOs and PBL up to half of that, PTP, PMT, TCP/IP CoE, up to 4 > outstanding AXI read/write requests, maximum AXI burst length of 16 beats, > up to eight MAC address slots, one GPI and one GPO ports. Generic DW > MAC/STMMAC driver will easily handle the DT-node describing the Baikal-T1 > GMAC network devices, but the bindings still needs to be created to have a > better understanding of what the interface looks like. > > Signed-off-by: Serge Semin <Sergey.Semin@xxxxxxxxxxxxxxxxxxxx> > > --- > > Rob, please note I couldn't declare the axi-config object properties constraints > without specifying the properties type and description. If I remove them the > dt_binding_check will curse with the error: > > >> .../baikal,bt1-gmac.yaml: properties:axi-config:properties:snps,blen: 'description' is a required property > >> .../baikal,bt1-gmac.yaml: properties:axi-config:properties:snps,wr_osr_lmt: 'oneOf' conditional failed, one must be fixed: > 'type' is a required property > Additional properties are not allowed ('maximum' was unexpected) > >> ... > > I did't know what to do with these errors, so I just created normal sub-node > properties with stricter constraints than they are specified in the main > snps,dwmac.yaml schema. Any suggestion what is a better way to apply > additional constraints on sub-node properties? Yes, that's known problem which I don't have a solution for. I think the solution is checking all properties have a type defined once and only once. That would also make sure we don't have 2 property names with different types. With that we can loosen the meta-schema checks. In the vast majority of cases though we need a type, so the exceptions like here will need to duplicate the type and description. Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > --- > .../bindings/net/baikal,bt1-gmac.yaml | 150 ++++++++++++++++++ > 1 file changed, 150 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/baikal,bt1-gmac.yaml