xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt (revision e5451c8f8330e03ad3cfa16048b4daf961af434f)
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