:orphan:
.. raw:: html
.. dtcompatible:: nordic,nrf-twis
.. _dtbinding_nordic_nrf_twis:
nordic,nrf-twis
###############
Vendor: :ref:`Nordic Semiconductor `
Description
***********
These nodes are "i2c" bus nodes.
.. code-block:: none
Nordic nRF family TWIS (TWI slave with EasyDMA).
Note: for Zephyr users, the I2C slave API is not available for
these devices. See this issue for more details and a HAL-based
workaround:
https://github.com/zephyrproject-rtos/zephyr/issues/21445
This binding can be used for nodes which can represent TWIS
peripherals. A single SoC peripheral ID is often associated with
multiple I2C peripherals, like a TWIM and a TWIS. You can choose
TWIS by setting the node's "compatible" to "nordic,nrf-twis"
and its "status" to "okay", e.g. using an overlay file like this:
/* This is for TWIS0 -- change to "i2c1" for TWIS1, etc. */
&i2c0 {
compatible = "nordic,nrf-twis";
status = "okay";
/* other property settings can go here */
};
This works on any supported SoC, for all TWIS instances.
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
* - ``address-0``
- ``int``
- .. code-block:: none
TWI slave address 0
* - ``address-1``
- ``int``
- .. code-block:: none
TWI slave address 1
* - ``sda-pin``
- ``int``
- .. code-block:: none
The SDA pin to use.
For pins P0.0 through P0.31, use the pin number. For example,
to use P0.16 for SDA, set:
sda-pin = <16>;
For pins P1.0 through P1.31, add 32 to the pin number. For
example, to use P1.2 for SDA, set:
sda-pin = <34>; /* 32 + 2 */
This property is **required**.
* - ``scl-pin``
- ``int``
- .. code-block:: none
The SCL pin to use. The pin numbering scheme is the same as
the sda-pin property's.
This property is **required**.
* - ``clock-frequency``
- ``int``
- .. code-block:: none
Initial clock frequency in Hz
.. 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 "nordic,nrf-twis" compatible.
.. list-table::
:widths: 1 1 4
:header-rows: 1
* - Name
- Type
- Details
* - ``reg``
- ``array``
- .. code-block:: none
register space
This property is **required**.
See :ref:`zephyr:dt-important-props` for more information.
* - ``interrupts``
- ``array``
- .. code-block:: none
interrupts for device
This property is **required**.
See :ref:`zephyr:dt-important-props` for more information.
* - ``#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**.
* - ``label``
- ``string``
- .. code-block:: none
Human readable string describing the device (used as device_get_binding() argument)
This property is **required**.
See :ref:`zephyr:dt-important-props` for more information.
* - ``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-names``
- ``string-array``
- .. code-block:: none
name of each register space
* - ``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
* - ``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