Message ID | 20220404131818.1817794-5-gch981213@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | spi: add support for Mediatek SPI-NAND controller | expand |
On 04/04/2022 15:18, Chuanhong Guo wrote: > Add device-tree binding documentation for Mediatek SPI-NAND Flash > Interface. > > Signed-off-by: Chuanhong Guo <gch981213@gmail.com> > --- > Changes since v1: > 1. add a blank line between properties in dt binding doc > 2. rename ecc-engine to nand-ecc-engine for the generic properties > > Change since v2: none > > .../bindings/spi/mediatek,spi-mtk-snfi.yaml | 88 +++++++++++++++++++ > 1 file changed, 88 insertions(+) > create mode 100644 Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > > diff --git a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > new file mode 100644 > index 000000000000..7d57570ad617 > --- /dev/null > +++ b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > @@ -0,0 +1,88 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/spi/mediatek,spi-mtk-snfi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: SPI-NAND flash controller for MediaTek ARM SoCs > + > +maintainers: > + - Chuanhong Guo <gch981213@gmail.com> > + > +description: | > + The Mediatek SPI-NAND flash controller is an extended version of > + the Mediatek NAND flash controller. It can perform standard SPI > + instructions with one continuous write and one read for up-to 0xa0 > + bytes. It also supports typical SPI-NAND page cache operations > + in single, dual or quad IO mode with piplined ECC encoding/decoding > + using the accompanying ECC engine. There should be only one spi > + slave device following generic spi bindings. > + > +allOf: > + - $ref: /schemas/spi/spi-controller.yaml# > + > +properties: > + compatible: > + enum: > + - mediatek,mt7622-snand > + - mediatek,mt7629-snand > + > + reg: > + items: > + - description: core registers > + > + interrupts: > + items: > + - description: NFI interrupt > + > + clocks: > + items: > + - description: clock used for the controller > + - description: clock used for the SPI bus > + > + clock-names: > + items: > + - const: nfi_clk > + - const: pad_clk > + > + nand-ecc-engine: > + description: device-tree node of the accompanying ECC engine. > + $ref: /schemas/types.yaml#/definitions/phandle > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - ecc-engine Slightly slow down resends (max 1 per day). You sent v3 without giving a chance to review this. Wrong name here. Best regards, Krzysztof
On Mon, Apr 04, 2022 at 03:52:19PM +0200, Krzysztof Kozlowski wrote: > On 04/04/2022 15:18, Chuanhong Guo wrote: > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > + - clock-names > > + - ecc-engine > Slightly slow down resends (max 1 per day). You sent v3 without giving a > chance to review this. > Wrong name here. Please delete unneeded context from mails when replying. Doing this makes it much easier to find your reply in the message, helping ensure it won't be missed by people scrolling through the irrelevant quoted material.
On Mon, 04 Apr 2022 21:18:17 +0800, Chuanhong Guo wrote: > Add device-tree binding documentation for Mediatek SPI-NAND Flash > Interface. > > Signed-off-by: Chuanhong Guo <gch981213@gmail.com> > --- > Changes since v1: > 1. add a blank line between properties in dt binding doc > 2. rename ecc-engine to nand-ecc-engine for the generic properties > > Change since v2: none > > .../bindings/spi/mediatek,spi-mtk-snfi.yaml | 88 +++++++++++++++++++ > 1 file changed, 88 insertions(+) > create mode 100644 Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.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/spi/mediatek,spi-mtk-snfi.example.dt.yaml: spi@1100d000: 'ecc-engine' is a required property From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.example.dt.yaml:0:0: /example-0/soc/spi@1100d000/flash@0: failed to match any schema with compatible: ['spi-nand'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ 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.
Hi Rob! On Tue, Apr 5, 2022 at 12:09 AM Rob Herring <robh@kernel.org> wrote: > [...] > 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/spi/mediatek,spi-mtk-snfi.example.dt.yaml: spi@1100d000: 'ecc-engine' is a required property > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.example.dt.yaml:0:0: /example-0/soc/spi@1100d000/flash@0: failed to match any schema with compatible: ['spi-nand'] I ran the tests myself and it's only complaining about the ecc-engine name: /home/user/src/kernels/linux/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.example.dtb: spi@1100d000: 'ecc-engine' is a required property
Hello, gch981213@gmail.com wrote on Tue, 5 Apr 2022 10:55:51 +0800: > Hi Rob! > > On Tue, Apr 5, 2022 at 12:09 AM Rob Herring <robh@kernel.org> wrote: > > [...] > > 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/spi/mediatek,spi-mtk-snfi.example.dt.yaml: spi@1100d000: 'ecc-engine' is a required property > > From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > > Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.example.dt.yaml:0:0: /example-0/soc/spi@1100d000/flash@0: failed to match any schema with compatible: ['spi-nand'] > > I ran the tests myself and it's only complaining about the ecc-engine name: > > /home/user/src/kernels/linux/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.example.dtb: > spi@1100d000: 'ecc-engine' is a required property > From schema: /home/user/src/kernels/linux/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml > > It says nothing about the spi-nand part. > I'd like to keep the flash@0 node in the example to demonstrate the > nand-ecc-engine usage. What should I do? You can try including spi-nand.yaml (like you do with spi-controller.yaml). You should no longer need to define nand-ecc-engine then as it is already described there? Thanks, Miquèl
diff --git a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml new file mode 100644 index 000000000000..7d57570ad617 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/spi/mediatek,spi-mtk-snfi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: SPI-NAND flash controller for MediaTek ARM SoCs + +maintainers: + - Chuanhong Guo <gch981213@gmail.com> + +description: | + The Mediatek SPI-NAND flash controller is an extended version of + the Mediatek NAND flash controller. It can perform standard SPI + instructions with one continuous write and one read for up-to 0xa0 + bytes. It also supports typical SPI-NAND page cache operations + in single, dual or quad IO mode with piplined ECC encoding/decoding + using the accompanying ECC engine. There should be only one spi + slave device following generic spi bindings. + +allOf: + - $ref: /schemas/spi/spi-controller.yaml# + +properties: + compatible: + enum: + - mediatek,mt7622-snand + - mediatek,mt7629-snand + + reg: + items: + - description: core registers + + interrupts: + items: + - description: NFI interrupt + + clocks: + items: + - description: clock used for the controller + - description: clock used for the SPI bus + + clock-names: + items: + - const: nfi_clk + - const: pad_clk + + nand-ecc-engine: + description: device-tree node of the accompanying ECC engine. + $ref: /schemas/types.yaml#/definitions/phandle + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - ecc-engine + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/mt7622-clk.h> + soc { + #address-cells = <2>; + #size-cells = <2>; + snfi: spi@1100d000 { + compatible = "mediatek,mt7622-snand"; + reg = <0 0x1100d000 0 0x1000>; + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>; + clocks = <&pericfg CLK_PERI_NFI_PD>, <&pericfg CLK_PERI_SNFI_PD>; + clock-names = "nfi_clk", "pad_clk"; + nand-ecc-engine = <&bch>; + #address-cells = <1>; + #size-cells = <0>; + + flash@0 { + compatible = "spi-nand"; + reg = <0>; + spi-tx-bus-width = <4>; + spi-rx-bus-width = <4>; + nand-ecc-engine = <&snfi>; + }; + }; + };
Add device-tree binding documentation for Mediatek SPI-NAND Flash Interface. Signed-off-by: Chuanhong Guo <gch981213@gmail.com> --- Changes since v1: 1. add a blank line between properties in dt binding doc 2. rename ecc-engine to nand-ecc-engine for the generic properties Change since v2: none .../bindings/spi/mediatek,spi-mtk-snfi.yaml | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Documentation/devicetree/bindings/spi/mediatek,spi-mtk-snfi.yaml