17e8d9415SSebastian Hesselbarth* Marvell SoC pinctrl core driver for mpp 27e8d9415SSebastian Hesselbarth 37e8d9415SSebastian HesselbarthThe pinctrl driver enables Marvell SoCs to configure the multi-purpose pins 47e8d9415SSebastian Hesselbarth(mpp) to a specific function. For each SoC family there is a SoC specific 57e8d9415SSebastian Hesselbarthdriver using this core driver. 67e8d9415SSebastian Hesselbarth 77e8d9415SSebastian HesselbarthPlease refer to pinctrl-bindings.txt in this directory for details of the 87e8d9415SSebastian Hesselbarthcommon pinctrl bindings used by client devices, including the meaning of the 97e8d9415SSebastian Hesselbarthphrase "pin configuration node". 107e8d9415SSebastian Hesselbarth 117e8d9415SSebastian HesselbarthA Marvell SoC pin configuration node is a node of a group of pins which can 127e8d9415SSebastian Hesselbarthbe used for a specific device or function. Each node requires one or more 137e8d9415SSebastian Hesselbarthmpp pins or group of pins and a mpp function common to all pins. 147e8d9415SSebastian Hesselbarth 157e8d9415SSebastian HesselbarthRequired properties for pinctrl driver: 167e8d9415SSebastian Hesselbarth- compatible: "marvell,<soc>-pinctrl" 177e8d9415SSebastian Hesselbarth Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs. 187e8d9415SSebastian Hesselbarth 197e8d9415SSebastian HesselbarthRequired properties for pin configuration node: 207e8d9415SSebastian Hesselbarth- marvell,pins: string array of mpp pins or group of pins to be muxed. 217e8d9415SSebastian Hesselbarth- marvell,function: string representing a function to mux to for all 227e8d9415SSebastian Hesselbarth marvell,pins given in this pin configuration node. The function has to be 237e8d9415SSebastian Hesselbarth common for all marvell,pins. Please refer to marvell,<soc>-pinctrl.txt for 247e8d9415SSebastian Hesselbarth valid pin/pin group names and available function names for each SoC. 257e8d9415SSebastian Hesselbarth 267e8d9415SSebastian HesselbarthExamples: 277e8d9415SSebastian Hesselbarth 287e8d9415SSebastian Hesselbarthuart1: serial@12100 { 297e8d9415SSebastian Hesselbarth compatible = "ns16550a"; 307e8d9415SSebastian Hesselbarth reg = <0x12100 0x100>; 317e8d9415SSebastian Hesselbarth reg-shift = <2>; 327e8d9415SSebastian Hesselbarth interrupts = <7>; 337e8d9415SSebastian Hesselbarth 347e8d9415SSebastian Hesselbarth pinctrl-0 = <&pmx_uart1_sw>; 357e8d9415SSebastian Hesselbarth pinctrl-names = "default"; 367e8d9415SSebastian Hesselbarth}; 377e8d9415SSebastian Hesselbarth 387e8d9415SSebastian Hesselbarthpinctrl: pinctrl@d0200 { 397e8d9415SSebastian Hesselbarth compatible = "marvell,dove-pinctrl"; 40*356ca6ceSSebastian Hesselbarth reg = <0xd0200 0x14>, <0xd0440 0x04>, <0xd802c 0x08>; 417e8d9415SSebastian Hesselbarth 427e8d9415SSebastian Hesselbarth pmx_uart1_sw: pmx-uart1-sw { 437e8d9415SSebastian Hesselbarth marvell,pins = "mpp_uart1"; 447e8d9415SSebastian Hesselbarth marvell,function = "uart1"; 457e8d9415SSebastian Hesselbarth }; 467e8d9415SSebastian Hesselbarth}; 47