1*c66ec88fSEmmanuel Vadot* Marvell SoC pinctrl core driver for mpp 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe pinctrl driver enables Marvell SoCs to configure the multi-purpose pins 4*c66ec88fSEmmanuel Vadot(mpp) to a specific function. For each SoC family there is a SoC specific 5*c66ec88fSEmmanuel Vadotdriver using this core driver. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotPlease refer to pinctrl-bindings.txt in this directory for details of the 8*c66ec88fSEmmanuel Vadotcommon pinctrl bindings used by client devices, including the meaning of the 9*c66ec88fSEmmanuel Vadotphrase "pin configuration node". 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel VadotA Marvell SoC pin configuration node is a node of a group of pins which can 12*c66ec88fSEmmanuel Vadotbe used for a specific device or function. Each node requires one or more 13*c66ec88fSEmmanuel Vadotmpp pins or group of pins and a mpp function common to all pins. 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel VadotRequired properties for pinctrl driver: 16*c66ec88fSEmmanuel Vadot- compatible: "marvell,<soc>-pinctrl" 17*c66ec88fSEmmanuel Vadot Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs. 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel VadotRequired properties for pin configuration node: 20*c66ec88fSEmmanuel Vadot- marvell,pins: string array of mpp pins or group of pins to be muxed. 21*c66ec88fSEmmanuel Vadot- marvell,function: string representing a function to mux to for all 22*c66ec88fSEmmanuel Vadot marvell,pins given in this pin configuration node. The function has to be 23*c66ec88fSEmmanuel Vadot common for all marvell,pins. Please refer to marvell,<soc>-pinctrl.txt for 24*c66ec88fSEmmanuel Vadot valid pin/pin group names and available function names for each SoC. 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel VadotExamples: 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadotuart1: serial@12100 { 29*c66ec88fSEmmanuel Vadot compatible = "ns16550a"; 30*c66ec88fSEmmanuel Vadot reg = <0x12100 0x100>; 31*c66ec88fSEmmanuel Vadot reg-shift = <2>; 32*c66ec88fSEmmanuel Vadot interrupts = <7>; 33*c66ec88fSEmmanuel Vadot 34*c66ec88fSEmmanuel Vadot pinctrl-0 = <&pmx_uart1_sw>; 35*c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 36*c66ec88fSEmmanuel Vadot}; 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadotpinctrl: pinctrl@d0200 { 39*c66ec88fSEmmanuel Vadot compatible = "marvell,dove-pinctrl"; 40*c66ec88fSEmmanuel Vadot reg = <0xd0200 0x14>, <0xd0440 0x04>, <0xd802c 0x08>; 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot pmx_uart1_sw: pmx-uart1-sw { 43*c66ec88fSEmmanuel Vadot marvell,pins = "mpp_uart1"; 44*c66ec88fSEmmanuel Vadot marvell,function = "uart1"; 45*c66ec88fSEmmanuel Vadot }; 46*c66ec88fSEmmanuel Vadot}; 47