| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pinctrl/marvell,berlin2-soc-pinctrl.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Marvell Berlin pin-controller driver |
| |
| maintainers: |
| - Antoine Tenart <atenart@kernel.org> |
| - Jisheng Zhang <jszhang@kernel.org> |
| |
| description: > |
| Pin control registers are part of both chip controller and system controller |
| register sets. Pin controller nodes should be a sub-node of either the chip |
| controller or system controller node. The pins controlled are organized in |
| groups, so no actual pin information is needed. |
| |
| A pin-controller node should contain subnodes representing the pin group |
| configurations, one per function. Each subnode has the group name and the |
| muxing function used. |
| |
| Be aware the Marvell Berlin datasheets use the keyword 'mode' for what is |
| called a 'function' in the pin-controller subsystem. |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - marvell,berlin2-soc-pinctrl |
| - marvell,berlin2-system-pinctrl |
| - marvell,berlin2cd-soc-pinctrl |
| - marvell,berlin2cd-system-pinctrl |
| - marvell,berlin2q-soc-pinctrl |
| - marvell,berlin2q-system-pinctrl |
| - marvell,berlin4ct-avio-pinctrl |
| - marvell,berlin4ct-soc-pinctrl |
| - marvell,berlin4ct-system-pinctrl |
| - syna,as370-soc-pinctrl |
| |
| reg: |
| maxItems: 1 |
| |
| additionalProperties: |
| description: Pin group configuration subnodes. |
| type: object |
| $ref: /schemas/pinctrl/pinmux-node.yaml# |
| additionalProperties: false |
| |
| properties: |
| groups: |
| description: List of pin group names. |
| $ref: /schemas/types.yaml#/definitions/string-array |
| |
| function: |
| description: Function used to mux the group. |
| $ref: /schemas/types.yaml#/definitions/string |
| |
| required: |
| - groups |
| - function |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - marvell,berlin4ct-avio-pinctrl |
| - marvell,berlin4ct-soc-pinctrl |
| - marvell,berlin4ct-system-pinctrl |
| - syna,as370-soc-pinctrl |
| then: |
| required: |
| - reg |
| |
| examples: |
| - | |
| pinctrl { |
| compatible = "marvell,berlin2q-system-pinctrl"; |
| |
| uart0-pmux { |
| groups = "GSM12"; |
| function = "uart0"; |
| }; |
| }; |