On Wed, Dec 08, 2021 at 05:06:46PM -0600, Rob Herring wrote: > On Wed, 08 Dec 2021 08:20:41 -0500, Gabriel Somlo wrote: > > LiteSDCard is a small footprint, configurable SDCard core for FPGA > > based system on chips. > > > > Signed-off-by: Gabriel Somlo <gsomlo@xxxxxxxxx> > > Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > > --- > > > > New in v3: > > - picked up r/b Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> in DT > > bindings document (please let me know if that was premature, and > > happy to take further review if needed :) > > - add dedicated DT property for source clock frequency > > > > .../devicetree/bindings/mmc/litex,mmc.yaml | 72 +++++++++++++++++++ > > 1 file changed, 72 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/mmc/litex,mmc.yaml > > > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mmc/litex,mmc.yaml: properties:reg-names:items: 'oneOf' conditional failed, one must be fixed: > [{'const': 'phy'}, {'const': 'core'}, {'const': 'reader'}, {'const': 'writer'}, {'const': 'irq (optional)'}] is not of type 'object' > 'irq (optional)' does not match '^[a-zA-Z0-9,.\\-_ #+/]+$' > from schema $id: http://devicetree.org/meta-schemas/string-array.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mmc/litex,mmc.yaml: properties:reg: {'items': [{'description': 'PHY registers'}, {'description': 'CORE registers'}, {'description': 'DMA Reader buffer'}, {'description': 'DMA Writer buffer'}, {'description': 'IRQ registers (optional)'}], 'minItems': 4, 'maxItems': 5} should not be valid under {'required': ['maxItems']} > hint: "maxItems" is not needed with an "items" list > from schema $id: http://devicetree.org/meta-schemas/items.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mmc/litex,mmc.yaml: properties:reg-names: {'items': [{'const': 'phy'}, {'const': 'core'}, {'const': 'reader'}, {'const': 'writer'}, {'const': 'irq (optional)'}], 'minItems': 4, 'maxItems': 5} should not be valid under {'required': ['maxItems']} > hint: "maxItems" is not needed with an "items" list > from schema $id: http://devicetree.org/meta-schemas/items.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mmc/litex,mmc.yaml: ignoring, error in schema: properties: reg-names: items > warning: no schema found in file: ./Documentation/devicetree/bindings/mmc/litex,mmc.yaml > Documentation/devicetree/bindings/mmc/litex,mmc.example.dt.yaml:0:0: /example-0/mmc@12005000: failed to match any schema with compatible: ['litex,mmc'] > > doc reference errors (make refcheckdocs): > > > See https://patchwork.ozlabs.org/patch/1565210 > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit. > Thanks! I made the following changes: --- a/Documentation/devicetree/bindings/mmc/litex,mmc.yaml +++ b/Documentation/devicetree/bindings/mmc/litex,mmc.yaml @@ -29,9 +29,8 @@ properties: - description: CORE registers - description: DMA Reader buffer - description: DMA Writer buffer - - description: IRQ registers (optional) + - description: IRQ registers minItems: 4 - maxItems: 5 reg-names: items: @@ -39,12 +38,13 @@ properties: - const: core - const: reader - const: writer - - const: irq (optional) + - const: irq minItems: 4 - maxItems: 5 clocks: maxItems: 1 + description: + Handle to reference clock. interrupts: maxItems: 1 ... which took care of the bulk of the error messages reported. However, I'm still getting the one below, whether or not I leave the `maxItems 1` line there under `clocks:` $ make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- dt_binding_check LINT Documentation/devicetree/bindings CHKDT Documentation/devicetree/bindings/processed-schema-examples.json /home/somlo/linux/Documentation/devicetree/bindings/clock/litex,clock.yaml: properties:clock-output-names: {'description': 'List of strings of clock output signal names indexed by the first cell in the clock specifier.', 'minItems': 1, 'maxItems': 7, 'items': [{'const': 'CLKOUT0'}, {'const': 'CLKOUT1'}, {'const': 'CLKOUT2'}, {'const': 'CLKOUT3'}, {'const': 'CLKOUT4'}, {'const': 'CLKOUT5'}, {'const': 'CLKOUT6'}]} should not be valid under {'required': ['maxItems']} hint: "maxItems" is not needed with an "items" list from schema $id: http://devicetree.org/meta-schemas/items.yaml# SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json /home/somlo/linux/Documentation/devicetree/bindings/clock/litex,clock.yaml: ignoring, error in schema: properties: clock-output-names warning: no schema found in file: ./Documentation/devicetree/bindings/clock/litex,clock.yaml DTEX Documentation/devicetree/bindings/mmc/litex,mmc.example.dts DTEX Documentation/devicetree/bindings/media/renesas,imr.example.dts ... It appears as though `make dt_binding_check` is trying to read from `Documentation/devicetree/bindings/clock/litex,clock.yaml`, which does not exist. The clock reference I'm talking about could be *any* clock elsewhere in the dts! This wasn't part of the originally reported errors, not sure why I'm seeing it now. Also, not sure what (if anything) I still need to do about it, any advice much appreciated! Thanks, --Gabriel