: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 * - ``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.