2021-06-02 12:36:17

by Aswath Govindraju

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

Convert the omap-spi device tree binding documentation to json-schema.
The property ti,pindir-d0-out-d1-in is expected to be of type boolean.

All ti,pindir-d0-out-d1-in occurences are fixed before changing the
binding to avoid dtbs_check warnings.

Aswath Govindraju (5):
ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with
dt-shema
arm64: dts: ti: k3-am642-evm: align ti,pindir-d0-out-d1-in property
with dt-shema
dt-bindings: spi: omap-spi: Convert to json-schema

.../devicetree/bindings/spi/omap-spi.txt | 48 -------
.../devicetree/bindings/spi/omap-spi.yaml | 126 ++++++++++++++++++
arch/arm/boot/dts/am335x-cm-t335.dts | 2 +-
arch/arm/boot/dts/am43x-epos-evm.dts | 4 +-
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 2 +-
.../boot/dts/ti/k3-am65-iot2050-common.dtsi | 2 +-
.../arm64/boot/dts/ti/k3-am654-base-board.dts | 2 +-
7 files changed, 132 insertions(+), 54 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/spi/omap-spi.txt
create mode 100644 Documentation/devicetree/bindings/spi/omap-spi.yaml

--
2.17.1


2021-06-02 12:36:26

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH 3/5] arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with dt-shema

ti,pindir-d0-out-d1-in property is expected to be of type boolean.
Therefore, fix the property accordingly.

Signed-off-by: Aswath Govindraju <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi | 2 +-
arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
index f4ec9ed52939..23d51b6a9cf2 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
@@ -575,7 +575,7 @@

#address-cells = <1>;
#size-cells= <0>;
- ti,pindir-d0-out-d1-in = <1>;
+ ti,pindir-d0-out-d1-in;
};

&tscadc0 {
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
index eddb2ffb93ca..1b947e2c2e74 100644
--- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -299,7 +299,7 @@
pinctrl-0 = <&main_spi0_pins_default>;
#address-cells = <1>;
#size-cells= <0>;
- ti,pindir-d0-out-d1-in = <1>;
+ ti,pindir-d0-out-d1-in;

flash@0{
compatible = "jedec,spi-nor";
--
2.17.1

2021-06-02 12:38:15

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH 5/5] 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]>
---
.../devicetree/bindings/spi/omap-spi.txt | 48 -------
.../devicetree/bindings/spi/omap-spi.yaml | 126 ++++++++++++++++++
2 files changed, 126 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..cd20704f2edc
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/omap-spi.yaml
@@ -0,0 +1,126 @@
+# 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:
+ - Mark Brown <[email protected]>
+
+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
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+ 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
+
+patternProperties:
+ "@[0-9a-f]+$":
+ type: object
+ description:
+ Flash devices are defined as a sub-node of the spi controller
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: 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>
+
+ main_spi0: 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-06-02 12:39:22

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH 4/5] arm64: dts: ti: k3-am642-evm: align ti,pindir-d0-out-d1-in property with dt-shema

ti,pindir-d0-out-d1-in property is expected to be of type boolean.
Therefore, fix the property accordingly.

Signed-off-by: Aswath Govindraju <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index dad0efa961ed..2fd0de905e61 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
@@ -334,7 +334,7 @@
&main_spi0 {
pinctrl-names = "default";
pinctrl-0 = <&main_spi0_pins_default>;
- ti,pindir-d0-out-d1-in = <1>;
+ ti,pindir-d0-out-d1-in;
eeprom@0 {
compatible = "microchip,93lc46b";
reg = <0>;
--
2.17.1

2021-06-02 13:19:32

by Aswath Govindraju

[permalink] [raw]
Subject: [PATCH 2/5] ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema

ti,pindir-d0-out-d1-in property is expected to be of type boolean.
Therefore, fix the property accordingly.

Signed-off-by: Aswath Govindraju <[email protected]>
---
arch/arm/boot/dts/am43x-epos-evm.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index d717d5ada812..aae0af10a5b1 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -860,7 +860,7 @@
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi0_pins_default>;
pinctrl-1 = <&spi0_pins_sleep>;
- ti,pindir-d0-out-d1-in = <1>;
+ ti,pindir-d0-out-d1-in;
};

&spi1 {
@@ -868,7 +868,7 @@
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi1_pins_default>;
pinctrl-1 = <&spi1_pins_sleep>;
- ti,pindir-d0-out-d1-in = <1>;
+ ti,pindir-d0-out-d1-in;
};

&usb2_phy1 {
--
2.17.1

2021-06-07 13:44:50

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with dt-shema

On 18:04-20210602, Aswath Govindraju wrote:
> ti,pindir-d0-out-d1-in property is expected to be of type boolean.
> Therefore, fix the property accordingly.
>
> Signed-off-by: Aswath Govindraju <[email protected]>
No need for Fixes?

Also please split up the patches per maintainer so that we are'nt
confused on who should pick what etc..

> ---
> arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi | 2 +-
> arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> index f4ec9ed52939..23d51b6a9cf2 100644
> --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
> @@ -575,7 +575,7 @@
>
> #address-cells = <1>;
> #size-cells= <0>;
> - ti,pindir-d0-out-d1-in = <1>;
> + ti,pindir-d0-out-d1-in;
> };
>
> &tscadc0 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> index eddb2ffb93ca..1b947e2c2e74 100644
> --- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
> @@ -299,7 +299,7 @@
> pinctrl-0 = <&main_spi0_pins_default>;
> #address-cells = <1>;
> #size-cells= <0>;
> - ti,pindir-d0-out-d1-in = <1>;
> + ti,pindir-d0-out-d1-in;
>
> flash@0{
> compatible = "jedec,spi-nor";
> --
> 2.17.1
>


--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2021-06-07 13:50:18

by Aswath Govindraju

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with dt-shema

Hi Nishanth,

On 07/06/21 7:10 pm, Nishanth Menon wrote:
> On 18:04-20210602, Aswath Govindraju wrote:
>> ti,pindir-d0-out-d1-in property is expected to be of type boolean.
>> Therefore, fix the property accordingly.
>>
>> Signed-off-by: Aswath Govindraju <[email protected]>
> No need for Fixes?
>

Functionality wise this is not a bug as the driver only checks for the
presence of the property. This is the reason why I did not include fixes.

> Also please split up the patches per maintainer so that we are'nt
> confused on who should pick what etc..
>

okay. Will be aware of this from next time.

Thanks,
Aswath

>> ---
>> arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi | 2 +-
>> arch/arm64/boot/dts/ti/k3-am654-base-board.dts | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
>> index f4ec9ed52939..23d51b6a9cf2 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am65-iot2050-common.dtsi
>> @@ -575,7 +575,7 @@
>>
>> #address-cells = <1>;
>> #size-cells= <0>;
>> - ti,pindir-d0-out-d1-in = <1>;
>> + ti,pindir-d0-out-d1-in;
>> };
>>
>> &tscadc0 {
>> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
>> index eddb2ffb93ca..1b947e2c2e74 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
>> @@ -299,7 +299,7 @@
>> pinctrl-0 = <&main_spi0_pins_default>;
>> #address-cells = <1>;
>> #size-cells= <0>;
>> - ti,pindir-d0-out-d1-in = <1>;
>> + ti,pindir-d0-out-d1-in;
>>
>> flash@0{
>> compatible = "jedec,spi-nor";
>> --
>> 2.17.1
>>
>
>

2021-06-07 20:26:54

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH 3/5] arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with dt-shema

On 19:18-20210607, Aswath Govindraju wrote:
> Hi Nishanth,
>
> On 07/06/21 7:10 pm, Nishanth Menon wrote:
> > On 18:04-20210602, Aswath Govindraju wrote:
> >> ti,pindir-d0-out-d1-in property is expected to be of type boolean.
> >> Therefore, fix the property accordingly.
> >>
> >> Signed-off-by: Aswath Govindraju <[email protected]>
> > No need for Fixes?
> >
>
> Functionality wise this is not a bug as the driver only checks for the
> presence of the property. This is the reason why I did not include fixes.
>

Argument was based on device tree is considered independent of what or
what not a driver does.

> > Also please split up the patches per maintainer so that we are'nt
> > confused on who should pick what etc..
> >
>
> okay. Will be aware of this from next time.
>

Actually, I have dropped this off my list. I am assuming you'd want the
bindings to be merged after the dts cleanup is done.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D