162306a36Sopenharmony_ci* Pin-controller driver for the Marvell Berlin SoCs
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciPin control registers are part of both chip controller and system
462306a36Sopenharmony_cicontroller register sets. Pin controller nodes should be a sub-node of
562306a36Sopenharmony_cieither the chip controller or system controller node. The pins
662306a36Sopenharmony_cicontrolled are organized in groups, so no actual pin information is
762306a36Sopenharmony_cineeded.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciA pin-controller node should contain subnodes representing the pin group
1062306a36Sopenharmony_ciconfigurations, one per function. Each subnode has the group name and
1162306a36Sopenharmony_cithe muxing function used.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciBe aware the Marvell Berlin datasheets use the keyword 'mode' for what
1462306a36Sopenharmony_ciis called a 'function' in the pin-controller subsystem.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciRequired properties:
1762306a36Sopenharmony_ci- compatible: should be one of:
1862306a36Sopenharmony_ci	"marvell,berlin2-soc-pinctrl",
1962306a36Sopenharmony_ci	"marvell,berlin2-system-pinctrl",
2062306a36Sopenharmony_ci	"marvell,berlin2cd-soc-pinctrl",
2162306a36Sopenharmony_ci	"marvell,berlin2cd-system-pinctrl",
2262306a36Sopenharmony_ci	"marvell,berlin2q-soc-pinctrl",
2362306a36Sopenharmony_ci	"marvell,berlin2q-system-pinctrl",
2462306a36Sopenharmony_ci	"marvell,berlin4ct-avio-pinctrl",
2562306a36Sopenharmony_ci	"marvell,berlin4ct-soc-pinctrl",
2662306a36Sopenharmony_ci	"marvell,berlin4ct-system-pinctrl",
2762306a36Sopenharmony_ci	"syna,as370-soc-pinctrl"
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciRequired subnode-properties:
3062306a36Sopenharmony_ci- groups: a list of strings describing the group names.
3162306a36Sopenharmony_ci- function: a string describing the function used to mux the groups.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciExample:
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cisys_pinctrl: pin-controller {
3662306a36Sopenharmony_ci	compatible = "marvell,berlin2q-system-pinctrl";
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	uart0_pmux: uart0-pmux {
3962306a36Sopenharmony_ci		groups = "GSM12";
4062306a36Sopenharmony_ci		function = "uart0";
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci&uart0 {
4562306a36Sopenharmony_ci	pinctrl-0 = <&uart0_pmux>;
4662306a36Sopenharmony_ci	pinctrl-names = "default";
4762306a36Sopenharmony_ci};
48