Re: [PATCH v6 2/2] dt-bindings: pinctrl: intel: Add for new SoC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rob,

Thanks for feedback.

On 13/11/2019 3:14 AM, Rob Herring wrote:
> On Mon, Nov 11, 2019 at 06:11:30PM +0800, Rahul Tanwar wrote:
>> Add dt bindings document for pinmux & GPIO controller driver of
>> Intel Lightning Mountain SoC.
>>
>> Signed-off-by: Rahul Tanwar <rahul.tanwar@xxxxxxxxxxxxxxx>
>> ---
>>  .../bindings/pinctrl/intel,lgm-pinctrl.yaml        | 98 ++++++++++++++++++++++
>>  1 file changed, 98 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
>> new file mode 100644
>> index 000000000000..d54a3bda1f4f
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
>> @@ -0,0 +1,98 @@
>> +# SPDX-License-Identifier: GPL-2.0-only
> For new bindings:
>
> # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

Well noted.

>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-pinctrl.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Intel Lightning Mountain SoC pinmux & GPIO controller binding
>> +
>> +maintainers:
>> +  - Rahul Tanwar <rahul.tanwar@xxxxxxxxxxxxxxx>
>> +
>> +description: |
>> +  Pinmux & GPIO controller controls pin multiplexing & configuration including
>> +  GPIO function selection & GPIO attributes configuration.
>> +
>> +  Please refer to [1] for details of the common pinctrl bindings used by the
>> +  client devices.
>> +
>> +  [1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
>> +
>> +properties:
>> +  compatible:
>> +    const: intel,lgm-pinctrl
>> +
>> +  reg:
>> +    maxItems: 1
>> +
>> +# Client device subnode's properties
>> +patternProperties:
>> +  '-pins$':
>> +    type: object
>> +    description:
>> +      Pinctrl node's client devices use subnodes for desired pin configuration.
>> +      Client device subnodes use below standard properties.
>> +
>> +    properties:
>> +      function:
>> +        $ref: /schemas/types.yaml#/definitions/string
>> +        description:
>> +          A string containing the name of the function to mux to the group.
> Possible strings should be listed out here.

Possible number of strings here is a huge number. I agree that it makes
sense to list out the possible strings here but when the possible strings
are huge, can we just omit specifying all of the strings ? I see many
examples here where they only specify the string in examples.

>> +
>> +      groups:
>> +        $ref: /schemas/types.yaml#/definitions/string-array
>> +        description:
>> +          An array of strings identifying the list of groups.
> Possible strings should be listed out here.

Same point for groups. Too many strings to list out here.

>> +
>> +      pins:
>> +        $ref: /schemas/types.yaml#/definitions/uint32-array
>> +        description:
>> +          List of pins to select with this function.
>> +
>> +      pinmux:
>> +        description: The applicable mux group.
>> +        allOf:
>> +          - $ref: "/schemas/types.yaml#/definitions/uint32-array"
>> +
>> +      bias-pull-up:
>> +        type: boolean
>> +      bias-pull-down:
>> +        type: boolean
>> +      drive-strength:
>> +        type: boolean
> Not a boolean. Need to define possible values.

Agree. My mistake. Will fix it on v7.

>> +      slew-rate:
>> +        type: boolean
> Not a boolean. Need to define possible values.

In our case, 0 here means slow slew & 1 means fast slew. There are no other
possible values. Probably, i can add it in description while keeping data
type as boolean.

>> +      drive-open-drain:
>> +        type: boolean
>> +      output-enable:
>> +        type: boolean
>> +
>> +    required:
>> +      - function
>> +      - groups
> For the -pins nodes too:
>
>        additionalProperties: false

Well noted.

>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  # Pinmux controller node
>> +  - |
>> +    pinctrl: pinctrl@e2880000 {
>> +          compatible = "intel,lgm-pinctrl";
>> +          reg = <0xe2880000 0x100000>;
>> +
>> +          # Client device subnode
>> +          uart0-pins: uart0 {
> This fails 'make dt_binding_check'. Please fix and run that.

Will run & fix it in v7. Thanks.

Regards,
Rahul





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux