lkml.org 
[lkml]   [2024]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [RFC PATCH] spi: dt-bindings: ti,qspi: convert to dtschema
From
On 28/04/2024 08:58, Kousik Sanagavarapu wrote:
> Convert txt binding of TI's qspi controller (found on their omap SoCs) to
> dtschema to allow for validation.
>
> It is however to be noted that it is not a one-to-one conversion, in the
> sense that the original txt binding needed to be updated, but these
> changes are included in the dtschema and are mentioned below.

Drop this paragraph.

>
> The changes, w.r.t. the original txt binding, are:

You also dropped qspi_ctrlmod during conversion.

>
> - Introduce "clocks" and "clock-names" which was never mentioned.
> - Reflect that "ti,hwmods" is deprecated and is not a "required"
> property anymore.
> - Introduce "num-cs" which allows for setting the number of chip
> selects.
>
> Signed-off-by: Kousik Sanagavarapu <five231003@gmail.com>
> ---
> I'm a bit iffy about this one as I guess the original txt binding failed
> to cover some things about the properties. I added the properties based
> on their use in the *.dtsi files when I grepped for the compatible string
>
> arch/arm/boot/dts/ti/omap/dra7.dtsi
> arch/arm/boot/dts/ti/omap/am4372.dtsi
>
> I also looked at the probe function in the driver for it, which can be
> found at
>
> drivers/spi/spi-ti-qspi.c
>
> .../devicetree/bindings/spi/ti,qspi.yaml | 94 +++++++++++++++++++
> .../devicetree/bindings/spi/ti_qspi.txt | 53 -----------
> 2 files changed, 94 insertions(+), 53 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/spi/ti,qspi.yaml
> delete mode 100644 Documentation/devicetree/bindings/spi/ti_qspi.txt
>
> diff --git a/Documentation/devicetree/bindings/spi/ti,qspi.yaml b/Documentation/devicetree/bindings/spi/ti,qspi.yaml
> new file mode 100644
> index 000000000000..77cabd7158f5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/ti,qspi.yaml
> @@ -0,0 +1,94 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/ti,qspi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI QSPI controller
> +
> +maintainers:
> + - Kousik Sanagavarapu <five231003@gmail.com>
> +
> +allOf:
> + - $ref: spi-controller.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - ti,am4372-qspi
> + - ti,dra7xxx-qspi
> +
> + reg:
> + items:
> + - description: base registers
> + - description: mapped memory
> +
> + reg-names:
> + items:
> + - const: qspi_base
> + - const: qspi_mmap
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: fck
> +
> + interrupts:
> + maxItems: 1
> +
> + num-cs:
> + maxItems: 1
> +
> + ti,hwmods:
> + description:
> + Name of the hwmod associated to the QSPI. This is for legacy
> + platforms only.
> + $ref: /schemas/types.yaml#/definitions/string
> + deprecated: true
> +
> + syscon-chipselects:
> + description:
> + Handle to system control region contains QSPI chipselect register
> + and offset of that register.
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + items:
> + items:
> + - description: phandle to system control register
> + - description: register offset
> +
> + spi-max-frequency:
> + description: Maximum SPI clocking speed of the controller in Hz.
> + $ref: /schemas/types.yaml#/definitions/uint32


Are you sure that's actually needed? That's not a property of controller.

> +
> +required:
> + - compatible
> + - reg
> + - reg-names
> + - clocks
> + - clock-names
> + - interrupts
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/dra7.h>
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + qspi: spi@0 {
> + compatible = "ti,dra7xxx-qspi";
> + reg = <0x4b300000 0x100>,
> + <0x5c000000 0x4000000>;
> + reg-names = "qspi_base", "qspi_mmap";
> + syscon-chipselects = <&scm_conf 0x558>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
> + clock-names = "fck";
> + num-cs = <4>;
> + spi-max-frequency = <48000000>;

Drop. Are you sure driver parses it?

> + interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
> + };



Best regards,
Krzysztof


\
 
 \ /
  Last update: 2024-04-29 07:07    [W:0.049 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site