:orphan:
.. raw:: html
.. dtcompatible:: cypress,psoc6-pinctrl
.. _dtbinding_cypress_psoc6_pinctrl:
cypress,psoc6-pinctrl
#####################
Vendor: :ref:`Cypress Semiconductor Corporation `
Description
***********
.. code-block:: none
Cypress PSoC-6 Pinctrl container node
The Cypress PSoC-6 pins implements following pin configuration option:
* bias-pull-up
* bias-pull-down
* drive-open-drain
* drive-open-source
* drive-push-pull (strong)
* input-enable (input-buffer)
These options define devicetree flags that are converted to SoC flags at
CY_PSOC6_PIN_FLAGS().
Properties
**********
Top level properties
====================
These property descriptions apply to "cypress,psoc6-pinctrl"
nodes themselves. This page also describes child node
properties in the following sections.
.. tabs::
.. group-tab:: Node specific properties
Properties not inherited from the base binding file.
(None)
.. 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 "cypress,psoc6-pinctrl" compatible.
.. list-table::
:widths: 1 1 4
:header-rows: 1
* - Name
- Type
- Details
* - ``#address-cells``
- ``int``
- .. code-block:: none
number of address cells in reg property
This property is **required**.
Constant value: ``1``
* - ``#size-cells``
- ``int``
- .. code-block:: none
number of size cells in reg property
This property is **required**.
Constant value: ``1``
* - ``status``
- ``string``
- .. code-block:: none
indicates the operational status of a device
Legal values: ``'ok'``, ``'okay'``, ``'disabled'``, ``'reserved'``, ``'fail'``, ``'fail-sss'``
See :ref:`zephyr:dt-important-props` for more information.
* - ``compatible``
- ``string-array``
- .. code-block:: none
compatible strings
This property is **required**.
See :ref:`zephyr:dt-important-props` for more information.
* - ``reg``
- ``array``
- .. code-block:: none
register space
See :ref:`zephyr: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:`zephyr: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:`zephyr: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
* - ``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
Child node properties
=====================
.. list-table::
:widths: 1 1 4
:header-rows: 1
* - Name
- Type
- Details
* - ``cypress,pins``
- ``phandle-array``
-
* - ``bias-disable``
- ``boolean``
- .. code-block:: none
disable any pin bias
* - ``bias-high-impedance``
- ``boolean``
- .. code-block:: none
high impedance mode ("third-state", "floating")
* - ``bias-bus-hold``
- ``boolean``
- .. code-block:: none
latch weakly
* - ``bias-pull-up``
- ``boolean``
- .. code-block:: none
enable pull-up resistor
* - ``bias-pull-down``
- ``boolean``
- .. code-block:: none
enable pull-down resistor
* - ``bias-pull-pin-default``
- ``boolean``
- .. code-block:: none
use pin's default pull state
* - ``drive-push-pull``
- ``boolean``
- .. code-block:: none
drive actively high and low
* - ``drive-open-drain``
- ``boolean``
- .. code-block:: none
drive with open drain (hardware AND)
* - ``drive-open-source``
- ``boolean``
- .. code-block:: none
drive with open source (hardware OR)
* - ``drive-strength``
- ``int``
- .. code-block:: none
maximum sink or source current in mA
* - ``drive-strength-microamp``
- ``int``
- .. code-block:: none
maximum sink or source current in μA
* - ``input-enable``
- ``boolean``
- .. code-block:: none
enable input on pin (no effect on output, such as enabling an input
buffer)
* - ``input-disable``
- ``boolean``
- .. code-block:: none
disable input on pin (no effect on output, such as disabling an input
buffer)
* - ``input-schmitt-enable``
- ``boolean``
- .. code-block:: none
enable schmitt-trigger mode
* - ``input-schmitt-disable``
- ``boolean``
- .. code-block:: none
disable schmitt-trigger mode
* - ``input-debounce``
- ``int``
- .. code-block:: none
Takes the debounce time in μsec, as argument or 0 to disable debouncing
* - ``power-source``
- ``int``
- .. code-block:: none
select between different power supplies
* - ``low-power-enable``
- ``boolean``
- .. code-block:: none
enable low power mode
* - ``low-power-disable``
- ``boolean``
- .. code-block:: none
disable low power mode
* - ``output-disable``
- ``boolean``
- .. code-block:: none
disable output on a pin (such as disable an output buffer)
* - ``output-enable``
- ``boolean``
- .. code-block:: none
enable output on a pin without actively driving it (such as enabling
an output buffer)
* - ``output-low``
- ``boolean``
- .. code-block:: none
set the pin to output mode with low level
* - ``output-high``
- ``boolean``
- .. code-block:: none
set the pin to output mode with high level
* - ``sleep-hardware-state``
- ``boolean``
- .. code-block:: none
indicate this is sleep related state which will be programmed into
the registers for the sleep state
* - ``slew-rate``
- ``int``
- .. code-block:: none
set the slew rate
* - ``skew-delay``
- ``int``
- .. code-block:: none
This affects the expected clock skew on input pins and the delay
before latching a value to an output pin. Typically indicates how
many double-inverters are used to delay the signal.