Message ID | b59afc497e41404fea06aa48d633cba183ee944d.1573797249.git.rahul.tanwar@linux.intel.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | pinctrl: Add new pinctrl/GPIO driver | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success | |
robh/dt-meta-schema | success |
On Fri, Nov 15, 2019 at 10:25 AM Rahul Tanwar <rahul.tanwar@linux.intel.com> wrote: > Add dt bindings document for pinmux & GPIO controller driver of > Intel Lightning Mountain SoC. > > Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com> Patch applied, you worked hard to get these bindings done in the right YAML format and all. I have some generic bindings from Rob merged simultaneously so it'd be great if you could investigate whether it is possible to follow up with a patch to switch over from some of the local grammar and toward including pinmux-node.yaml and pincfg-node.yaml into these bindings. The method for inclusion of external generic files can be seen in e.g. the display panel bindings, like how panel-common.yaml is included into other bindings under display/panel/*.yaml. Tell us if you have any problems with this! Yours, Linus Walleij
Hi Linus, On 21/11/2019 9:53 PM, Linus Walleij wrote: > On Fri, Nov 15, 2019 at 10:25 AM Rahul Tanwar > <rahul.tanwar@linux.intel.com> wrote: > >> Add dt bindings document for pinmux & GPIO controller driver of >> Intel Lightning Mountain SoC. >> >> Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com> > Patch applied, you worked hard to get these bindings done in the > right YAML format and all. > > I have some generic bindings from Rob merged simultaneously > so it'd be great if you could investigate whether it is possible > to follow up with a patch to switch over from some of the local > grammar and toward including pinmux-node.yaml and > pincfg-node.yaml into these bindings. > > The method for inclusion of external generic files can be seen > in e.g. the display panel bindings, like how > panel-common.yaml is included into other bindings under > display/panel/*.yaml. > > Tell us if you have any problems with this! Thanks. Yes, i have gone through Rob's generic pinctrl bindings patch seriesand i was double minded if you should still proceed with this patch or waitfor generic bindings patch to get merged. I will take it up to revise this patch to include external generic files from Robas soon as kernel 5.5 is released. Regards, Rahul
On 22/11/2019 10:24 AM, Tanwar, Rahul wrote: > Hi Linus, > > On 21/11/2019 9:53 PM, Linus Walleij wrote: >> On Fri, Nov 15, 2019 at 10:25 AM Rahul Tanwar >> <rahul.tanwar@linux.intel.com> wrote: >> >>> Add dt bindings document for pinmux & GPIO controller driver of >>> Intel Lightning Mountain SoC. >>> >>> Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com> >> Patch applied, you worked hard to get these bindings done in the >> right YAML format and all. >> >> I have some generic bindings from Rob merged simultaneously >> so it'd be great if you could investigate whether it is possible >> to follow up with a patch to switch over from some of the local >> grammar and toward including pinmux-node.yaml and >> pincfg-node.yaml into these bindings. >> >> The method for inclusion of external generic files can be seen >> in e.g. the display panel bindings, like how >> panel-common.yaml is included into other bindings under >> display/panel/*.yaml. >> >> Tell us if you have any problems with this! > Thanks. Yes, i have gone through Rob's generic pinctrl bindings patch > series and i was double minded if *i should still proceed with this > patch or wait for generic bindings patch to get merged. > > I will take it up to revise this patch to include external generic > files from Rob as soon as kernel 5.5 is released. *Fix typo above. > Regards, > Rahul
On Fri, Nov 22, 2019 at 3:24 AM Tanwar, Rahul <rahul.tanwar@linux.intel.com> wrote: > Thanks. Yes, i have gone through Rob's generic pinctrl bindings patch > seriesand i was double minded if you should still proceed with this > patch or waitfor generic bindings patch to get merged. It's a compromise actually. It's a bit of struggle and tough sometimes since I care both about the kernel and the autonomy of the DT bindings communities. We are in a transition phase to YAML bindings, and what is important for me as maintainer is to have developer buy-in, and it is more motivating for developers to work on this in-tree than having patches held back. I personally know how important it is to feel that things move forward in development. Now it should be a separate task on top of what we have, which is less stressful and gives the feeling of a bit of accomplishment. When the new generic YAML bindings are proven to work on two drivers or so I will be more demanding that people use them in their bindings from day 1. But we need to make sure it works first and that is a separate task. Yours, Linus Walleij
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..240d429f773b --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml @@ -0,0 +1,116 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%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@linux.intel.com> + +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-io + + 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. + + groups: + $ref: /schemas/types.yaml#/definitions/string-array + description: + An array of strings identifying the list of groups. + + 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: + description: | + Selects the drive strength for the specified pins in mA. + 0: 2 mA + 1: 4 mA + 2: 8 mA + 3: 12 mA + allOf: + - $ref: /schemas/types.yaml#/definitions/uint32 + - enum: [0, 1, 2, 3] + + slew-rate: + type: boolean + description: | + Sets slew rate for specified pins. + 0: slow slew + 1: fast slew + + drive-open-drain: + type: boolean + + output-enable: + type: boolean + + required: + - function + - groups + + additionalProperties: false + +required: + - compatible + - reg + +additionalProperties: false + +examples: + # Pinmux controller node + - | + pinctrl: pinctrl@e2880000 { + compatible = "intel,lgm-pinctrl"; + reg = <0xe2880000 0x100000>; + + uart0-pins { + pins = <64>, /* UART_RX0 */ + <65>; /* UART_TX0 */ + function = "CONSOLE_UART0"; + pinmux = <1>, + <1>; + groups = "CONSOLE_UART0"; + }; + }; + +...
Add dt bindings document for pinmux & GPIO controller driver of Intel Lightning Mountain SoC. Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com> --- .../bindings/pinctrl/intel,lgm-pinctrl.yaml | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml