62 lines
2.4 KiB
YAML
62 lines
2.4 KiB
YAML
# 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.
|