2022-09-08 15:43:03

by Kavyasree Kotagiri

[permalink] [raw]
Subject: [RESEND PATCH v9 0/3] Add support for lan966x flexcom chip-select configuration

This patch series converts atmel-flexcom bindings into json-schema format.
Adds support for lan966x flexcom chip-select configurations and its
DT bindings.

v8 -> v9:
- generated patches on linux-next v6.0.0-rc4 to resend.
- Changed reference provided for spi bindings to atmel,at91rm9200-spi.yaml

v7 -> v8:
- Added back patternProperties for child nodes.
- Changed compatible string to microchip,lan9668-flexcom.

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).
https://patchwork.kernel.org/project/linux-arm-kernel/patch/[email protected]/
Once this is accepted, I will add back spi example through new patch.

v4 -> v5:
- Fix indentations of DT example.
- Fix dt-schema errors - removed minItems, maxItems for allOf:if:then
"reg" property as it is not required.

v3 -> v4:
- Fix dtschema errors.
- Add a condition to flexcom chip-selects configuration as chip-select
lines are optional.

v2 -> v3:
- changed IRQ flag in dt-bindings example.
- added reg property specific to lan66x which is missed in v2.
- used goto label for clk_disable in error cases.

v1 -> v2:
- minor fix in title of dt-bindings.
- Modified new dt properties usage in atmel,flexcom.yaml.
- Used GENMASK and macros for maximum allowed values.
- Use u32 values for flexcom chipselects instead of strings.
- disable clock in case of errors.

Kavyasree Kotagiri (3):
dt-bindings: mfd: Convert atmel-flexcom to json-schema
dt-bindings: mfd: atmel,sama5d2-flexcom: Add new compatible string for
lan966x
mfd: atmel-flexcom: Add support for lan966x flexcom chip-select
configuration

.../bindings/mfd/atmel,sama5d2-flexcom.yaml | 154 ++++++++++++++++++
.../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -------
drivers/mfd/atmel-flexcom.c | 94 ++++++++++-
3 files changed, 247 insertions(+), 64 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-flexcom.txt

--
2.25.1


2022-09-08 16:11:29

by Kavyasree Kotagiri

[permalink] [raw]
Subject: [RESEND PATCH v9 2/3] dt-bindings: mfd: atmel,sama5d2-flexcom: Add new compatible string for lan966x

LAN966x SoC flexcoms has two optional I/O lines. Namely, CS0 and CS1
in flexcom SPI mode. CTS and RTS in flexcom USART mode. These pins
can be mapped to lan966x FLEXCOM_SHARED[0-20] pins and usage depends on
functions being configured.

Signed-off-by: Kavyasree Kotagiri <[email protected]>
---
v8 -> v9:
- No changes.

v7 -> v8:
- Changed compatible string to microchip,lan9668-flexcom.

v6 -> v7:
- Add #address-cells, #size-cells to flx3 example.

v5 -> v6:
- Removed spi node from flx3 example.

v4 -> v5:
- Fixed indentations and dt-schema errors.
- No errors seen with 'make dt_binding_check'.

v3 -> v4:
- Added else condition to allOf:if:then.

v2 -> v3:
- Add reg property of lan966x missed in v2.

v1 -> v2:
- Use allOf:if:then for lan966x dt properties

.../bindings/mfd/atmel,sama5d2-flexcom.yaml | 65 ++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
index 63849dacefb8..e158af47c326 100644
--- a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
+++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
@@ -18,9 +18,11 @@ properties:
compatible:
enum:
- atmel,sama5d2-flexcom
+ - microchip,lan9668-flexcom

reg:
- maxItems: 1
+ minItems: 1
+ maxItems: 2

clocks:
maxItems: 1
@@ -47,6 +49,27 @@ properties:
$ref: /schemas/types.yaml#/definitions/uint32
enum: [1, 2, 3]

+ microchip,flx-shrd-pins:
+ description: Specify the Flexcom shared pins to be used for flexcom
+ chip-selects.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 2
+ items:
+ minimum: 0
+ maximum: 20
+
+ microchip,flx-cs:
+ description: Flexcom chip selects. Here, value of '0' represents "cts" line
+ of flexcom USART or "cs0" line of flexcom SPI and value of '1' represents
+ "rts" line of flexcom USART or "cs1" line of flexcom SPI.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 2
+ items:
+ minimum: 0
+ maximum: 1
+
patternProperties:
"^serial@[0-9a-f]+$":
type: object
@@ -73,6 +96,31 @@ required:
- ranges
- atmel,flexcom-mode

+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: microchip,lan9668-flexcom
+
+ then:
+ properties:
+ reg:
+ items:
+ - description: Flexcom base registers map
+ - description: Flexcom shared registers map
+ required:
+ - microchip,flx-shrd-pins
+ - microchip,flx-cs
+
+ else:
+ properties:
+ reg:
+ items:
+ - description: Flexcom base registers map
+ microchip,flx-shrd-pins: false
+ microchip,flx-cs: false
+
additionalProperties: false

examples:
@@ -88,4 +136,19 @@ examples:
ranges = <0x0 0xf8034000 0x800>;
atmel,flexcom-mode = <2>;
};
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ flx3: flexcom@e0064000 {
+ compatible = "microchip,lan9668-flexcom";
+ reg = <0xe0064000 0x100>,
+ <0xe2004180 0x8>;
+ clocks = <&flx0_clk>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x0 0xe0040000 0x800>;
+ atmel,flexcom-mode = <2>;
+ microchip,flx-shrd-pins = <9>;
+ microchip,flx-cs = <0>;
+ };
...
--
2.25.1

2022-09-15 09:28:06

by Kavyasree Kotagiri

[permalink] [raw]
Subject: RE: [RESEND PATCH v9 0/3] Add support for lan966x flexcom chip-select configuration

> This patch series converts atmel-flexcom bindings into json-schema format.
> Adds support for lan966x flexcom chip-select configurations and its
> DT bindings.
>
> v8 -> v9:

Hi All,

Please ignore this v9 patch series. I just now found that it is conflicting with https://lore.kernel.org/linux-arm-kernel/[email protected]/
So, I will re-send my v8 patch series which is already reviewed by Rob Herring and claudiu.beznea

Thanks,
Kavya

> - generated patches on linux-next v6.0.0-rc4 to resend.
> - Changed reference provided for spi bindings to atmel,at91rm9200-spi.yaml
>
> v7 -> v8:
> - Added back patternProperties for child nodes.
> - Changed compatible string to microchip,lan9668-flexcom.
>
> 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).
> https://patchwork.kernel.org/project/linux-arm-
> kernel/patch/[email protected]/
> Once this is accepted, I will add back spi example through new patch.
>
> v4 -> v5:
> - Fix indentations of DT example.
> - Fix dt-schema errors - removed minItems, maxItems for allOf:if:then
> "reg" property as it is not required.
>
> v3 -> v4:
> - Fix dtschema errors.
> - Add a condition to flexcom chip-selects configuration as chip-select
> lines are optional.
>
> v2 -> v3:
> - changed IRQ flag in dt-bindings example.
> - added reg property specific to lan66x which is missed in v2.
> - used goto label for clk_disable in error cases.
>
> v1 -> v2:
> - minor fix in title of dt-bindings.
> - Modified new dt properties usage in atmel,flexcom.yaml.
> - Used GENMASK and macros for maximum allowed values.
> - Use u32 values for flexcom chipselects instead of strings.
> - disable clock in case of errors.
>
> Kavyasree Kotagiri (3):
> dt-bindings: mfd: Convert atmel-flexcom to json-schema
> dt-bindings: mfd: atmel,sama5d2-flexcom: Add new compatible string for
> lan966x
> mfd: atmel-flexcom: Add support for lan966x flexcom chip-select
> configuration
>
> .../bindings/mfd/atmel,sama5d2-flexcom.yaml | 154 ++++++++++++++++++
> .../devicetree/bindings/mfd/atmel-flexcom.txt | 63 -------
> drivers/mfd/atmel-flexcom.c | 94 ++++++++++-
> 3 files changed, 247 insertions(+), 64 deletions(-)
> create mode 100644
> Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-
> flexcom.txt
>
> --
> 2.25.1