166fa300eSAntoine Tenart* Pin-controller driver for the Marvell Berlin SoCs
266fa300eSAntoine Tenart
366fa300eSAntoine TenartPin control registers are part of both chip controller and system
466fa300eSAntoine Tenartcontroller register sets. Pin controller nodes should be a sub-node of
566fa300eSAntoine Tenarteither the chip controller or system controller node. The pins
666fa300eSAntoine Tenartcontrolled are organized in groups, so no actual pin information is
766fa300eSAntoine Tenartneeded.
866fa300eSAntoine Tenart
966fa300eSAntoine TenartA pin-controller node should contain subnodes representing the pin group
1066fa300eSAntoine Tenartconfigurations, one per function. Each subnode has the group name and
1166fa300eSAntoine Tenartthe muxing function used.
1266fa300eSAntoine Tenart
1366fa300eSAntoine TenartBe aware the Marvell Berlin datasheets use the keyword 'mode' for what
1466fa300eSAntoine Tenartis called a 'function' in the pin-controller subsystem.
1566fa300eSAntoine Tenart
1666fa300eSAntoine TenartRequired properties:
1766fa300eSAntoine Tenart- compatible: should be one of:
1866fa300eSAntoine Tenart	"marvell,berlin2-soc-pinctrl",
1966fa300eSAntoine Tenart	"marvell,berlin2-system-pinctrl",
2066fa300eSAntoine Tenart	"marvell,berlin2cd-soc-pinctrl",
2166fa300eSAntoine Tenart	"marvell,berlin2cd-system-pinctrl",
2266fa300eSAntoine Tenart	"marvell,berlin2q-soc-pinctrl",
23c55a7746SJisheng Zhang	"marvell,berlin2q-system-pinctrl",
24c55a7746SJisheng Zhang	"marvell,berlin4ct-avio-pinctrl",
25c55a7746SJisheng Zhang	"marvell,berlin4ct-soc-pinctrl",
26d0ec2e9cSJisheng Zhang	"marvell,berlin4ct-system-pinctrl",
27d0ec2e9cSJisheng Zhang	"syna,as370-soc-pinctrl"
2866fa300eSAntoine Tenart
2966fa300eSAntoine TenartRequired subnode-properties:
3066fa300eSAntoine Tenart- groups: a list of strings describing the group names.
3166fa300eSAntoine Tenart- function: a string describing the function used to mux the groups.
3266fa300eSAntoine Tenart
3366fa300eSAntoine TenartExample:
3466fa300eSAntoine Tenart
3566fa300eSAntoine Tenartsys_pinctrl: pin-controller {
3666fa300eSAntoine Tenart	compatible = "marvell,berlin2q-system-pinctrl";
3766fa300eSAntoine Tenart
3866fa300eSAntoine Tenart	uart0_pmux: uart0-pmux {
3966fa300eSAntoine Tenart		groups = "GSM12";
4066fa300eSAntoine Tenart		function = "uart0";
4166fa300eSAntoine Tenart	};
4266fa300eSAntoine Tenart};
4366fa300eSAntoine Tenart
4466fa300eSAntoine Tenart&uart0 {
4566fa300eSAntoine Tenart	pinctrl-0 = <&uart0_pmux>;
4666fa300eSAntoine Tenart	pinctrl-names = "default";
4766fa300eSAntoine Tenart};
48