| * Microchip PIC32 Pin Controller | |
| Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and | |
| ../interrupt-controller/interrupts.txt for generic information regarding | |
| pin controller, GPIO, and interrupt bindings. | |
| PIC32 'pin configuration node' is a node of a group of pins which can be | |
| used for a specific device or function. This node represents configuraions of | |
| pins, optional function, and optional mux related configuration. | |
| Required properties for pin controller node: | |
| - compatible: "microchip,pic32mada-pinctrl" | |
| - reg: Address range of the pinctrl registers. | |
| - clocks: Clock specifier (see clock bindings for details) | |
| Required properties for pin configuration sub-nodes: | |
| - pins: List of pins to which the configuration applies. | |
| Optional properties for pin configuration sub-nodes: | |
| ---------------------------------------------------- | |
| - function: Mux function for the specified pins. | |
| - bias-pull-up: Enable weak pull-up. | |
| - bias-pull-down: Enable weak pull-down. | |
| - input-enable: Set the pin as an input. | |
| - output-low: Set the pin as an output level low. | |
| - output-high: Set the pin as an output level high. | |
| - microchip,digital: Enable digital I/O. | |
| - microchip,analog: Enable analog I/O. | |
| Example: | |
| pic32_pinctrl: pinctrl@1f801400{ | |
| #address-cells = <1>; | |
| #size-cells = <1>; | |
| compatible = "microchip,pic32mzda-pinctrl"; | |
| reg = <0x1f801400 0x400>; | |
| clocks = <&rootclk PB1CLK>; | |
| pinctrl_uart2: pinctrl_uart2 { | |
| uart2-tx { | |
| pins = "G9"; | |
| function = "U2TX"; | |
| microchip,digital; | |
| output-low; | |
| }; | |
| uart2-rx { | |
| pins = "B0"; | |
| function = "U2RX"; | |
| microchip,digital; | |
| input-enable; | |
| }; | |
| }; | |
| }; | |
| uart2: serial@1f822200 { | |
| compatible = "microchip,pic32mzda-uart"; | |
| reg = <0x1f822200 0x50>; | |
| pinctrl-names = "default"; | |
| pinctrl-0 = <&pinctrl_uart2>; | |
| }; |