Skip to content

Commit 86251cf

Browse files
tombamchehab
authored andcommitted
media: dt-bindings: i2c: Add I2C Address Translator (ATR)
Add bindings for I2C Address Translator. Only one property is added, 'i2c-alias-pool', which can be used in the bindings for the device that supports ATR. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Acked-by: Wolfram Sang <wsa@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
1 parent 26ce705 commit 86251cf

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/i2c/i2c-atr.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Common i2c address translator properties
8+
9+
maintainers:
10+
- Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11+
12+
description:
13+
An I2C Address Translator (ATR) is a device with an I2C slave parent
14+
("upstream") port and N I2C master child ("downstream") ports, and
15+
forwards transactions from upstream to the appropriate downstream port
16+
with a modified slave address. The address used on the parent bus is
17+
called the "alias" and is (potentially) different from the physical
18+
slave address of the child bus. Address translation is done by the
19+
hardware.
20+
21+
properties:
22+
i2c-alias-pool:
23+
$ref: /schemas/types.yaml#/definitions/uint32-array
24+
description:
25+
I2C alias pool is a pool of I2C addresses on the main I2C bus that can be
26+
used to access the remote peripherals on the serializer's I2C bus. The
27+
addresses must be available, not used by any other peripheral. Each
28+
remote peripheral is assigned an alias from the pool, and transactions to
29+
that address will be forwarded to the remote peripheral, with the address
30+
translated to the remote peripheral's real address. This property is not
31+
needed if there are no I2C addressable remote peripherals.
32+
33+
additionalProperties: true
34+
...

0 commit comments

Comments
 (0)