:orphan: .. _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:`dt-important-props` for more information. * - ``interrupts`` - ``array`` - .. code-block:: none interrupts for device This property is **required**. See :ref:`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:`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:`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-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