Re: [PATCH v2 2/4] spi: rockchip-sfc: Bindings for Rockchip serial flash controller

Chris Morgan
2021-05-28T20:01:34Z

On Fri, May 28, 2021 at 08:48:29PM +0200, Michael Walle wrote:
> Am 2021-05-28 19:00, schrieb Chris Morgan:
> > From: Chris Morgan <macromorgan@hotmail.com>
> >
> > Add binding document for the Rockchip serial flash controller.
> > New device specific parameter of rockchip,sfc-no-dma included in
> > documentation.
> >
> > Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
>
> The subject for this patch should start with "dt-bindings:". See
> Documentation/devicetree/bindings/submitting-patches.rst

Acknowledged. When I do v3 I'll make this change.

>
>
> > ---
> > .../spi/rockchip,serialflash-controller.yaml | 107 ++++++++++++++++++
> > 1 file changed, 107 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/spi/rockchip,serialflash-controller.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/spi/rockchip,serialflash-controller.yaml
> > b/Documentation/devicetree/bindings/spi/rockchip,serialflash-controller.yaml
> > new file mode 100644
> > index 000000000000..eb073130e82a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/spi/rockchip,serialflash-controller.yaml
> > @@ -0,0 +1,107 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id:
> > http://devicetree.org/schemas/spi/rockchip,serialflash-controller.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Rockchip SoCs Serial FLASH Controller (SFC)
> > +
> > +maintainers:
> > + - Andy Yan <andy.yan@rock-chips.com>
> > +
> > +allOf:
> > + - $ref: spi-controller.yaml#
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - const: rockchip,px30-sfc
> > + - const: rockchip,rv1108-sfc
> > + - items:
> > + - const: rockchip,sfc
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + clocks:
> > + minItems: 2
> > + items:
> > + - description: Module Clock
> > + - description: Bus Clock
> > +
> > + clock-names:
> > + minItems: 2
> > + items:
> > + - const: clk-sfc
> > + - const: clk-hsfc
> > +
> > + power-domains:
> > + maxItems: 1
> > +
> > + rockchip,sfc-no-dma:
> > + - descrption: Boolean value for disabling DMA
> > +
> > +patternProperties:
> > + "^spi-nor@[0-3]$":
>
> I guess this subnode shouldn't be here, because its alread being taken
> care of by the spi-controller.yaml.

Okay, will remove it from v3.

>
> > + type: object
> > + properties:
> > + reg:
> > + minimum: 0
> > + maximum: 3
> > +
> > + spi-max-frequency:
> > + maxItems: 1
> > + - description: Maximum frequency for SPI Flash
> > +
> > + compatible:
> > + oneOf:
> > + - const: jedec,spi-nor
> > +
> > + spi-rx-bus-width:
> > + maxItems: 1
> > + - description: RX Bus Width (1x, 2x, or 4x mode)
> > +
> > + spi-tx-bus-width:
> > + maxItems: 1
> > + - description: TX Bus Width (1x, 2x, or 4x mode)
> > +
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - clocks
> > + - clock-names
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/clock/px30-cru.h>
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +
> > +sfc: spi@ff3a0000 {
> > + compatible = "rockchip,px30-sfc","rockchip,sfc";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + reg = <0x0 0xff3a0000 0x0 0x4000>;
> > + interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
> > + clock-names = "sfc", "hsfc";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&sfc_clk &sfc_cs &sfc_bus2>;
> > + power-domains = <&power PX30_PD_MMC_NAND>;
> > +
> > + nor_flash: spi-nor@0 {
> flash@0 and the reference could probably be dropped.
>
> > + reg = <0>;
> > + compatible = "xtx,xt25f128b","jedec,spi-nor";
>
> This should only be only "jedec,spi-nor".
>
> You can check the schema with dt_bindings_check, see
> Documentation/devicetree/bindings/writing-schema.rst
>
> Otherwise, Rob's bot will likely complain.
>
> Please note, that these review comments are just the obvious
> ones and I don't have much experience with the schemas. Eg.
> the compatible looks fishy, too. But I'm not sure.
>
> -michael
>

You are correct, I forgot to remove this before I submitted it. I put
the full chip name in there while I was working on this. When I send
v3 (which will come after the main SPI driver has had a chance to be
looked at) I'll make these changes too.

Thank you.

> > + spi-rx-bus-width = <2>;
> > + spi-tx-bus-width = <2>;
> > + spi-max-frequency = <108000000>;
> > + };
> > +};
> > +
> > +...