:orphan:

.. raw:: html

    <!--
    FIXME: do not limit page width until content uses another representation
    format other than tables
    -->
    <style>.wy-nav-content { max-width: none; !important }</style>

.. dtcompatible:: arduino-header-r3
.. _dtbinding_arduino_header_r3:

arduino-header-r3
#################

Vendor: :ref:`Generic or vendor-independent <dt_no_vendor>`

Description
***********



.. code-block:: none

   GPIO pins exposed on Arduino Uno (R3) headers.

   The Arduino Uno layout provides four headers, two each along
   opposite edges of the board.

   Proceeding counter-clockwise:
   * An 8-pin Power Supply header.  No pins on this header are exposed
     by this binding.
   * A 6-pin Analog Input header.  This has analog input signals
     labeled from A0 at the top through A5 at the bottom.
   * An 8-pin header (opposite Analog Input).  This has digital input
     signals labeled from D0 at the bottom D7 at the top;
   * A 10-pin header (opposite Power Supply).  This has six additional
     digital input signals labelled from D8 at the bottom through D13
     towards the top, skipping two pins, then finishing with D14 and
     D15 at the top.

   This binding provides a nexus mapping for 20 pins where parent pins 0
   through 5 correspond to A0 through A5, and parent pins 6 through 21
   correspond to D0 through D15, as depicted below:

                                D15  21
                                D14  20
                                AREF -
                                GND  -
       - N/C                    D13  19
       - IOREF                  D12  18
       - RESET                  D11  17
       - 3V3                    D10  16
       - 5V                     D9   15
       - GND                    D8   14
       - GND
       - VIN                    D7   13
                                D6   12
       0 A0                     D5   11
       1 A1                     D4   10
       2 A2                     D3    9
       3 A3                     D2    8
       4 A4                     D1    7
       5 A5                     D0    6

Properties
**********

.. tabs::

   .. group-tab:: Node specific properties

      Properties not inherited from the base binding file.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``gpio-map``
           - ``compound``
           - This property is **required**.

         * - ``gpio-map-mask``
           - ``compound``
           - 

         * - ``gpio-map-pass-thru``
           - ``compound``
           - 

         * - ``#gpio-cells``
           - ``int``
           - .. code-block:: none

                Number of items to expect in a GPIO specifier


             This property is **required**.



   .. group-tab:: Deprecated node specific properties

      Deprecated properties not inherited from the base binding file.

      (None)

   .. group-tab:: Base properties

      Properties inherited from the base binding file, which defines
      common properties that may be set on many nodes. Not all of these
      may apply to the "arduino-header-r3" compatible.

      .. list-table::
         :widths: 1 1 4
         :header-rows: 1

         * - Name
           - Type
           - Details

         * - ``status``
           - ``string``
           - .. code-block:: none

                indicates the operational status of a device


             Legal values: ``'ok'``, ``'okay'``, ``'disabled'``, ``'reserved'``, ``'fail'``, ``'fail-sss'``

             See :ref:`dt-important-props` for more information.

         * - ``compatible``
           - ``string-array``
           - .. code-block:: none

                compatible strings


             This property is **required**.

             See :ref:`dt-important-props` for more information.

         * - ``reg``
           - ``array``
           - .. code-block:: none

                register space


             See :ref:`dt-important-props` for more information.

         * - ``reg-names``
           - ``string-array``
           - .. code-block:: none

                name of each register space


         * - ``interrupts``
           - ``array``
           - .. code-block:: none

                interrupts for device


             See :ref:`dt-important-props` for more information.

         * - ``interrupts-extended``
           - ``compound``
           - .. code-block:: none

                extended interrupt specifier for device


         * - ``interrupt-names``
           - ``string-array``
           - .. code-block:: none

                name of each interrupt


         * - ``interrupt-parent``
           - ``phandle``
           - .. code-block:: none

                phandle to interrupt controller node


         * - ``label``
           - ``string``
           - .. code-block:: none

                Human readable string describing the device (used as device_get_binding() argument)


             See :ref:`dt-important-props` for more information.

         * - ``clocks``
           - ``phandle-array``
           - .. code-block:: none

                Clock gate information


         * - ``clock-names``
           - ``string-array``
           - .. code-block:: none

                name of each clock


         * - ``#address-cells``
           - ``int``
           - .. code-block:: none

                number of address cells in reg property


         * - ``#size-cells``
           - ``int``
           - .. code-block:: none

                number of size cells in reg property


         * - ``dmas``
           - ``phandle-array``
           - .. code-block:: none

                DMA channels specifiers


         * - ``dma-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of DMA channel specifiers


         * - ``io-channels``
           - ``phandle-array``
           - .. code-block:: none

                IO channels specifiers


         * - ``io-channel-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of IO channel specifiers


         * - ``mboxes``
           - ``phandle-array``
           - .. code-block:: none

                mailbox / IPM channels specifiers


         * - ``mbox-names``
           - ``string-array``
           - .. code-block:: none

                Provided names of mailbox / IPM channel specifiers


         * - ``wakeup-source``
           - ``boolean``
           - .. code-block:: none

                Property to identify that a device can be used as wake up source.

                When this property is provided a specific flag is set into the
                device that tells the system that the device is capable of
                wake up the system.

                Wake up capable devices are disabled (interruptions will not wake up
                the system) by default but they can be enabled at runtime if necessary.



         * - ``power-domain``
           - ``phandle``
           - .. code-block:: none


                Power domain the device belongs to.

                The device will be notified when the power domain it belongs to is either
                suspended or resumed.