18c2ecf20Sopenharmony_ci* Pin-controller driver for the Marvell Berlin SoCs
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciPin control registers are part of both chip controller and system
48c2ecf20Sopenharmony_cicontroller register sets. Pin controller nodes should be a sub-node of
58c2ecf20Sopenharmony_cieither the chip controller or system controller node. The pins
68c2ecf20Sopenharmony_cicontrolled are organized in groups, so no actual pin information is
78c2ecf20Sopenharmony_cineeded.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciA pin-controller node should contain subnodes representing the pin group
108c2ecf20Sopenharmony_ciconfigurations, one per function. Each subnode has the group name and
118c2ecf20Sopenharmony_cithe muxing function used.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciBe aware the Marvell Berlin datasheets use the keyword 'mode' for what
148c2ecf20Sopenharmony_ciis called a 'function' in the pin-controller subsystem.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciRequired properties:
178c2ecf20Sopenharmony_ci- compatible: should be one of:
188c2ecf20Sopenharmony_ci	"marvell,berlin2-soc-pinctrl",
198c2ecf20Sopenharmony_ci	"marvell,berlin2-system-pinctrl",
208c2ecf20Sopenharmony_ci	"marvell,berlin2cd-soc-pinctrl",
218c2ecf20Sopenharmony_ci	"marvell,berlin2cd-system-pinctrl",
228c2ecf20Sopenharmony_ci	"marvell,berlin2q-soc-pinctrl",
238c2ecf20Sopenharmony_ci	"marvell,berlin2q-system-pinctrl",
248c2ecf20Sopenharmony_ci	"marvell,berlin4ct-avio-pinctrl",
258c2ecf20Sopenharmony_ci	"marvell,berlin4ct-soc-pinctrl",
268c2ecf20Sopenharmony_ci	"marvell,berlin4ct-system-pinctrl",
278c2ecf20Sopenharmony_ci	"syna,as370-soc-pinctrl"
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciRequired subnode-properties:
308c2ecf20Sopenharmony_ci- groups: a list of strings describing the group names.
318c2ecf20Sopenharmony_ci- function: a string describing the function used to mux the groups.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciExample:
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_cisys_pinctrl: pin-controller {
368c2ecf20Sopenharmony_ci	compatible = "marvell,berlin2q-system-pinctrl";
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci	uart0_pmux: uart0-pmux {
398c2ecf20Sopenharmony_ci		groups = "GSM12";
408c2ecf20Sopenharmony_ci		function = "uart0";
418c2ecf20Sopenharmony_ci	};
428c2ecf20Sopenharmony_ci};
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci&uart0 {
458c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart0_pmux>;
468c2ecf20Sopenharmony_ci	pinctrl-names = "default";
478c2ecf20Sopenharmony_ci};
48