162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/i2c/i2c-atr.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Common i2c address translator properties
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  An I2C Address Translator (ATR) is a device with an I2C slave parent
1462306a36Sopenharmony_ci  ("upstream") port and N I2C master child ("downstream") ports, and
1562306a36Sopenharmony_ci  forwards transactions from upstream to the appropriate downstream port
1662306a36Sopenharmony_ci  with a modified slave address. The address used on the parent bus is
1762306a36Sopenharmony_ci  called the "alias" and is (potentially) different from the physical
1862306a36Sopenharmony_ci  slave address of the child bus. Address translation is done by the
1962306a36Sopenharmony_ci  hardware.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciproperties:
2262306a36Sopenharmony_ci  i2c-alias-pool:
2362306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
2462306a36Sopenharmony_ci    description:
2562306a36Sopenharmony_ci      I2C alias pool is a pool of I2C addresses on the main I2C bus that can be
2662306a36Sopenharmony_ci      used to access the remote peripherals on the serializer's I2C bus. The
2762306a36Sopenharmony_ci      addresses must be available, not used by any other peripheral. Each
2862306a36Sopenharmony_ci      remote peripheral is assigned an alias from the pool, and transactions to
2962306a36Sopenharmony_ci      that address will be forwarded to the remote peripheral, with the address
3062306a36Sopenharmony_ci      translated to the remote peripheral's real address. This property is not
3162306a36Sopenharmony_ci      needed if there are no I2C addressable remote peripherals.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciadditionalProperties: true
3462306a36Sopenharmony_ci...
35