: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 * - ``clock-frequency`` - ``int`` - .. code-block:: none Initial clock frequency in Hz * - ``pinctrl-0`` - ``phandles`` - .. code-block:: none Pin configuration/s for the first state. Content is specific to the selected pin controller driver implementation. * - ``pinctrl-1`` - ``phandles`` - .. code-block:: none Pin configuration/s for the second state. See pinctrl-0. * - ``pinctrl-2`` - ``phandles`` - .. code-block:: none Pin configuration/s for the third state. See pinctrl-0. * - ``pinctrl-3`` - ``phandles`` - .. code-block:: none Pin configuration/s for the fourth state. See pinctrl-0. * - ``pinctrl-4`` - ``phandles`` - .. code-block:: none Pin configuration/s for the fifth state. See pinctrl-0. * - ``pinctrl-names`` - ``string-array`` - .. code-block:: none Names for the provided states. The number of names needs to match the number of states. .. group-tab:: Deprecated node specific properties Deprecated properties not inherited from the base binding file. .. list-table:: :widths: 1 1 4 :header-rows: 1 * - Name - Type - Details * - ``sda-pin`` - ``int`` - .. code-block:: none IMPORTANT: This option will only be used if the new pin control driver is not enabled. 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 */ * - ``scl-pin`` - ``int`` - .. code-block:: none IMPORTANT: This option will only be used if the new pin control driver is not enabled. The SCL pin to use. The pin numbering scheme is the same as the sda-pin property's. .. 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**. * - ``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 * - ``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 * - ``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.