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