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