The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/pinctrl/microchip,pic32-pinctrl.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * Microchip PIC32 Pin Controller
    2 
    3 Please refer to pinctrl-bindings.txt, ../gpio/gpio.txt, and
    4 ../interrupt-controller/interrupts.txt for generic information regarding
    5 pin controller, GPIO, and interrupt bindings.
    6 
    7 PIC32 'pin configuration node' is a node of a group of pins which can be
    8 used for a specific device or function. This node represents configurations of
    9 pins, optional function, and optional mux related configuration.
   10 
   11 Required properties for pin controller node:
   12  - compatible: "microchip,pic32mada-pinctrl"
   13  - reg: Address range of the pinctrl registers.
   14  - clocks: Clock specifier (see clock bindings for details)
   15 
   16 Required properties for pin configuration sub-nodes:
   17  - pins: List of pins to which the configuration applies.
   18 
   19 Optional properties for pin configuration sub-nodes:
   20 ----------------------------------------------------
   21  - function: Mux function for the specified pins.
   22  - bias-pull-up: Enable weak pull-up.
   23  - bias-pull-down: Enable weak pull-down.
   24  - input-enable: Set the pin as an input.
   25  - output-low: Set the pin as an output level low.
   26  - output-high: Set the pin as an output level high.
   27  - microchip,digital: Enable digital I/O.
   28  - microchip,analog: Enable analog I/O.
   29 
   30 Example:
   31 
   32 pic32_pinctrl: pinctrl@1f801400{
   33         #address-cells = <1>;
   34         #size-cells = <1>;
   35         compatible = "microchip,pic32mzda-pinctrl";
   36         reg = <0x1f801400 0x400>;
   37         clocks = <&rootclk PB1CLK>;
   38 
   39         pinctrl_uart2: pinctrl_uart2 {
   40                 uart2-tx {
   41                         pins = "G9";
   42                         function = "U2TX";
   43                         microchip,digital;
   44                         output-low;
   45                 };
   46                 uart2-rx {
   47                         pins = "B0";
   48                         function = "U2RX";
   49                         microchip,digital;
   50                         input-enable;
   51                 };
   52         };
   53 };
   54 
   55 uart2: serial@1f822200 {
   56         compatible = "microchip,pic32mzda-uart";
   57         reg = <0x1f822200 0x50>;
   58         pinctrl-names = "default";
   59         pinctrl-0 = <&pinctrl_uart2>;
   60 };

Cache object: d03ba9ba13e622e24893ef9d40431384


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.