1*c66ec88fSEmmanuel Vadot* Pin-controller driver for the Marvell Berlin SoCs 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotPin control registers are part of both chip controller and system 4*c66ec88fSEmmanuel Vadotcontroller register sets. Pin controller nodes should be a sub-node of 5*c66ec88fSEmmanuel Vadoteither the chip controller or system controller node. The pins 6*c66ec88fSEmmanuel Vadotcontrolled are organized in groups, so no actual pin information is 7*c66ec88fSEmmanuel Vadotneeded. 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel VadotA pin-controller node should contain subnodes representing the pin group 10*c66ec88fSEmmanuel Vadotconfigurations, one per function. Each subnode has the group name and 11*c66ec88fSEmmanuel Vadotthe muxing function used. 12*c66ec88fSEmmanuel Vadot 13*c66ec88fSEmmanuel VadotBe aware the Marvell Berlin datasheets use the keyword 'mode' for what 14*c66ec88fSEmmanuel Vadotis called a 'function' in the pin-controller subsystem. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel VadotRequired properties: 17*c66ec88fSEmmanuel Vadot- compatible: should be one of: 18*c66ec88fSEmmanuel Vadot "marvell,berlin2-soc-pinctrl", 19*c66ec88fSEmmanuel Vadot "marvell,berlin2-system-pinctrl", 20*c66ec88fSEmmanuel Vadot "marvell,berlin2cd-soc-pinctrl", 21*c66ec88fSEmmanuel Vadot "marvell,berlin2cd-system-pinctrl", 22*c66ec88fSEmmanuel Vadot "marvell,berlin2q-soc-pinctrl", 23*c66ec88fSEmmanuel Vadot "marvell,berlin2q-system-pinctrl", 24*c66ec88fSEmmanuel Vadot "marvell,berlin4ct-avio-pinctrl", 25*c66ec88fSEmmanuel Vadot "marvell,berlin4ct-soc-pinctrl", 26*c66ec88fSEmmanuel Vadot "marvell,berlin4ct-system-pinctrl", 27*c66ec88fSEmmanuel Vadot "syna,as370-soc-pinctrl" 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel VadotRequired subnode-properties: 30*c66ec88fSEmmanuel Vadot- groups: a list of strings describing the group names. 31*c66ec88fSEmmanuel Vadot- function: a string describing the function used to mux the groups. 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel VadotExample: 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadotsys_pinctrl: pin-controller { 36*c66ec88fSEmmanuel Vadot compatible = "marvell,berlin2q-system-pinctrl"; 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot uart0_pmux: uart0-pmux { 39*c66ec88fSEmmanuel Vadot groups = "GSM12"; 40*c66ec88fSEmmanuel Vadot function = "uart0"; 41*c66ec88fSEmmanuel Vadot }; 42*c66ec88fSEmmanuel Vadot}; 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadot&uart0 { 45*c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_pmux>; 46*c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 47*c66ec88fSEmmanuel Vadot}; 48