18c2ecf20Sopenharmony_ci* Marvell SoC pinctrl core driver for mpp
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe pinctrl driver enables Marvell SoCs to configure the multi-purpose pins
48c2ecf20Sopenharmony_ci(mpp) to a specific function. For each SoC family there is a SoC specific
58c2ecf20Sopenharmony_cidriver using this core driver.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciPlease refer to pinctrl-bindings.txt in this directory for details of the
88c2ecf20Sopenharmony_cicommon pinctrl bindings used by client devices, including the meaning of the
98c2ecf20Sopenharmony_ciphrase "pin configuration node".
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciA Marvell SoC pin configuration node is a node of a group of pins which can
128c2ecf20Sopenharmony_cibe used for a specific device or function. Each node requires one or more
138c2ecf20Sopenharmony_cimpp pins or group of pins and a mpp function common to all pins.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciRequired properties for pinctrl driver:
168c2ecf20Sopenharmony_ci- compatible: "marvell,<soc>-pinctrl"
178c2ecf20Sopenharmony_ci  Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciRequired properties for pin configuration node:
208c2ecf20Sopenharmony_ci- marvell,pins: string array of mpp pins or group of pins to be muxed.
218c2ecf20Sopenharmony_ci- marvell,function: string representing a function to mux to for all
228c2ecf20Sopenharmony_ci    marvell,pins given in this pin configuration node. The function has to be
238c2ecf20Sopenharmony_ci    common for all marvell,pins. Please refer to marvell,<soc>-pinctrl.txt for
248c2ecf20Sopenharmony_ci    valid pin/pin group names and available function names for each SoC.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciExamples:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciuart1: serial@12100 {
298c2ecf20Sopenharmony_ci	compatible = "ns16550a";
308c2ecf20Sopenharmony_ci	reg = <0x12100 0x100>;
318c2ecf20Sopenharmony_ci	reg-shift = <2>;
328c2ecf20Sopenharmony_ci	interrupts = <7>;
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	pinctrl-0 = <&pmx_uart1_sw>;
358c2ecf20Sopenharmony_ci	pinctrl-names = "default";
368c2ecf20Sopenharmony_ci};
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_cipinctrl: pinctrl@d0200 {
398c2ecf20Sopenharmony_ci	compatible = "marvell,dove-pinctrl";
408c2ecf20Sopenharmony_ci	reg = <0xd0200 0x14>, <0xd0440 0x04>, <0xd802c 0x08>;
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci	pmx_uart1_sw: pmx-uart1-sw {
438c2ecf20Sopenharmony_ci		marvell,pins = "mpp_uart1";
448c2ecf20Sopenharmony_ci		marvell,function = "uart1";
458c2ecf20Sopenharmony_ci	};
468c2ecf20Sopenharmony_ci};
47