| # Copyright (c) 2019 Nordic Semiconductor ASA |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| Nordic nRF family TWIM (TWI master with EasyDMA). |
| |
| This binding can be used for nodes which can represent TWIM |
| peripherals. A single SoC peripheral ID is often associated with |
| multiple I2C peripherals, like a TWIM and a TWIS. You can choose |
| TWIM by setting the node's "compatible" to "nordic,nrf-twim" |
| and "status" to "okay", e.g. using an overlay file like this one: |
| |
| /* This is for TWIM0 -- change to "i2c1" for TWIM1, etc. */ |
| &i2c0 { |
| compatible = "nordic,nrf-twim"; |
| status = "okay"; |
| /* other property settings can go here */ |
| }; |
| |
| This works on any supported SoC, for all TWIM instances. |
| |
| Note: on nRF51 SoCs, use the "nordic,nrf-twi" binding instead. |
| |
| compatible: "nordic,nrf-twim" |
| |
| include: ["nordic,nrf-twi-common.yaml", "memory-region.yaml"] |
| |
| properties: |
| zephyr,concat-buf-size: |
| type: int |
| default: 16 |
| description: | |
| Size of a concatenation buffer that the driver is to use for merging |
| multiple same direction I2C messages that have no RESTART or STOP |
| flag between them (see e.g. the i2c_burst_write() function) into one |
| transfer on the bus. |
| |
| This property must be provided when interacting with devices like |
| the SSD1306 display that cannot tolerate a repeated start and |
| address appearing on the bus between message fragments. For many |
| devices a concatenation buffer is not necessary. |
| |
| zephyr,flash-buf-max-size: |
| type: int |
| default: 16 |
| description: | |
| TWIM peripherals cannot perform write transactions from buffers |
| located in flash. If such buffers are expected to be used with |
| a given instance of the TWIM peripheral, this property must be |
| set to the maximum possible size of those buffers, so that the |
| driver can reserve enough space in RAM to copy there the contents |
| of particular buffers before requesting the actual transfers. |
| |
| If this property is not set to a value adequate for a given |
| application, write transactions may fail for buffers that are |
| located in flash, what in turn may cause certain components, |
| like the DPS310 sensor driver, to not work. |
| |
| It is recommended to use the same value for this property and for |
| the zephyr,concat-buf-size one, as both these buffering mechanisms |
| can utilize the same space in RAM. |