| * 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>; |
| }; |