| * Pin-controller driver for the Marvell Berlin SoCs |
| |
| 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. |
| |
| Required properties: |
| - compatible: should be one of: |
| "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" |
| |
| Required subnode-properties: |
| - groups: a list of strings describing the group names. |
| - function: a string describing the function used to mux the groups. |
| |
| Example: |
| |
| sys_pinctrl: pin-controller { |
| compatible = "marvell,berlin2q-system-pinctrl"; |
| |
| uart0_pmux: uart0-pmux { |
| groups = "GSM12"; |
| function = "uart0"; |
| }; |
| }; |
| |
| &uart0 { |
| pinctrl-0 = <&uart0_pmux>; |
| pinctrl-names = "default"; |
| }; |