Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: pinctrl: intel: Update to use generic bindings

Kernel 5.5 adds generic pin mux & cfg node schema. Update pinctrl bindings
for LGM to use these newly added schemas. Also, rename filename to match
the compatible string.

Signed-off-by: Rahul Tanwar <rahul.tanwar@linux.intel.com>
Link: https://lore.kernel.org/r/20191218062024.25475-1-rahul.tanwar@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Rahul Tanwar and committed by
Linus Walleij
0434cd27 48057464

+76 -116
+76
Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-io.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Intel Lightning Mountain SoC pinmux & GPIO controller binding 8 + 9 + maintainers: 10 + - Rahul Tanwar <rahul.tanwar@linux.intel.com> 11 + 12 + description: | 13 + Pinmux & GPIO controller controls pin multiplexing & configuration including 14 + GPIO function selection & GPIO attributes configuration. 15 + 16 + allOf: 17 + - $ref: pincfg-node.yaml# 18 + - $ref: pinmux-node.yaml# 19 + 20 + properties: 21 + compatible: 22 + const: intel,lgm-io 23 + 24 + reg: 25 + maxItems: 1 26 + 27 + # Client device subnode's properties 28 + patternProperties: 29 + '-pins$': 30 + type: object 31 + description: 32 + Pinctrl node's client devices use subnodes for desired pin configuration. 33 + Client device subnodes use below standard properties. 34 + 35 + properties: 36 + function: true 37 + group: true 38 + pins: true 39 + pinmux: true 40 + bias-pull-up: true 41 + bias-pull-down: true 42 + drive-strength: true 43 + slew-rate: true 44 + drive-open-drain: true 45 + output-enable: true 46 + 47 + required: 48 + - function 49 + - group 50 + 51 + additionalProperties: false 52 + 53 + required: 54 + - compatible 55 + - reg 56 + 57 + additionalProperties: false 58 + 59 + examples: 60 + # Pinmux controller node 61 + - | 62 + pinctrl: pinctrl@e2880000 { 63 + compatible = "intel,lgm-io"; 64 + reg = <0xe2880000 0x100000>; 65 + 66 + uart0-pins { 67 + pins = <64>, /* UART_RX0 */ 68 + <65>; /* UART_TX0 */ 69 + function = "CONSOLE_UART0"; 70 + pinmux = <1>, 71 + <1>; 72 + groups = "CONSOLE_UART0"; 73 + }; 74 + }; 75 + 76 + ...
-116
Documentation/devicetree/bindings/pinctrl/intel,lgm-pinctrl.yaml
··· 1 - # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 - %YAML 1.2 3 - --- 4 - $id: http://devicetree.org/schemas/bindings/pinctrl/intel,lgm-pinctrl.yaml# 5 - $schema: http://devicetree.org/meta-schemas/core.yaml# 6 - 7 - title: Intel Lightning Mountain SoC pinmux & GPIO controller binding 8 - 9 - maintainers: 10 - - Rahul Tanwar <rahul.tanwar@linux.intel.com> 11 - 12 - description: | 13 - Pinmux & GPIO controller controls pin multiplexing & configuration including 14 - GPIO function selection & GPIO attributes configuration. 15 - 16 - Please refer to [1] for details of the common pinctrl bindings used by the 17 - client devices. 18 - 19 - [1] Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt 20 - 21 - properties: 22 - compatible: 23 - const: intel,lgm-io 24 - 25 - reg: 26 - maxItems: 1 27 - 28 - # Client device subnode's properties 29 - patternProperties: 30 - '-pins$': 31 - type: object 32 - description: 33 - Pinctrl node's client devices use subnodes for desired pin configuration. 34 - Client device subnodes use below standard properties. 35 - 36 - properties: 37 - function: 38 - $ref: /schemas/types.yaml#/definitions/string 39 - description: 40 - A string containing the name of the function to mux to the group. 41 - 42 - groups: 43 - $ref: /schemas/types.yaml#/definitions/string-array 44 - description: 45 - An array of strings identifying the list of groups. 46 - 47 - pins: 48 - $ref: /schemas/types.yaml#/definitions/uint32-array 49 - description: 50 - List of pins to select with this function. 51 - 52 - pinmux: 53 - description: The applicable mux group. 54 - allOf: 55 - - $ref: "/schemas/types.yaml#/definitions/uint32-array" 56 - 57 - bias-pull-up: 58 - type: boolean 59 - 60 - bias-pull-down: 61 - type: boolean 62 - 63 - drive-strength: 64 - description: | 65 - Selects the drive strength for the specified pins in mA. 66 - 0: 2 mA 67 - 1: 4 mA 68 - 2: 8 mA 69 - 3: 12 mA 70 - allOf: 71 - - $ref: /schemas/types.yaml#/definitions/uint32 72 - - enum: [0, 1, 2, 3] 73 - 74 - slew-rate: 75 - type: boolean 76 - description: | 77 - Sets slew rate for specified pins. 78 - 0: slow slew 79 - 1: fast slew 80 - 81 - drive-open-drain: 82 - type: boolean 83 - 84 - output-enable: 85 - type: boolean 86 - 87 - required: 88 - - function 89 - - groups 90 - 91 - additionalProperties: false 92 - 93 - required: 94 - - compatible 95 - - reg 96 - 97 - additionalProperties: false 98 - 99 - examples: 100 - # Pinmux controller node 101 - - | 102 - pinctrl: pinctrl@e2880000 { 103 - compatible = "intel,lgm-pinctrl"; 104 - reg = <0xe2880000 0x100000>; 105 - 106 - uart0-pins { 107 - pins = <64>, /* UART_RX0 */ 108 - <65>; /* UART_TX0 */ 109 - function = "CONSOLE_UART0"; 110 - pinmux = <1>, 111 - <1>; 112 - groups = "CONSOLE_UART0"; 113 - }; 114 - }; 115 - 116 - ...