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

Kavyasree.Kotagiri at microchip.com Kavyasree.Kotagiri at microchip.com
Thu Jul 7 00:40:05 PDT 2022


> > @@ -18,9 +18,11 @@ properties:
> >    compatible:
> >      enum:
> >        - atmel,sama5d2-flexcom
> > +      - microchip,lan966x-flexcom
> 
> Don't use wildcards in compatible strings.
> 
Ok. I will change it.
> >
> >    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
> 
> It's not clear how one uses this. It's selecting 2 pins, or a range of
> pins, or ???
> 
I used minItems and maxItems to represent number of entries allowed. Either one shared pin
can be mapped or max of 2 based on pins mapped on board and 0-20 is allowed shared pin numbers.

> > +
> > +  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
> > +
> >  required:
> >    - compatible
> >    - reg
> > @@ -56,6 +79,31 @@ required:
> >    - ranges
> >    - atmel,flexcom-mode
> >
> > +allOf:
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: microchip,lan966x-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:
> > @@ -71,4 +119,19 @@ examples:
> >          ranges = <0x0 0xf8034000 0x800>;
> >          atmel,flexcom-mode = <2>;
> >      };
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> > +
> > +    flx3: flexcom at e0064000 {
> > +        compatible = "microchip,lan966x-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
> >
> >



More information about the linux-arm-kernel mailing list