2021-06-21 09:33:24

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH v3] dt-bindings: spi: omap-spi: Convert to json-schema

Convert omap-spi dt-binding documentation from txt to yaml format.

Signed-off-by: Aswath Govindraju <[email protected]>
---

changes since v2:
- added myself as the maintainer
- added reference to spi-controller.yaml
- removed properties already defined in spi-controller.yaml
- removed unused labels in dt example
- changed additionalProperties to unevaluatedProperties
as a reference is used

changes since v1:
- split the series according to their respective trees

link to v1:
https://lore.kernel.org/patchwork/project/lkml/list/?series=502255

.../devicetree/bindings/spi/omap-spi.txt | 48 -------
.../devicetree/bindings/spi/omap-spi.yaml | 117 ++++++++++++++++++
2 files changed, 117 insertions(+), 48 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/spi/omap-spi.txt
create mode 100644 Documentation/devicetree/bindings/spi/omap-spi.yaml

diff --git a/Documentation/devicetree/bindings/spi/omap-spi.txt b/Documentation/devicetree/bindings/spi/omap-spi.txt
deleted file mode 100644
index 487208c256c0..000000000000
--- a/Documentation/devicetree/bindings/spi/omap-spi.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-OMAP2+ McSPI device
-
-Required properties:
-- compatible :
- - "ti,am654-mcspi" for AM654.
- - "ti,omap2-mcspi" for OMAP2 & OMAP3.
- - "ti,omap4-mcspi" for OMAP4+.
-- ti,spi-num-cs : Number of chipselect supported by the instance.
-- ti,hwmods: Name of the hwmod associated to the McSPI
-- ti,pindir-d0-out-d1-in: Select the D0 pin as output and D1 as
- input. The default is D0 as input and
- D1 as output.
-
-Optional properties:
-- dmas: List of DMA specifiers with the controller specific format
- as described in the generic DMA client binding. A tx and rx
- specifier is required for each chip select.
-- dma-names: List of DMA request names. These strings correspond
- 1:1 with the DMA specifiers listed in dmas. The string naming
- is to be "rxN" and "txN" for RX and TX requests,
- respectively, where N equals the chip select number.
-
-Examples:
-
-[hwmod populated DMA resources]
-
-mcspi1: mcspi@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "ti,omap4-mcspi";
- ti,hwmods = "mcspi1";
- ti,spi-num-cs = <4>;
-};
-
-[generic DMA request binding]
-
-mcspi1: mcspi@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "ti,omap4-mcspi";
- ti,hwmods = "mcspi1";
- ti,spi-num-cs = <2>;
- dmas = <&edma 42
- &edma 43
- &edma 44
- &edma 45>;
- dma-names = "tx0", "rx0", "tx1", "rx1";
-};
diff --git a/Documentation/devicetree/bindings/spi/omap-spi.yaml b/Documentation/devicetree/bindings/spi/omap-spi.yaml
new file mode 100644
index 000000000000..e55538186cf6
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/omap-spi.yaml
@@ -0,0 +1,117 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/omap-spi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SPI controller bindings for OMAP and K3 SoCs
+
+maintainers:
+ - Aswath Govindraju <[email protected]>
+
+allOf:
+ - $ref: spi-controller.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - ti,am654-mcspi
+ - ti,am4372-mcspi
+ - const: ti,omap4-mcspi
+ - items:
+ - enum:
+ - ti,omap2-mcspi
+ - ti,omap4-mcspi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ power-domains:
+ maxItems: 1
+
+ ti,spi-num-cs:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: Number of chipselect supported by the instance.
+ minimum: 1
+ maximum: 4
+
+ ti,hwmods:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ Must be "mcspi<n>", n being the instance number (1-based).
+ This property is applicable only on legacy platforms mainly omap2/3
+ and ti81xx and should not be used on other platforms.
+ deprecated: true
+
+ ti,pindir-d0-out-d1-in:
+ description:
+ Select the D0 pin as output and D1 as input. The default is D0
+ as input and D1 as output.
+ type: boolean
+
+ dmas:
+ description:
+ List of DMA specifiers with the controller specific format as
+ described in the generic DMA client binding. A tx and rx
+ specifier is required for each chip select.
+ minItems: 1
+ maxItems: 8
+
+ dma-names:
+ description:
+ List of DMA request names. These strings correspond 1:1 with
+ the DMA sepecifiers listed in dmas. The string names is to be
+ "rxN" and "txN" for RX and TX requests, respectively. Where N
+ is the chip select number.
+ minItems: 1
+ maxItems: 8
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+unevaluatedProperties: false
+
+if:
+ properties:
+ compatible:
+ oneOf:
+ - const: ti,omap2-mcspi
+ - const: ti,omap4-mcspi
+
+then:
+ properties:
+ ti,hwmods:
+ items:
+ - pattern: "^mcspi([1-9])$"
+
+else:
+ properties:
+ ti,hwmods: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/soc/ti,sci_pm_domain.h>
+
+ spi@2100000 {
+ compatible = "ti,am654-mcspi","ti,omap4-mcspi";
+ reg = <0x2100000 0x400>;
+ interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&k3_clks 137 1>;
+ power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ dmas = <&main_udmap 0xc500>, <&main_udmap 0x4500>;
+ dma-names = "tx0", "rx0";
+ };
--
2.17.1


2021-07-12 20:52:35

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: spi: omap-spi: Convert to json-schema

On Mon, 21 Jun 2021 14:58:58 +0530, Aswath Govindraju wrote:
> Convert omap-spi dt-binding documentation from txt to yaml format.
>
> Signed-off-by: Aswath Govindraju <[email protected]>
> ---
>
> changes since v2:
> - added myself as the maintainer
> - added reference to spi-controller.yaml
> - removed properties already defined in spi-controller.yaml
> - removed unused labels in dt example
> - changed additionalProperties to unevaluatedProperties
> as a reference is used
>
> changes since v1:
> - split the series according to their respective trees
>
> link to v1:
> https://lore.kernel.org/patchwork/project/lkml/list/?series=502255
>
> .../devicetree/bindings/spi/omap-spi.txt | 48 -------
> .../devicetree/bindings/spi/omap-spi.yaml | 117 ++++++++++++++++++
> 2 files changed, 117 insertions(+), 48 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/spi/omap-spi.txt
> create mode 100644 Documentation/devicetree/bindings/spi/omap-spi.yaml
>

Reviewed-by: Rob Herring <[email protected]>

2021-07-14 15:57:15

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v3] dt-bindings: spi: omap-spi: Convert to json-schema

On Mon, 21 Jun 2021 14:58:58 +0530, Aswath Govindraju wrote:
> Convert omap-spi dt-binding documentation from txt to yaml format.

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] dt-bindings: spi: omap-spi: Convert to json-schema
commit: 014861c2fb3d7b38b8de32baa953082bb9dabaf4

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark