diff mbox series

[2/3] dt-bindings: mfd: atmel,flexcom: Add new compatible string for lan966x

Message ID 20220603121802.30320-3-kavyasree.kotagiri@microchip.com (mailing list archive)
State New, archived
Headers show
Series Add support for lan966x flexcom chip-select configuration | expand

Commit Message

Kavyasree Kotagiri June 3, 2022, 12:18 p.m. UTC
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 <kavyasree.kotagiri@microchip.com>
---
 .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

Comments

Rob Herring (Arm) June 3, 2022, 8:36 p.m. UTC | #1
On Fri, Jun 03, 2022 at 05:48:01PM +0530, Kavyasree Kotagiri wrote:
> 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 <kavyasree.kotagiri@microchip.com>
> ---
>  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> index 221bd840b49e..6050482ad8ef 100644
> --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> @@ -16,7 +16,9 @@ description:
>  
>  properties:
>    compatible:
> -    const: atmel,sama5d2-flexcom
> +    enum:
> +      - atmel,sama5d2-flexcom
> +      - microchip,lan966x-flexcom
>  
>    reg:
>      maxItems: 1
> @@ -46,6 +48,21 @@ 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

The driver seems to think this is an array.

> +    minimum: 0
> +    maximum: 20
> +
> +  microchip,flx-cs-names:
> +    description: Chip select names. "cts", "rts" for flexcom USART "CTS" and
> +      "RTS" lines. "cs0", "cs1" for flexcom SPI chip-select lines.
> +    items:
> +      enum: [ cs0, cs1, cts, rts ]
> +    minItems: 1
> +    maxItems: 2
> +
>  patternProperties:
>    "^serial@[0-9a-f]+$":
>      description: See atmel-usart.txt for details of USART bindings.
> @@ -80,6 +97,8 @@ examples:
>            #size-cells = <1>;
>            ranges = <0x0 0xf8034000 0x800>;
>            atmel,flexcom-mode = <2>;
> +          microchip,flx-shrd-pins = <9>;
> +          microchip,flx-cs-names = "cs0";
>  
>            spi0: spi@400 {
>                  compatible = "atmel,at91rm9200-spi";
> -- 
> 2.17.1
> 
>
Krzysztof Kozlowski June 6, 2022, 1:03 p.m. UTC | #2
On 03/06/2022 14:18, Kavyasree Kotagiri wrote:
> 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 <kavyasree.kotagiri@microchip.com>
> ---
>  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> index 221bd840b49e..6050482ad8ef 100644
> --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> @@ -16,7 +16,9 @@ description:
>  
>  properties:
>    compatible:
> -    const: atmel,sama5d2-flexcom
> +    enum:
> +      - atmel,sama5d2-flexcom
> +      - microchip,lan966x-flexcom

Your new v1 is here worse than old v2, where this was just simple
extension of existing enum. Why did you change it?


Best regards,
Krzysztof
Kavyasree Kotagiri June 6, 2022, 1:28 p.m. UTC | #3
> > 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 <kavyasree.kotagiri@microchip.com>
> > ---
> >  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
> >  1 file changed, 20 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > index 221bd840b49e..6050482ad8ef 100644
> > --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> > @@ -16,7 +16,9 @@ description:
> >
> >  properties:
> >    compatible:
> > -    const: atmel,sama5d2-flexcom
> > +    enum:
> > +      - atmel,sama5d2-flexcom
> > +      - microchip,lan966x-flexcom
> 
> Your new v1 is here worse than old v2, where this was just simple
> extension of existing enum. Why did you change it?
> 
I introduced new compatible string for lan966x and also I have new DT properties 
"microchip,flx-shrd-pins" and "microchip,flx-cs-names".
> 
> Best regards,
> Krzysztof
Krzysztof Kozlowski June 7, 2022, 7:05 a.m. UTC | #4
On 06/06/2022 15:28, Kavyasree.Kotagiri@microchip.com wrote:
>>> 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 <kavyasree.kotagiri@microchip.com>
>>> ---
>>>  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
>>>  1 file changed, 20 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>> b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>> index 221bd840b49e..6050482ad8ef 100644
>>> --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>> @@ -16,7 +16,9 @@ description:
>>>
>>>  properties:
>>>    compatible:
>>> -    const: atmel,sama5d2-flexcom
>>> +    enum:
>>> +      - atmel,sama5d2-flexcom
>>> +      - microchip,lan966x-flexcom
>>
>> Your new v1 is here worse than old v2, where this was just simple
>> extension of existing enum. Why did you change it?
>>
> I introduced new compatible string for lan966x and also I have new DT properties 
> "microchip,flx-shrd-pins" and "microchip,flx-cs-names".

v1 also had the new compatible, hadn't it? The difference is in the enum
- before you did not modify this line. Less code in the diff...


Best regards,
Krzysztof
Kavyasree Kotagiri June 7, 2022, 7:54 a.m. UTC | #5
> >>> 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 <kavyasree.kotagiri@microchip.com>
> >>> ---
> >>>  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
> >>>  1 file changed, 20 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >> b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >>> index 221bd840b49e..6050482ad8ef 100644
> >>> --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >>> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
> >>> @@ -16,7 +16,9 @@ description:
> >>>
> >>>  properties:
> >>>    compatible:
> >>> -    const: atmel,sama5d2-flexcom
> >>> +    enum:
> >>> +      - atmel,sama5d2-flexcom
> >>> +      - microchip,lan966x-flexcom
> >>
> >> Your new v1 is here worse than old v2, where this was just simple
> >> extension of existing enum. Why did you change it?
> >>
> > I introduced new compatible string for lan966x and also I have new DT
> properties
> > "microchip,flx-shrd-pins" and "microchip,flx-cs-names".
> 
> v1 also had the new compatible, hadn't it? The difference is in the enum
> - before you did not modify this line. Less code in the diff...
> 
Yes, previous patch series also had new compatible which introduced new mux DT properties in atmel-flexcom.yaml and mux driver.
As part of review comments from Peter Rosin on driver part, Mux implementation is dropped. Please ignore previous patch series. Now, flexcom chip-select support is done in atme-flexcom.c driver. So, I started new patch series now which introduced new DT properties "microchip,flx-shrd-pins" and "microchip,flx-cs-names" and driver changes only in atmel-flexcom.c driver.
> 
> Best regards,
> Krzysztof
Krzysztof Kozlowski June 7, 2022, 7:56 a.m. UTC | #6
On 07/06/2022 09:54, Kavyasree.Kotagiri@microchip.com wrote:
>>>>> 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 <kavyasree.kotagiri@microchip.com>
>>>>> ---
>>>>>  .../bindings/mfd/atmel,flexcom.yaml           | 21 ++++++++++++++++++-
>>>>>  1 file changed, 20 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>>> b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>>>> index 221bd840b49e..6050482ad8ef 100644
>>>>> --- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>>>> +++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
>>>>> @@ -16,7 +16,9 @@ description:
>>>>>
>>>>>  properties:
>>>>>    compatible:
>>>>> -    const: atmel,sama5d2-flexcom
>>>>> +    enum:
>>>>> +      - atmel,sama5d2-flexcom
>>>>> +      - microchip,lan966x-flexcom
>>>>
>>>> Your new v1 is here worse than old v2, where this was just simple
>>>> extension of existing enum. Why did you change it?
>>>>
>>> I introduced new compatible string for lan966x and also I have new DT
>> properties
>>> "microchip,flx-shrd-pins" and "microchip,flx-cs-names".
>>
>> v1 also had the new compatible, hadn't it? The difference is in the enum
>> - before you did not modify this line. Less code in the diff...
>>
> Yes, previous patch series also had new compatible which introduced new mux DT properties in atmel-flexcom.yaml and mux driver.
> As part of review comments from Peter Rosin on driver part, Mux implementation is dropped. Please ignore previous patch series. Now, flexcom chip-select support is done in atme-flexcom.c driver. So, I started new patch series now which introduced new DT properties "microchip,flx-shrd-pins" and "microchip,flx-cs-names" and driver changes only in atmel-flexcom.c driver.

We talk only about the hunk here, not about other properties.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
index 221bd840b49e..6050482ad8ef 100644
--- a/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
+++ b/Documentation/devicetree/bindings/mfd/atmel,flexcom.yaml
@@ -16,7 +16,9 @@  description:
 
 properties:
   compatible:
-    const: atmel,sama5d2-flexcom
+    enum:
+      - atmel,sama5d2-flexcom
+      - microchip,lan966x-flexcom
 
   reg:
     maxItems: 1
@@ -46,6 +48,21 @@  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
+    minimum: 0
+    maximum: 20
+
+  microchip,flx-cs-names:
+    description: Chip select names. "cts", "rts" for flexcom USART "CTS" and
+      "RTS" lines. "cs0", "cs1" for flexcom SPI chip-select lines.
+    items:
+      enum: [ cs0, cs1, cts, rts ]
+    minItems: 1
+    maxItems: 2
+
 patternProperties:
   "^serial@[0-9a-f]+$":
     description: See atmel-usart.txt for details of USART bindings.
@@ -80,6 +97,8 @@  examples:
           #size-cells = <1>;
           ranges = <0x0 0xf8034000 0x800>;
           atmel,flexcom-mode = <2>;
+          microchip,flx-shrd-pins = <9>;
+          microchip,flx-cs-names = "cs0";
 
           spi0: spi@400 {
                 compatible = "atmel,at91rm9200-spi";