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