diff mbox series

[v9,1/3] dt-bindings: mfd: Convert atmel-flexcom to json-schema

Message ID 20220916075744.1879428-2-kavyasree.kotagiri@microchip.com
State Not Applicable, archived
Headers show
Series Add support for lan966x flexcom chip-select configuration | expand

Checks

Context Check Description
robh/checkpatch warning total: 0 errors, 1 warnings, 92 lines checked
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Kavyasree Kotagiri Sept. 16, 2022, 7:57 a.m. UTC
Convert the Atmel flexcom device tree bindings to json schema.

Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
v8 -> v9:
 - Use full schema path for i2c bindings.

Changing reference to SPI yaml bindings is covered in below patch series:
https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6-sergiu.moga@microchip.com/
https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9-fb121de12244@linaro.org/

v7 -> v8:
 - Added back patternProperties for child nodes.

v6 -> v7:
 - Change filename to atmel,sama5d2-flexcom.yaml
 - Add #address-cells, #size-cells to flexcom node - Fixed warnings.

v5 -> v6:
 - Removed spi node from example as suggested by Rob and
   also pattern properties(spi dt-bindings conversion to yaml patch is under review).
   Once that is accepted, I will add back spi example through new patch.

v4 -> v5:
 - Fixed indentations.

v3 -> v4:
 - Corrected format of enum used for compatible string.

v2 -> v3:
 - used enum for compatible string.
 - changed irq flag to IRQ_TYPE_LEVEL_HIGH in example.
 - fixed dtschema errors.

v1 -> v2:
 - Fix title.

 .../bindings/mfd/atmel,sama5d2-flexcom.yaml   | 92 +++++++++++++++++++
 .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -------------
 2 files changed, 92 insertions(+), 63 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt

Comments

Kavyasree Kotagiri Sept. 19, 2022, 5:27 a.m. UTC | #1
> Convert the Atmel flexcom device tree bindings to json schema.
> 
> Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
> v8 -> v9:
>  - Use full schema path for i2c bindings.
> 
> Changing reference to SPI yaml bindings is covered in below patch series:
> https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6-
> sergiu.moga@microchip.com/
> https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9-
> fb121de12244@linaro.org/
> 
> v7 -> v8:
>  - Added back patternProperties for child nodes.
> 
> v6 -> v7:
>  - Change filename to atmel,sama5d2-flexcom.yaml
>  - Add #address-cells, #size-cells to flexcom node - Fixed warnings.
> 
> v5 -> v6:
>  - Removed spi node from example as suggested by Rob and
>    also pattern properties(spi dt-bindings conversion to yaml patch is under
> review).
>    Once that is accepted, I will add back spi example through new patch.
> 
> v4 -> v5:
>  - Fixed indentations.
> 
> v3 -> v4:
>  - Corrected format of enum used for compatible string.
> 
> v2 -> v3:
>  - used enum for compatible string.
>  - changed irq flag to IRQ_TYPE_LEVEL_HIGH in example.
>  - fixed dtschema errors.
> 
> v1 -> v2:
>  - Fix title.
> 
>  .../bindings/mfd/atmel,sama5d2-flexcom.yaml   | 92 +++++++++++++++++++
>  .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -------------
>  2 files changed, 92 insertions(+), 63 deletions(-)
>  create mode 100644
> Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
>  delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> flexcom.txt
> 
> diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
> flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
> flexcom.yaml
> new file mode 100644
> index 000000000000..f28522cd987a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
> flexcom.yaml
> @@ -0,0 +1,92 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel Flexcom (Flexible Serial Communication Unit)
> +
> +maintainers:
> +  - Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
> +
> +description:
> +  The Atmel Flexcom is just a wrapper which embeds a SPI controller,
> +  an I2C controller and an USART. Only one function can be used at a
> +  time and is chosen at boot time according to the device tree.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - atmel,sama5d2-flexcom
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 1
> +
> +  ranges:
> +    description:
> +      One range for the full I/O register region. (including USART,
> +      TWI and SPI registers).
> +    items:
> +      maxItems: 3
> +
> +  atmel,flexcom-mode:
> +    description: |
> +      Specifies the flexcom mode as follows:
> +      1: USART
> +      2: SPI
> +      3: I2C.
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    enum: [1, 2, 3]
> +
> +patternProperties:
> +  "^serial@[0-9a-f]+$":
> +    type: object
> +    description:
> +      Child node describing USART. See atmel-usart.txt for details
> +      of USART bindings.
> +
> +  "^spi@[0-9a-f]+$":
> +    type: object
> +    description:
> +      Child node describing SPI. See ../spi/spi_atmel.txt for details
> +      of SPI bindings.
> +
> +  "^i2c@[0-9a-f]+$":
> +    $ref: /schemas/i2c/atmel,at91sam-i2c.yaml


Hi Krzysztof,

I added full schema path for i2c bindings in v9. Please let me know your comments.

Thanks,
Kavya

> +    description:
> +      Child node describing I2C.
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - "#address-cells"
> +  - "#size-cells"
> +  - ranges
> +  - atmel,flexcom-mode
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    flx0: flexcom@f8034000 {
> +        compatible = "atmel,sama5d2-flexcom";
> +        reg = <0xf8034000 0x200>;
> +        clocks = <&flx0_clk>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +        ranges = <0x0 0xf8034000 0x800>;
> +        atmel,flexcom-mode = <2>;
> +    };
> +...
> diff --git a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
> b/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
> deleted file mode 100644
> index 9d837535637b..000000000000
> --- a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -* Device tree bindings for Atmel Flexcom (Flexible Serial Communication
> Unit)
> -
> -The Atmel Flexcom is just a wrapper which embeds a SPI controller, an I2C
> -controller and an USART. Only one function can be used at a time and is
> chosen
> -at boot time according to the device tree.
> -
> -Required properties:
> -- compatible:		Should be "atmel,sama5d2-flexcom"
> -- reg:			Should be the offset/length value for Flexcom
> dedicated
> -			I/O registers (without USART, TWI or SPI registers).
> -- clocks:		Should be the Flexcom peripheral clock from PMC.
> -- #address-cells:	Should be <1>
> -- #size-cells:		Should be <1>
> -- ranges:		Should be one range for the full I/O register region
> -			(including USART, TWI and SPI registers).
> -- atmel,flexcom-mode:	Should be one of the following values:
> -			- <1> for USART
> -			- <2> for SPI
> -			- <3> for I2C
> -
> -Required child:
> -A single available child device of type matching the "atmel,flexcom-mode"
> -property.
> -
> -The phandle provided by the clocks property of the child is the same as one
> for
> -the Flexcom parent.
> -
> -For other properties, please refer to the documentations of the respective
> -device:
> -- ../serial/atmel-usart.txt
> -- ../spi/spi_atmel.txt
> -- ../i2c/i2c-at91.txt
> -
> -Example:
> -
> -flexcom@f8034000 {
> -	compatible = "atmel,sama5d2-flexcom";
> -	reg = <0xf8034000 0x200>;
> -	clocks = <&flx0_clk>;
> -	#address-cells = <1>;
> -	#size-cells = <1>;
> -	ranges = <0x0 0xf8034000 0x800>;
> -	atmel,flexcom-mode = <2>;
> -
> -	spi@400 {
> -		compatible = "atmel,at91rm9200-spi";
> -		reg = <0x400 0x200>;
> -		interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&pinctrl_flx0_default>;
> -		#address-cells = <1>;
> -		#size-cells = <0>;
> -		clocks = <&flx0_clk>;
> -		clock-names = "spi_clk";
> -		atmel,fifo-size = <32>;
> -
> -		flash@0 {
> -			compatible = "atmel,at25f512b";
> -			reg = <0>;
> -			spi-max-frequency = <20000000>;
> -		};
> -	};
> -};
> --
> 2.25.1
Krzysztof Kozlowski Oct. 3, 2022, 7:56 a.m. UTC | #2
On 19/09/2022 07:27, Kavyasree.Kotagiri@microchip.com wrote:
>> Convert the Atmel flexcom device tree bindings to json schema.
>>
>> Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
>> Reviewed-by: Rob Herring <robh@kernel.org>
>> ---
>> v8 -> v9:
>>  - Use full schema path for i2c bindings.
>>
>> Changing reference to SPI yaml bindings is covered in below patch series:
>> https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6-
>> sergiu.moga@microchip.com/
>> https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9-
>> fb121de12244@linaro.org/
>>
>> v7 -> v8:
>>  - Added back patternProperties for child nodes.
>>
>> v6 -> v7:
>>  - Change filename to atmel,sama5d2-flexcom.yaml
>>  - Add #address-cells, #size-cells to flexcom node - Fixed warnings.
>>
>> v5 -> v6:
>>  - Removed spi node from example as suggested by Rob and
>>    also pattern properties(spi dt-bindings conversion to yaml patch is under
>> review).
>>    Once that is accepted, I will add back spi example through new patch.
>>
>> v4 -> v5:
>>  - Fixed indentations.
>>
>> v3 -> v4:
>>  - Corrected format of enum used for compatible string.
>>
>> v2 -> v3:
>>  - used enum for compatible string.
>>  - changed irq flag to IRQ_TYPE_LEVEL_HIGH in example.
>>  - fixed dtschema errors.
>>
>> v1 -> v2:
>>  - Fix title.
>>
>>  .../bindings/mfd/atmel,sama5d2-flexcom.yaml   | 92 +++++++++++++++++++
>>  .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -------------
>>  2 files changed, 92 insertions(+), 63 deletions(-)
>>  create mode 100644
>> Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
>>  delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
>> flexcom.txt
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml
>> new file mode 100644
>> index 000000000000..f28522cd987a
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-
>> flexcom.yaml
>> @@ -0,0 +1,92 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Atmel Flexcom (Flexible Serial Communication Unit)
>> +
>> +maintainers:
>> +  - Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
>> +
>> +description:
>> +  The Atmel Flexcom is just a wrapper which embeds a SPI controller,
>> +  an I2C controller and an USART. Only one function can be used at a
>> +  time and is chosen at boot time according to the device tree.
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - atmel,sama5d2-flexcom
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +  "#address-cells":
>> +    const: 1
>> +
>> +  "#size-cells":
>> +    const: 1
>> +
>> +  ranges:
>> +    description:
>> +      One range for the full I/O register region. (including USART,
>> +      TWI and SPI registers).
>> +    items:
>> +      maxItems: 3
>> +
>> +  atmel,flexcom-mode:
>> +    description: |
>> +      Specifies the flexcom mode as follows:
>> +      1: USART
>> +      2: SPI
>> +      3: I2C.
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    enum: [1, 2, 3]
>> +
>> +patternProperties:
>> +  "^serial@[0-9a-f]+$":
>> +    type: object
>> +    description:
>> +      Child node describing USART. See atmel-usart.txt for details
>> +      of USART bindings.
>> +
>> +  "^spi@[0-9a-f]+$":
>> +    type: object
>> +    description:
>> +      Child node describing SPI. See ../spi/spi_atmel.txt for details
>> +      of SPI bindings.
>> +
>> +  "^i2c@[0-9a-f]+$":
>> +    $ref: /schemas/i2c/atmel,at91sam-i2c.yaml
> 
> 
> Hi Krzysztof,
> 
> I added full schema path for i2c bindings in v9. Please let me know your comments.
> 

You sent the patch on 16th, pinged on 19th. Wait around two weeks before
pinging.

You got here Rob's review, what is missing? Why do you ping us?

Best regards,
Krzysztof
Krzysztof Kozlowski Oct. 3, 2022, 7:58 a.m. UTC | #3
On 16/09/2022 09:57, Kavyasree Kotagiri wrote:
> Convert the Atmel flexcom device tree bindings to json schema.
> 
> Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> ---
> v8 -> v9:
>  - Use full schema path for i2c bindings.
> 
> Changing reference to SPI yaml bindings is covered in below patch series:
> https://lore.kernel.org/linux-arm-kernel/20220913142205.162399-6-sergiu.moga@microchip.com/
> https://lore.kernel.org/linux-arm-kernel/dad37ca0-a44b-59ec-0be9-fb121de12244@linaro.org/
> 


Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
new file mode 100644
index 000000000000..f28522cd987a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
@@ -0,0 +1,92 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Atmel Flexcom (Flexible Serial Communication Unit)
+
+maintainers:
+  - Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
+
+description:
+  The Atmel Flexcom is just a wrapper which embeds a SPI controller,
+  an I2C controller and an USART. Only one function can be used at a
+  time and is chosen at boot time according to the device tree.
+
+properties:
+  compatible:
+    enum:
+      - atmel,sama5d2-flexcom
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges:
+    description:
+      One range for the full I/O register region. (including USART,
+      TWI and SPI registers).
+    items:
+      maxItems: 3
+
+  atmel,flexcom-mode:
+    description: |
+      Specifies the flexcom mode as follows:
+      1: USART
+      2: SPI
+      3: I2C.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 3]
+
+patternProperties:
+  "^serial@[0-9a-f]+$":
+    type: object
+    description:
+      Child node describing USART. See atmel-usart.txt for details
+      of USART bindings.
+
+  "^spi@[0-9a-f]+$":
+    type: object
+    description:
+      Child node describing SPI. See ../spi/spi_atmel.txt for details
+      of SPI bindings.
+
+  "^i2c@[0-9a-f]+$":
+    $ref: /schemas/i2c/atmel,at91sam-i2c.yaml
+    description:
+      Child node describing I2C.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - "#address-cells"
+  - "#size-cells"
+  - ranges
+  - atmel,flexcom-mode
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    flx0: flexcom@f8034000 {
+        compatible = "atmel,sama5d2-flexcom";
+        reg = <0xf8034000 0x200>;
+        clocks = <&flx0_clk>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+        ranges = <0x0 0xf8034000 0x800>;
+        atmel,flexcom-mode = <2>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt b/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
deleted file mode 100644
index 9d837535637b..000000000000
--- a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
+++ /dev/null
@@ -1,63 +0,0 @@ 
-* Device tree bindings for Atmel Flexcom (Flexible Serial Communication Unit)
-
-The Atmel Flexcom is just a wrapper which embeds a SPI controller, an I2C
-controller and an USART. Only one function can be used at a time and is chosen
-at boot time according to the device tree.
-
-Required properties:
-- compatible:		Should be "atmel,sama5d2-flexcom"
-- reg:			Should be the offset/length value for Flexcom dedicated
-			I/O registers (without USART, TWI or SPI registers).
-- clocks:		Should be the Flexcom peripheral clock from PMC.
-- #address-cells:	Should be <1>
-- #size-cells:		Should be <1>
-- ranges:		Should be one range for the full I/O register region
-			(including USART, TWI and SPI registers).
-- atmel,flexcom-mode:	Should be one of the following values:
-			- <1> for USART
-			- <2> for SPI
-			- <3> for I2C
-
-Required child:
-A single available child device of type matching the "atmel,flexcom-mode"
-property.
-
-The phandle provided by the clocks property of the child is the same as one for
-the Flexcom parent.
-
-For other properties, please refer to the documentations of the respective
-device:
-- ../serial/atmel-usart.txt
-- ../spi/spi_atmel.txt
-- ../i2c/i2c-at91.txt
-
-Example:
-
-flexcom@f8034000 {
-	compatible = "atmel,sama5d2-flexcom";
-	reg = <0xf8034000 0x200>;
-	clocks = <&flx0_clk>;
-	#address-cells = <1>;
-	#size-cells = <1>;
-	ranges = <0x0 0xf8034000 0x800>;
-	atmel,flexcom-mode = <2>;
-
-	spi@400 {
-		compatible = "atmel,at91rm9200-spi";
-		reg = <0x400 0x200>;
-		interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_flx0_default>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-		clocks = <&flx0_clk>;
-		clock-names = "spi_clk";
-		atmel,fifo-size = <32>;
-
-		flash@0 {
-			compatible = "atmel,at25f512b";
-			reg = <0>;
-			spi-max-frequency = <20000000>;
-		};
-	};
-};